BitVM 2:比特币上的免许可验证

时间:2024-09-24 编辑: 浏览:(940)

作者:Robin Linus,BTC Study

初版 BitVM 的设计局限在两个参与者。后续的工作结合了并行以及冗余的实例,以引入基于 1-of-n 诚实假设的多方参与。这些合约的主要局限在于所有验证者都必须在编译时定义好。而且,启动开销会随着验证数量的增加而增加。这暗示着,想要打破一个合约,永远只需贿赂有限数量的参与者。

BitVM2 是一个大胆的变种:任何人都可以作为验证者。这依然需要带有 1-of-n 诚实参与者假设的一次性装置,但在运行时,任何人都可以挑战一个无效的断言,不需要具备初始化团体成员的身份(不需要是那 n 个参与者之一)。这克服了以往方案的局限性,并优化了它们的信任假设。而且,它还简化了整体设计,将审判的最长轮次降低到两轮。

桥接合约(bridge)依然额外要求一些预先定义的操作员集合,并且m个操作员中至少要有一个是诚实的。不过,即使在所有操作员都不诚实的情况下,他们也无法偷走你的钱,最多只能烧掉这些钱。

引言

对于一个给定的程序 f,我们希望验证一些断言:输入一些x,会输出y,也即f(x)=y。举个例子,f可以是一个SNARK 验证器,比如 Groth16 证明系统的验证器。那么 x就是一个证据,而y 就是一些 SNARK 证明了有效性的输出状态(output state)。

在 SNARK 验证器这样的例子中,程度太大,无法用一段比特币脚本来表示它。实现一个 Groth16 验证器可能需要体积高达 20 MB 的脚本。但是,可允许的脚本体积的上限是比特币区块体积的上限:4 MB。而就算压缩到这个体积,可能依然过于庞大了。

幼稚的解决方案

“Lamport 签名” 提供了一种办法,将一个程序f(x)=y分割成多个步骤。比如步骤:n=42。

这样一来,f的计算就可以分切成有顺序的 43 笔交易, 在多个区块中执行。每一笔交易都以上一笔交易的输出状态作为自己的输入状态。但凡证明者在任何一个状态z_i 上含糊其辞,每个人都可以使用相冲突的 Lamport 签名作为一个欺诈证据。

这确实是一种挑战证明者的免信任办法。但是,这种解决方案的重大局限在于其密集的链上足迹,因为它依然要求证明者执行整个计算。此外,同样因为 Lamport 签名,它引入了转换状态的开销。

平衡式解决方案

我们可以将一些重度工作从证明者一方转移给验证者的欺诈证据,从而显著减少链上足迹。现在,证明者只需一次性承诺x和y,以及所有中间结果z1,z2……,z42。

任何验证者都可以证否任何错误的断言。在启动阶段,我们定义一棵 Taptree,包含了 43 个脚本,以证否f1,f2,f3,f43 任何一段计算。只要一个断言

不能成立,任何人都可以从对应的脚本中花费。这就将最差情况下的计算量降低到了一步f_i,由验证者执行。这一步可能依然需要可观体积的 Script 实现。理论上,只要它能塞进一个区块,就没有太大问题,或者更好一些,可以实现 400 KB 的标准化体积。在实践中,对一些具体的 f 实现,我们会尝试在证明者的承诺体积和验证者的脚本体积之间找出一个最优的平衡。

本质上,这允许任何人毁灭证明者的输出,只要证明者作出了任何不正确的断言。不然的话,如果没有人能证否任何一段计算,那么,到脚本超时的时候,诚实的证明者就能花费这个输出。最多只需要两轮。

这个机制可以作为桥接合约免许可验证的基本构筑模块。

乐观解决方案

下列协议提升了上述设计中的皆大欢喜路径(有希望是最常用路径),代价是在最差情况下增加了两轮交互:

1.证明者承诺输出状态y

2.如果不正确,任何人可以开启一轮挑战

3.证明者承诺中间结果z1,z2,……z42

4.如果不正确,任何人都可以证否断言f _i

免许可的桥接合约设计

局限性:手续费

在上述设计中,证明者可以偷取一些手续费。在这种情况下,资金储备依然是安全的,只不过验证者会失去一些担保资金。

攻击场景如下:

证明者是恶意的

证明使用自己的 KickOff_Tx(不具备有效的 PegOut_Tx)

证明者等待一个挑战者执行 Challenge_TX,为执行挑战的证明者支付

证明者不执行挑战,直接停止响应

下面这幅修正后的图解决了这个问题。需要多两笔 n-of-n 的预签名交易。

局限性:诚实操作员

这个设计要求至少以为操作员是诚实的,否则资金最终会变成不可花费的。在现实中,活性故障可以搭配绑票攻击来盗窃资金(例如:除非你给我支付 50% 的赎金,否则你的资金就别想解锁。)

