
并通过
新德里(印度)12月25日消息:10月9日,来自ZeroSync的开发者Robin Linus发布了BitVM白皮书,引起了社区的极大关注。BitVM引入了一种新的计算范式,能够表达图灵完备的比特币合约,而无需修改网络的共识规则。
去中心化智能合约:限制与目标
比特币的脚本是一种基于堆栈的语言,提供了基本的控制结构,如条件检查,用于定义交易的验证逻辑。它需要有效的数字签名,通过一个简单的条件验证过程来使用比特币。也就是说,脚本被设计成非图灵完备的。虽然它不支持复杂的流控制功能,如循环,但这种设计确保了语言的简单性和安全性。这些限制使得脚本很难执行复杂的计算,包括那些涉及智能合约的计算。
虽然一些为比特币设计的第二层解决方案可以通过锁定资产来实现基本的智能合约功能,但它们本质上依赖于多签名地址和跨链资产映射,这需要一定程度的集中信任。这损害了比特币对去中心化的承诺。在引入BitVM之前,比特币社区一直在探索去中心化、信任最小化、能够进行图灵完全计算的方法。
BitVM:在比特币上计算任何东西
其创新的核心是,BitVM利用比特币现有的脚本系统实现逻辑门(包括与门、或门、非门和异或门,实现与、或、非、异或等操作),构建任意复杂的布尔电路。这些电路用于对二进制输入执行逻辑运算并给出二进制输出;布尔计算可以使用逻辑门来执行与、或、非和异或等操作。具体来说,BitVM使用哈希时间锁定合约(HTLC)和Taproot(用于优化2021年11月激活的脚本的软分叉)来代表基本逻辑门,例如and和OR门。然后,BitVM结合这些基本逻辑门来构建任何复杂的电路,本质上是在比特币区块链上模拟可编程计算机。
最后,在交易各方之间发生争议的情况下,可以采用一种优雅的挑战-响应协议,类似于比特币的欺诈证明,用于验证。证明者声称给定函数对某些特定输入求值为某些特定输出。如果该声明是错误的,那么验证者可以执行欺诈证明并惩罚证明者。使用这种机制,任何可计算的函数都可以在比特币上进行验证。
BitVM的设计
位值承诺
比特币脚本Bit Value Commitment采用if-else语句来实现承诺方案。这个加密原语确保发送方可以在发送消息之前确认消息的内容,并且一旦公开披露,内容就无法更改。这个承诺方案包含两个哈希值,hash0和hash1。返回值是0还是1是通过将输入的哈希值与这两个哈希值进行比较来确定的。
图1:1位承诺的具体实现
来源:https://bitvm.org/bitvm.pdf
逻辑门承诺
在计算理论中,任何可计算的函数都可以表示为布尔电路。特别是,NAND门是一种通用逻辑门,可以用来构建所有其他复杂的逻辑门。BitVM包含代表两个输入的两个位值承诺和代表输出的第三个位值承诺,以实现NAND门。
BitVM巧妙地通过比特币脚本表达NAND门。这使得它可以构建任意复杂的布尔逻辑电路,通过脚本有效地模拟可编程计算机。
图2:使用位值承诺的NAND门的实现
来源:https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754
图3:NAND操作的逻辑门提交
来源:https://bitvm.org/bitvm.pdf
该脚本计算两个输入的NAND值,以确保它与提交的输出位匹配。
二进制电路承诺
BitVM可以通过组合门承诺来表达任何电路。执行的每一步都是在tappleaf中承诺的。它们都被组合到同一个Taproot地址中,这样证明者就可以执行电路中的任何门。执行门需要证明者打开相应的门承诺并为其输入和输出位设置值。例如,在图4中,A、B、C和D是预定义的位值承诺,每个代表一个位。然后进行涉及8个NAND门的逻辑运算。例如,如果A NAND B产生E,并且E用作下一个NAND门的输入,则整个电路的最终输出将为TRUE。这种布尔电路的设计连接了位值承诺的NAND门,实现了复杂的逻辑运算,为比特币区块链上的可验证计算提供了紧凑的表示。
图4:一个具有8个不同NAND门的电路
来源:https://bitvm.org/bitvm.pdf
挑战与应对
在BitVM中,只提交一个电路是不够的,需要一个挑战-响应机制来证明计算的正确性。为了实现这一点,证明者和验证者应该在设置过程中预先签署一系列交易。交易按照“挑战-响应-挑战-响应”的顺序链接,创建了多轮挑战-响应交互。如果其中一方停止参与,那么在超时后,另一方赢得挑战并可以获得两笔存款。只有在发生欺诈的情况下才需要这种机制。只要双方合作,他们可以共同解决任何2-of-2签名的合同。
让我们看看这个机制在一个假设的情况下是如何工作的。Paul(证明者)和Vicky(验证者)预先签署了一系列交易。然后,Vicky可以通过从她的Tapscript叶子中的一个散列锁中选择一个挑战(hash7)来发起一个挑战(tx2)。这将为Paul解锁一个特定的Tapscript,并强制他执行它,并打开输入和输出。通过对几轮查询重复此过程,任何不一致的声明都可以迅速被推翻。如果证明者停止协作,验证者可以解锁他持有的哈希预映像,以迫使证明者在链上响应。每一轮查询都可能验证或否定一个特定的门。通过二进制搜索(一种用于在排序数组中定位特定元素的算法),验证者可以在几轮质询和响应之后快速识别证明者的错误。一旦证明者的两个承诺发生冲突,验证者立即赢得挑战并获得押金。
图5:执行多轮询问-响应的预先签名的事务序列
来源:https://bitvm.org/bitvm.pdf
这种细致的设计使BitVM能够对任何复杂的计算进行链上验证,从而确保协作的效率,并在发生欺诈时实施惩罚。演示了在比特币网络中验证图灵完全交互计算的可能性。
BitVM设计的关键方面
链下计算和链上验证
BitVM将复杂计算的负担从区块链上卸下,保留比特币区块链用于验证结果的唯一目的。这种方法避免了直接在区块链上运行复杂的合约,从而减轻了区块链的膨胀。
逻辑门用哈希锁和比特币脚本表示
BitVM利用比特币支持的哈希锁和脚本操作码来表示基本的逻辑门,如and和NOT门。将这些逻辑门连接起来,就可以构建任意复杂的电路,从而实现图灵完全计算。
证明者和验证者的博弈机制
BitVM的验证机制类似于乐观的Rollup,涉及计算各方之间的交互挑战和响应。最终,正确的计算结果在链上得到确认。如果证明者作弊,验证者可以在比特币区块链上执行处罚。因此,BitVM和Optimistic Rollup采用了类似的链上验证交互机制,唯一的区别是BitVM直接使用比特币脚本来实现交互式的挑战-响应过程。
最小链上影响
BitVM的计算过程对比特币区块链的影响很小,当出现争议时,只会在链上留下少量交易。这保留了比特币的效率和可扩展性。
不需要软叉
由于BitVM仅利用现有的比特币脚本功能,因此不需要通过软分叉对比特币协议进行任何修改。这使得BitVM更容易集成到比特币主网中。
结论
BitVM最大的创新在于它能够在不修改比特币核心协议的情况下实现图灵完全验证;它通过创造性地使用脚本,特别是由Taproot优化的脚本来实现这一点。这种巧妙的设计可以与比特币主网无缝集成,而不会引入新的兼容性问题或使比特币不那么去中心化。
BitVM的创新解决方案有可能将智能合约和去中心化应用引入比特币生态系统。例如,它可以用来建立最小信任的跨链桥梁,连接不同的区块链资产,增强比特币的互操作性。此外,BitVM还可以帮助构建更高效的zkRollup扩展层,使比特币更具可扩展性。简而言之,BitVM展示了通过创新利用现有功能将比特币生态系统带入新时代的巨大可能性。
参考文献。
https://bitvm.org/bitvm.pdf
https://github.com/supertestnet/tapleaf-circuits
https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754
CoinEx成立于2017年,是一家致力于使交易更容易的全球加密货币交易所。该平台为200多个国家和地区的500多万用户提供一系列服务,包括现货和保证金交易、期货、掉期、自动做市商(AMM)和财务管理服务。CoinEx成立的初衷是创造一个平等和尊重的加密货币环境,致力于通过提供易于使用的产品和服务来消除传统的金融障碍,使每个人都可以使用加密货币交易。
(免责声明:上述新闻稿由PNN提供。ANI将不以任何方式对其内容负责。
有话要说...