IOSG Ventures:详解BitVM,比特币可编程性的曙光

2024-04-10 09:57 0 比特币

原文作者:IOSG Ventures

*致谢:感谢 Momir,Xinshu 对文章提出的宝贵修改

IOSG Ventures:详解BitVM,比特币可编程性的曙光

TL;DR

  • 比特币核心的变化通常会遭到抵制,原因包括:a) 相比作为一种货币,人们更偏好将比特币作为价值储存。b) 重视稳定性和可预测性,而不是快速创新。c) 在一个多元化的社区内达成共识很困难。

  • 许多项目声称有方法解决比特币的可扩展性问题,并且无需对比特币链本身进行更改。最近我们目睹了比特币「L2s」的超级通货膨胀。

  • 虽然许多声称仅仅是误导性的营销,但我们也认识到了一种新的计算范式,这种范式可以为比特币带来可编程性——BitVM。

  • BitVM 能够支持的最佳扩展解决方案接近于 OP-Rollup 类型的安全假设(尽管有一些额外的注意事项)。

  • BitVM 及类似倡议的成功取决于技术的可行性、社区的支持,以及与其他「过度营销」项目的区分。

比特币被构建为一个交易区块链,其脚本语言有意限制为无状态(Stateless),以最小化攻击面并确保网络安全。由于缺乏图灵完备性(Turing-completeness),没有可能直接在区块链上引入智能合约,除非通过分叉并升级比特币核心。

传统的比特币社区对变更持抵制态度,原因如下:

叙事上更注重价值储存而非流通货币:比特币社区有意专注于维护网络作为一个点对点支付系统,将安全性和去中心化放在快速发展之上。正如著名的比特币持有者 Michael Saylor 说:「没有人试图用他们在第五大道上一栋大楼的一小部分去买一杯咖啡。」这句话反映了社区对于比特币作为一种价值储存工具而非日常货币的使用偏好。

  • 系统的稳定性胜于创新:对于被视为优秀价值储存的资产来说,可预测性至关重要。例如,即使网络只有 10 次重大升级,而每次升级的成功率为 90% ,一个失败发生的概率大约为 65% !根据正常事故理论:「在复杂系统中,我们应该预期通常可以忽略的小因素偶尔会偶然导致重大事件」,因此比特币社区的目标一直是减少潜在错误的途径。

多元化的社区:许多比特币持有者从不同的角度理解比特币,并因不同的原因珍视它。在一个多元化和去中心化的社区中达成共识本身就充满挑战,这进一步减缓了创新的步伐。要说明比特币社区的多样性,可以观察社区对铭文和 Ordinals 的反应。当比特币社区的一部分人庆祝序数的成功,将其视为比特币的谜恋猫(CryptoKitties)时刻时,另一部分人则认为这是一个应该被修补的漏洞。

1. 比特币扩容方案的快速膨胀

鉴于上述情况,为何突然之间出现了大量新的比特币「L2」解决方案呢?

