验证通常在链下进行,乐观地假设证明者是诚实的。在发生争议的情况下,过程转移到链上,并启动一轮挑战-响应。这种机制确保了在大多数情况下,计算和验证可以高效且低成本地进行,而只有在出现分歧时才需要利用区块链的不可篡改性和透明度进行最终裁决。
挑战-响应机制在BitVM中的动态涉及一个系统,参与者(如Vicky和Paul)通过区块链上程序的执行进行验证过程。当出现争议时,Vicky挑战Paul证明他的程序执行的正确性。
Vicky从二进制电路中选择一个逻辑门,Paul通过揭示输入和输出来打开这个门。直到确认了含糊其辞的情况或Vicky耗尽了进一步挑战的可能性,这个过程就会重复进行。含糊其辞意味着Paul声称某个输入X在一个逻辑门被打开时是0 ,但在另一个逻辑门被打开时是1 。
Paul需要通过使用预签名的交易向响应地址存入资金来确保他声称的证据。这些交易创建了一个链,允许基于正在进行的互动,资金在挑战和响应地址之间摆动。
响应地址中的资金可以根据挑战的结果沿着多条路径流动:
如果Vicky停止挑战,表明接受了Paul的证明,Paul最终在一定时间后重新获得资金。
如果Vicky证明Paul在执行中不一致(发生了含糊其辞),她可以索取这些资金。
如果Vicky怀疑执行的另一部分有误,她可以发起另一个挑战,将资金移至下一个响应地址。为此,她必须揭示特定tapleaf的一个原像,Paul随后需要使用它来解锁资金,并在有限的时间内证明他的正确性。
这一系统为在区块链上解决争议和验证程序执行提供了一个坚固和透明的构架。通过结合财务激励,它促进了执行和程序结果记录的完整性和精确性。最初,该设计支持两方的挑战-响应机制。然而,正如我们稍后将展示的,BitVM的贡献者已经找到了解决方案,允许众多参与者作为挑战者参与。
为了提高链上验证的效率,验证者可以利用二分法(Bisection),这是一种在预先提交的逻辑门上进行高效搜索的方法,以找到应该被挑战的逻辑门,这种方法相比随机挑战过程有显著的改进。通过将问题空间一分为二,分割法允许验证者快速缩小潜在错误的范围,从而减少了解决争议所需的步骤和时间。这种方法在处理复杂的验证过程时,尤其是在需要精确确定错误位置的情况下,提供了一个更为高效和直接的路径。
以下,我们通过一个简化的例子来说明分割法是如何工作的:
Paul和Vicky正在做数学题,题目是计算(( 1+ 2)+( 3+ 4))+(( 5+ 6)+( 7+ 8))。
正确完成这个计算的过程是(( 1+ 2)+( 3+ 4))+(( 5+ 6)+( 7+ 8))=( 3+ 7)+( 11+ 15)=10+ 26=36 。
而Paul给出的答案是35 ,因为他计算的方式是(( 1+ 2)+( 3+ 4))+(( 5+ 6)+( 7+ 8))=( 2+ 7)+( 11+ 15)=9+ 26=35 。
当Vicky挑战Paul时,她只需要挑战涉及计算的第一部分的计算(即打开逻辑门),因为他们同意第二部分的计算是准确的(( 5+ 6)+( 7+ 8))=26 。
BitVM的第一个实际实现很可能是代表最小信任比特币桥的程序。通过分析桥的实现细节,我们可以更好地理解实现BitVM程序的额外复杂性。以下,我们总结了BoB共同创始人AlexeiZamyatin的提案。
首先,需要创建一种让比特币全节点只用比特币脚本就能操作一个侧链桥程序的方法,包括一个侧链轻客户端。
然后,还需要建立一个联盟/多签名(federation/multi-sig)网络,以便于BTC的转移并运行挑战-响应游戏。联盟必须承诺运行桥程序作为BitVM设置的一部分。
联盟初始设置的复杂性随着成员数量的增加而呈二次方增长,因为联盟的每个成员都必须与其他每个成员互动,因此联盟的规模有一定的上限,研究人员推测N= 100是可行的。
与OPRollup不同,后者对N的大小没有限制,这种方案提供的安全保证较弱。然而,这个提议的工作解决方案很可能会包括联盟成员的轮换,这样在一个较长的时间范围内,N会远大于100 。任何时候,只要这100名成员中有一个是诚实的,存款就会保持安全。假设有恶意行为者,他们可以在链上随时被挑战,如果被证明作弊,他们可以被联盟禁止。
联盟在任何时候都有一个负责管理存款和提款以及验证侧链状态的操作员(Operators)。操作员和监视塔(Watchtowers)都需要提交抵押品,以激励正确行为并阻止虚假挑战。
这种方案不符合卷积最严格定义的另一个原因是,用户不能单方面退出侧链,而必须向基于1/N安全假设运作的联盟请求提款。
3月25日,RobinLinus介绍了BitVMv2。BitVMv2提案的关键变化是,证明者需要一次性提交输出状态和所有中间结果,而不是像v1那样,在挑战-验证过程中逐个打开逻辑门。有了这个改变,BitVM确保对这些承诺的任何挑战都必须由加密证据支持。这种机制过滤掉了无根据的垃圾挑战,因为挑战者必须提供特定的加密证明来争议证明者。
通过允许无限制地参与验证和挑战过程,BitVM2将其安全保证扩展到了多重签名联盟的限制之外,并使BitVM更加接近乐观卷积的安全假设。
然而,桥的搭建仍然需要联盟多重签名来促进,这意味着联盟成员可能会引起活性问题,在最坏的情况下,他们试图向用户勒索赎金以解冻他们的资金。这是一个额外对于乐观卷积来说不存在的安全假设,因为在乐观卷积中,用户可以在不获得任何中介批准的情况下退出到L1。
在基础链上的额外安全假设
正如我们上面讨论的,BitVM能提供的最佳方案是接近乐观卷积的安全假设。除了管理负责保险存款的联盟及其活性问题的复杂性外,BitVM特有的一些额外复杂性包括:
虽然BitVM理论上能够执行复杂的链下程序,但实际上,随着这些链下程序复杂性的增加,执行欺诈证明在比特币上的相关费用迅速增加。过大的程序可能需要多个区块来执行,进一步复杂化了这个过程。
拥有算力多数的矿池可以从BitVM中窃取(类似于闪电网络的问题),因为他们可以合谋审查挑战者的证明,或者恶意行为者可以贿赂他们忽略挑战者。
由于BitVM证明的互动性质,恶意证明者可能会操纵系统并从验证者那里进行窃取。攻击可以按如下的假设构建:
证明者通过启动交易开始验证序列
怀疑证明者行为有效性的验证者启动一个挑战,挑战中包含支付给证明者的回应费用
证明者选择收集费用,同时忽略挑战,不履行他们在验证过程中的部分责任
最后,BitVM目前还是一个概念框架和一个几乎无法执行任何操作的虚拟计算机概念。BitVM的「卷积」距离应用层面还远,乐观估计是我们最早可能在2025年看到一些BitVM程序投入使用。执行BitVM的技术风险也不容低估。
考虑到以太坊扩展解决方案的估值,目前大约占以太坊市值的15-20% 比特币第二层解决方案的潜在市值可能是巨大的。
尽管BitVM还处于初期阶段本质上是一个未落地的虚拟计算机概念但它已经激发了来自各个项目的大量兴趣和声明,这些项目急于利用其潜力。许多与BitVM团队无关的项目都在争相做出宏大的公告,希望在他们看来是比特币的一个有前途的新领域中占据一席之地。然而,更仔细的审查揭示了一个更加清醒的现实:BitVM的GitHub账户只有少数贡献者,而BitVMBuildersTelegram群中真正参与的只有少数几个比特币「L2」项目。
比特币任何可扩展性解决方案必须遵守的一个关键原则是,比特币的核心架构应保持不变(根据可预测性原则)。BitVM秉承这一原则,成为首个在不改变其核心的情况下,在比特币之上提供可编程层的先驱解决方案。
本文撰写于BitVM发展的非常早期阶段,考虑到其快速的发展,这里的信息很快可能会过时。例如,直到最近,在比特币上实现ZK卷积的想法看起来就像空中楼阁一样不切实际,因为所需的基础能力比如比特币验证ZK证明的能力并不存在。然而,最近BitVM研究人员分享了比特币脚本的进展,这些进展可能导致在比特币上实现STARK验证器。
比特币扩容解决方案的实现超越了纯粹的技术挑战;它包含了社区支持、用户体验和时机等因素。虽然当前时刻为这些创新提供了一个独特的机会窗口,但是项目数量的急速通胀以及误导性声明和营销带来的显著风险,可能会破坏更合法项目的前景。
随着生态系统站在这个十字路口,关于比特币扩容解决方案是否能复制以太坊的成功的问题不仅是技术性的,而且深深植根于区块链社区更广泛的动态之中。毕竟,核心以太坊社区已经选择了L2作为以太坊扩容路线图的关键部分,而比特币社区还不能这么说。
以上就是BitVM详解:比特币可编程性的希望的全部内容,望能这篇BitVM详解:比特币可编程性的希望可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。