最新 更多 >
  • 1 NEIL是什么币种,NEIL币怎么样?

    NEIL是什么币种NEIL是一种虚拟货币,它是基于区块链技术开发的一种加密货币。NEIL币的全称为New Era Investment Leads,它于2019年首次推出,并在区块链社区中逐渐赢得了一定的声誉和用户。NEIL币的特点NEIL币具有以下几个特点:1. 去中心化:NEIL币是基于区块链技术构建的,没有中心化的机构或个人掌控,所有的交易都会被记录在区块链上,并通过共识算法来确认。2. 匿

  • 2 MATIC币前景怎么样?2024年MATIC币投资前景点评

    MATIC币前景如何?2024年MATIC币的前景仍然十分乐观。作为一个在加密货币市场上表现出色的项目,MATIC币在过去的几年里已经有了显著的发展。这种发展势头预计将在未来继续,为投资者带来更多机会和回报。MATIC币技术优势MATIC币是一个基于以太坊的二层扩展解决方案,旨在提高以太坊网络的扩展性和速度。它采用了一种称为Plasma的技术,通过将交易转移到侧链上来减轻以太坊主链的负担,从而实现

  • 3 OKB币发行价多少一个?OKB币发行总量、时间介绍

    OKB币发行价OKB币是由OKEx推出的数字资产,作为OKEx交易平台的原生代币。OKB币发行价是根据市场需求和供应情况来决定的。由于市场的波动性和投资者的交易行为,OKB币的发行价会不断变化。初始阶段,OKB币的发行价通常会根据交易所的定价策略来决定。这可能是由交易所根据市场需求和市场流动性来评估决定的。一般来说,OKB币的发行价会相对较低,以促使更多的投资者参与购买。随着时间的推移和OKB币的

  • 4 NFT怎么买?非同质化代币NFT买入和交易教程

    什么是NFT?NFT是非同质化代币(Non-Fungible Token)的缩写,是一种基于区块链技术的数字资产。与传统的加密货币不同,NFT代表着独特的、不可替代的资产,如艺术品、音乐、视频、游戏道具等。NFT通过区块链技术确保了其所有权和身份的可追溯性,使得其具备了良好的交易性和投资价值。购买NFT的步骤下面是一些简单的步骤,以帮助您开始购买和交易NFT。1. 创建数字钱包要购买和交易NFT,

  • 5 MCM是什么币种,MCM币怎么样?

    MCM是什么币种?MCM指的是Mooncoin。Mooncoin是一种基于区块链技术的数字加密货币,于2013年发布。MCM币是Mooncoin的本地货币,用于在Mooncoin网络上进行交易和支付。与其他加密货币类似,MCM币的交易记录被记录在区块链上,以确保交易的透明性和安全性。MCM币有什么特点?1. 基于社区:MCM币旨在通过建立活跃的社区来推动其发展。社区成员积极参与MCM币的推广和使用

  • 6 MITH秘银币值得投资吗,它前景如何?

    MITH秘银币值得投资吗?前景如何?随着区块链领域的快速发展,数字货币成为了许多投资者关注的焦点。MITH秘银币作为一种新兴的加密货币,备受市场关注。但是,对于投资者来说,是否值得投资MITH秘银币,需要进行深入的分析和了解。本文将评估MITH秘银币的投资前景。1. MITH秘银币的基本概况MITH秘银币是由MITH团队发行的一种加密货币。它基于以太坊区块链技术,旨在为数字内容的分享和消费提供一种

  • 7 MATIC币价格一直跌怎么办,还值得投资吗?

    MATIC币价格一直跌怎么办,还值得投资吗?近期,MATIC币的价格一直处于下跌趋势,这让很多投资者感到困惑和担忧。在这种情况下,我们需要深入了解市场背景和项目本身,来决定是否继续投资。市场背景分析MATIC币是Polygon网络的原生代币,Polygon是以太坊的一个扩展解决方案,旨在提高以太坊的扩展性和可用性。目前,以太坊网络存在拥堵问题,需要更高的吞吐量和更低的交易费用。Polygon通过提

  • 8 Solana的API支持情况如何?

    Solana的API支持情况如何?Solana是一个面向区块链应用开发者的高性能区块链平台,拥有强大的API支持。Solana的API提供了丰富的功能和工具,为开发者提供了快速开发和部署区块链应用程序的能力。Solana的核心APISolana的核心API是Solana RPC API。通过Solana RPC API,开发者可以与Solana区块链网络进行交互,执行各种操作,包括账户管理、交易提

  • 9 KLKS是什么币种,KLKS币怎么样?

    什么是KLKS币?KLKS币是一种加密货币,它的全称是 \"Kompas Token\"。KLKS币通过区块链技术实现了匿名转账和安全交易。它是以区块链为基础的新一代数字货币,旨在成为一种全球通用的数字资产。KLKS币在全球范围内都可以交易和使用。KLKS币的特点1. 安全性: KLKS币使用区块链技术,通过去中心化的方式进行交易,确保交易的安全性和匿名性。2. 可追溯性: 由于每一笔交易都会被记

  • 10 MLD是什么币种,MLD币怎么样?

    MLD是什么币种?MLD是一个数字加密货币,全称为MLDcoin。它是经过区块链技术支持的一种虚拟货币,旨在为用户提供安全、便捷和高效的交易方式。MLD是由一家名为MLD Foundation的公司发行和管理的,其总部位于新加坡。MLD币的特点MLD币拥有以下几个显著特点: 安全性:MLD币使用了最先进的区块链技术,所有交易都会被加密和验证,确保用户的资金安全。 匿名性:使用MLD币进行交易时