最近,我们观察到比特币「L2」解决方案的激增(根据 https://l2.watch/,已经有超过 50 个!),然而,社区多年来一直在探索不同的可扩展性方法:

  • 像 Stacks 这样的侧链提供了智能合约能力和广泛的应用范围,尽管它们拥有独立的共识机制,但这些机制很难获得广泛接受。

  • 像 RGB 这样的客户端验证项目利用主网的 UTXO 模型进行链下的更复杂交易,但它们与比特币主网的互动缺乏稳定性。

  • 像闪电网络(Lightning Network)这样的状态通道,与核心比特币开发者密切相关,被视为一种更正统的扩容方法。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

第一代 BTC 扩容解决方案

相较于现有解决方案,最近的扩容方法带来了哪些新颖之处?在我们看来,最令人兴奋的创新来自于在比特币上编码程序(通过 BitVM)和无需信任地质押 BTC(例如 Babylon)。本文将主要关注前者。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

2. BitVM - 概览

要解释什么是 BitVM,我们首先应该介绍赋能并激发了它的 Primitive——比特币 Taproot 升级。

Taproot 是对比特币协议的一次重大升级,于 2021 年 11 月激活。通过 Taproot,脚本的哈希默认需要在链上提交。当执行脚本的某个路径时,只需将该路径上的脚本提交到链上。这样不仅提高了效率(交易的大小不会随脚本的大小增长),也增强了隐私性(只会揭露作为交易的路径,而不是整个脚本)。

认识到 Taproot 升级解锁的巨大机遇,Robin Linus 率先推出了 BitVM,这是比特币生态系统中的一项突破性创新。

BitVM 是一种计算范式,它利用 Taproot 升级在不改变网络共识规则的情况下,促进在比特币上实现图灵完备合约。它允许对计算进行验证(而不是执行),类似于乐观卷积(Optimistic Rollups)。

BitVM 通过将程序提交到 Taproot 地址,同时通过启用复杂的链下计算(仅在出现争议时需要链上执行)来最小化链上足迹。

这个过程涉及到在 Taproot 地址中提交程序的二进制电路,并使用挑战 - 响应机制进行验证。概括地说,BitVM 实现了图灵完备的比特币合约,最重要的是:

  • BitVM 不需要分叉或任何比特币协议的改变。

  • BitVM 不会使比特币区块链拥堵,因为计算不是在比特币上执行的,而只是在出现争议(Dispute)时使用比特币网络进行验证。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

在比特币上构建二进制电路

二进制电路的构建是一种用二进制逻辑门(如 AND、OR、NOT)表示计算或程序的方法,能够执行任何可计算的函数。

BitVM 就像是将电流通过计算机芯片的逻辑门(这些微小的结构根据电流的存在与否,决定信号是否通过,即开或关,开或闭)的复杂模拟,转化为比特币的语言。

从本质上讲,任何计算机程序,从游戏到完整的 Linux 操作系统,都是这些逻辑门复杂排列的结果,所有的数字事物基本上都是基于二进制数字—— 0 和 1 。通过将这些二进制数字与逻辑门(如 AND 和 NOT 门)结合,我们创建了各种电路,包括算术逻辑单元(ALUs)和内存系统。这项基础技术使我们能够编写和执行程序以执行广泛的任务。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

Source: Stepping Through Logic Gates; 基本逻辑门(F 代表 0 ,T 代表 1)

BitVM 的前提是使用比特币脚本(Bitcoin Script)来对链下计算做出承诺(提交一个计算的哈希到 Taproot 地址),通过将任何程序解构成二进制电路的组合,并启用执行验证,这一过程包括了比特币脚本,但脚本本身不执行整个计算逻辑。

比特币脚本可以实现比特值承诺(bit-value commitments),这对于能够展示和惩罚含糊其辞(Equivocation)的行为至关重要。它实现了不可变性,因为它允许个人提交其他人无法修改的值。

这种方法涉及使用两个哈希来代表每个输入位:一个哈希用于数字 0 ,另一个用于数字 1 。当有人希望执行程序时,他们揭示一个原像(pre-images)以指示输入。值将转换为 0 还是 1 ,是通过将原像的哈希值与代表 0 和 1 的两个哈希值进行比较来决定的。

如果输入和输出不匹配,验证者有权通过没收提供者的资金来惩罚提供者。

挑战 - 响应机制

验证通常在链下进行,乐观地假设证明者是诚实的。在发生争议的情况下,过程转移到链上,并启动一轮挑战 - 响应。这种机制确保了在大多数情况下,计算和验证可以高效且低成本地进行,而只有在出现分歧时才需要利用区块链的不可篡改性和透明度进行最终裁决。

挑战 - 响应机制在 BitVM 中的动态涉及一个系统,参与者(如 Vicky 和 Paul)通过区块链上程序的执行进行验证过程。当出现争议时,Vicky 挑战 Paul 证明他的程序执行的正确性。

Vicky 从二进制电路中选择一个逻辑门,Paul 通过揭示输入和输出来打开这个门。直到确认了含糊其辞的情况或 Vicky 耗尽了进一步挑战的可能性,这个过程就会重复进行。含糊其辞意味着 Paul 声称某个输入 X 在一个逻辑门被打开时是 0 ,但在另一个逻辑门被打开时是 1 。

Paul 需要通过使用预签名的交易向响应地址存入资金来确保他声称的证据。这些交易创建了一个链,允许基于正在进行的互动,资金在挑战和响应地址之间摆动。

响应地址中的资金可以根据挑战的结果沿着多条路径流动:

  • 如果 Vicky 停止挑战,表明接受了 Paul 的证明,Paul 最终在一定时间后重新获得资金。

  • 如果 Vicky 证明 Paul 在执行中不一致(发生了含糊其辞),她可以索取这些资金。

  • 如果 Vicky 怀疑执行的另一部分有误,她可以发起另一个挑战,将资金移至下一个响应地址。为此,她必须揭示特定 tapleaf 的一个原像,Paul 随后需要使用它来解锁资金,并在有限的时间内证明他的正确性。

这一系统为在区块链上解决争议和验证程序执行提供了一个坚固和透明的构架。通过结合财务激励,它促进了执行和程序结果记录的完整性和精确性。最初,该设计支持两方的挑战 - 响应机制。然而,正如我们稍后将展示的,BitVM 的贡献者已经找到了解决方案,允许众多参与者作为挑战者参与。

二分法(Bisection):提高争议解决的效率

为了提高链上验证的效率,验证者可以利用二分法(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 。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

3. 使用 BitVM 构建一个最小信任桥 (Trust-Minimized Bridge)

BitVM 的第一个实际实现很可能是代表最小信任比特币桥的程序。通过分析桥的实现细节,我们可以更好地理解实现 BitVM 程序的额外复杂性。以下,我们总结了 BoB 共同创始人 Alexei Zamyatin 的提案。

首先,需要创建一种让比特币全节点只用比特币脚本就能操作一个侧链桥程序的方法,包括一个侧链轻客户端。

然后,还需要建立一个联盟 / 多签名(federation/multi-sig)网络,以便于 BTC 的转移并运行挑战 - 响应游戏。联盟必须承诺运行桥程序作为 BitVM 设置的一部分。

联盟初始设置的复杂性随着成员数量的增加而呈二次方增长,因为联盟的每个成员都必须与其他每个成员互动,因此联盟的规模有一定的上限,研究人员推测 N= 100 是可行的。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

与 OP Rollup 不同,后者对 N 的大小没有限制,这种方案提供的安全保证较弱。然而,这个提议的工作解决方案很可能会包括联盟成员的轮换,这样在一个较长的时间范围内,N 会远大于 100 。任何时候,只要这 100 名成员中有一个是诚实的,存款就会保持安全。假设有恶意行为者,他们可以在链上随时被挑战,如果被证明作弊,他们可以被联盟禁止。

联盟在任何时候都有一个负责管理存款和提款以及验证侧链状态的操作员(Operators)。操作员和监视塔(Watchtowers)都需要提交抵押品,以激励正确行为并阻止虚假挑战。

这种方案不符合卷积最严格定义的另一个原因是,用户不能单方面退出侧链,而必须向基于 1/N 安全假设运作的联盟请求提款。

4. BitVM v2:BitVM 能支持无需许可的验证(Permisionless Verification)吗?

3 月 25 日,Robin Linus 介绍了 BitVM v2。BitVM v2 提案的关键变化是,证明者需要一次性提交输出状态和所有中间结果,而不是像 v1 那样,在挑战 - 验证过程中逐个打开逻辑门。有了这个改变,BitVM 确保对这些承诺的任何挑战都必须由加密证据支持。这种机制过滤掉了无根据的垃圾挑战,因为挑战者必须提供特定的加密证明来争议证明者。

通过允许无限制地参与验证和挑战过程,BitVM 2 将其安全保证扩展到了多重签名联盟的限制之外,并使 BitVM 更加接近乐观卷积的安全假设。

然而,桥的搭建仍然需要联盟多重签名来促进,这意味着联盟成员可能会引起活性问题,在最坏的情况下,他们试图向用户勒索赎金以解冻他们的资金。这是一个额外对于乐观卷积来说不存在的安全假设,因为在乐观卷积中,用户可以在不获得任何中介批准的情况下退出到 L1。

IOSG Ventures:详解BitVM,比特币可编程性的曙光

在基础链上的额外安全假设

5. BitVM 的限制

正如我们上面讨论的,BitVM 能提供的最佳方案是接近乐观卷积的安全假设。除了管理负责保险存款的联盟及其活性问题的复杂性外,BitVM 特有的一些额外复杂性包括:

虽然 BitVM 理论上能够执行复杂的链下程序,但实际上,随着这些链下程序复杂性的增加,执行欺诈证明在比特币上的相关费用迅速增加。过大的程序可能需要多个区块来执行,进一步复杂化了这个过程。

拥有算力多数的矿池可以从 BitVM 中窃取(类似于闪电网络的问题),因为他们可以合谋审查挑战者的证明,或者恶意行为者可以贿赂他们忽略挑战者。

由于 BitVM 证明的互动性质,恶意证明者可能会操纵系统并从验证者那里进行窃取。攻击可以按如下的假设构建:

  • 证明者通过启动交易开始验证序列

  • 怀疑证明者行为有效性的验证者启动一个挑战,挑战中包含支付给证明者的回应费用

  • 证明者选择收集费用,同时忽略挑战,不履行他们在验证过程中的部分责任

最后,BitVM 目前还是一个概念框架和一个几乎无法执行任何操作的虚拟计算机概念。BitVM 的「卷积」距离应用层面还远,乐观估计是我们最早可能在 2025 年看到一些 BitVM 程序投入使用。执行 BitVM 的技术风险也不容低估。

6. 结论

考虑到以太坊扩展解决方案的估值,目前大约占以太坊市值的 15-20% ——比特币第二层解决方案的潜在市值可能是巨大的。

尽管 BitVM 还处于初期阶段——本质上是一个未落地的虚拟计算机概念——但它已经激发了来自各个项目的大量兴趣和声明,这些项目急于利用其潜力。许多与 BitVM 团队无关的项目都在争相做出宏大的公告,希望在他们看来是比特币的一个有前途的新领域中占据一席之地。然而,更仔细的审查揭示了一个更加清醒的现实:BitVM 的 GitHub 账户只有少数贡献者,而 BitVM Builders Telegram 群中真正参与的只有少数几个比特币「L2」项目。

比特币任何可扩展性解决方案必须遵守的一个关键原则是,比特币的核心架构应保持不变(根据可预测性原则)。BitVM 秉承这一原则,成为首个在不改变其核心的情况下,在比特币之上提供可编程层的先驱解决方案。

本文撰写于 BitVM 发展的非常早期阶段,考虑到其快速的发展,这里的信息很快可能会过时。例如,直到最近,在比特币上实现 ZK 卷积的想法看起来就像空中楼阁一样不切实际,因为所需的基础能力——比如比特币验证 ZK 证明的能力——并不存在。然而,最近 BitVM 研究人员分享了比特币脚本的进展,这些进展可能导致在比特币上实现 STARK 验证器。

比特币扩容解决方案的实现超越了纯粹的技术挑战;它包含了社区支持、用户体验和时机等因素。虽然当前时刻为这些创新提供了一个独特的机会窗口,但是项目数量的急速通胀以及误导性声明和营销带来的显著风险,可能会破坏更合法项目的前景。

随着生态系统站在这个十字路口,关于比特币扩容解决方案是否能复制以太坊的成功的问题不仅是技术性的,而且深深植根于区块链社区更广泛的动态之中。毕竟,核心以太坊社区已经选择了 L2 作为以太坊扩容路线图的关键部分,而比特币社区还不能这么说。

本站登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。

相关阅读