比特币虚拟机(BitVM)是一个旨在将智能合约能力带入比特币区块链的系统。
比特币被设计为一种纯粹的加密货币——一种由计算机密码学保护、用于跨境交易价值的数字资产。与以太坊不同,它不是为支持由智能合约驱动的去中心化应用(dapp)的高级计算而设计的。在这方面,以太坊的虚拟机(EVM)是图灵完备的,这意味着它能够进行通用计算。比特币则不是。
同时,比特币的编码设计用于更简单的任务——即在区块链上交易资产。人们已经尝试以多种方式为比特币增加更多功能。其中包括“第二层”解决方案,如闪电网络和 Liquid 网络。重要的是,这些解决方案不需要以分叉的形式改变区块链。
2023 年 10 月,一位名叫 Robin Linus 的开发者发布了一篇白皮书,描述了一种名为BitVM的新计算范式,该范式将智能合约能力(因此是图灵完备性)带入比特币。BitVM 的主要目标是使比特币的扩展性达到允许更高交易速度的水平,但它也可能引入更高级的功能,类似于以太坊的 EVM 所提供的。
简而言之,BitVM 试图将复杂的计算功能强加于比特币,而比特币最初并不是为此而设计的。Linus 曾说,BitVM 可以被描述为“...技巧的汇编”或者“绕过”比特币代码的“黑客活动”。这是有限制的,这意味着 BitVM 的智能合约看起来并不像以太坊的智能合约。例如,所有计算都在链下发生,结果被通报回比特币的区块链。这与以太坊不同,除了在使用 rollups 的第二层解决方案的情况下。此外,BitVM 主要在两个个体间运作,这意味着它不是为更广泛的网络计算设计的。
BitVM 是比特币的第二层解决方案(L2)。因此,它在某些方面类似于以太坊的 L2——特别是乐观 rollups。如同乐观 rollups,BitVM 依赖于欺诈证明以及一对相互挑战和响应的配对方。
通过 BitVM 执行复杂计算时,“证明者”(prover)提出初步程序,并与“验证者”(verifier)协调,以断言其有效性。这个双方系统依赖于比特币区块链上的一个简单合约,其中一系列交易定义了证明者和验证者之间的关系。
双方使用他们基于比特币的地址进行存款,然后他们可以在链下交换大量数据,并将输出(较少量的数据)返回到区块链本身。这仅通过比特币的Taproot升级引入的功能成为可能。如果证明者行为恶意或提出错误的东西,验证者可以挑战它。
这开始了一系列挑战和响应,确保只有准确的断言被做出,并且只有可验证的数据被刻录到比特币的不可变账本中。有经济激励保持系统的诚实,因为无论哪一方被证明是正确的,都可以收集另一方的资产作为惩罚。
Robin Linus 表示,BitVM 被提议作为比特币的扩展解决方案。通过智能合约,它最初被构想为能够支持侧链甚至类似闪电网络的网络,以推动交易速度的极限。
然而,通过相同的设计,它可能引入了允许更多功能的环境。例如,连接到比特币网络的侧链本身可以使用以太坊虚拟机。这意味着,通过 BitVM,比特币用户可能能够访问更广泛的智能合约可用性,并利用去中心化应用程序,就好像他们在使用以太坊本身一样。
尽管 BitVM 的潜力很大,但它仍在开发中。双方系统有其局限性,BitVM 的链下计算需要显著的硬件和财务资源。这些障碍必须解决,才能使它得到更广泛的采用。