近期,Delphi Digital 发布了题为《The Dawn of Bitcoin Programmability: Paving the Way for Rollups》的比特币二层技术研报,系统梳理了与比特币 Rollup 相关的核心概念,包括 BitVM 全家桶、OP_CAT 和 Covenant 限制条款、比特币生态 DA 层、桥以及 Bitlayer、Citrea、Yona、Bob 等四大采用 BitVM 的比特币二层项目。然而,该研报内容较为泛泛,缺乏细节。本文将在 Delphi 研报基础上深入挖掘,帮助更多人系统理解 BitVM 技术。
BitVM 的起源与发展
几个月前,ZeroSync 负责人 Robin Linus 发布了《BitVM: Compute Anything on Bitcoin》文章,提出了 BitVM 概念,推动了比特币二层技术的发展。此后,BitVM 得到进一步改进,推出了 BitVM1、BitVM2、BitVMX、BitSNARK 等版本:
BitVM 的基础思想:MATT 和承诺
BitVM 的基础思想是 MATT(Merkleize All The Things),通过 Merkle Tree 展示复杂的程序执行过程,并使用 Merkle 树的最顶部摘要(Merkle Root)发布到链上,实现数据的承诺(Commitment)。
承诺(Commitment)
承诺是对一大批数据压缩后得到的“指纹”,用以证明链下数据的准确性。在 Layer2 的欺诈证明协议中,数据发布者在链上发布数据的承诺,在链下发布完整数据集,验证者可针对链上的数据承诺提出挑战。
BitVM 实现方案的结构
BitVM 的几大实现方案如 BitVM0、BitVM1、BitVM2 和 BitVMX,基本采用如下结构:
比特币脚本(Bitcoin Script)与 Taproot
比特币脚本是理解 BitVM 的基础。比特币的资产表达方式与以太坊不同,通过 UTXO 和脚本实现资产的转移和验证。
P2PKH 与 P2SH
P2PKH(Pay to Public Key Hash)方案下,UTXO 的锁定脚本包含公钥 hash,解锁时需要提交对应公钥和数字签名。P2SH(Pay to Script Hash)方案下,锁定脚本中预设 Script Hash,解锁时需要提交对应的脚本内容。
隔离见证与 Witness
隔离见证(SegWit)解决了交易延展性问题,将交易 ID 和解锁脚本解耦,遵循 SegWit 升级的 UTXO 锁定脚本在首位设置 OP_0 操作码。Witness(见证)替代了解锁脚本,使得交易数据更加安全。
通过理解比特币脚本、Taproot 和 BitVM 的基础思想,可以更好地理解比特币二层技术。BitVM 的实现方案基于复杂程序的分解和承诺,结合资产质押和验证机制,推动了比特币生态的创新和发展。未来,我们将继续深入探讨 BitVM 及其相关技术,为更多爱好者提供系统性知识。