# BitVM

BitVM 是 BTC 上最受关注的扩展协议，是 BTC 的一种 optimistic rollup。

BitVM 创新地在提出了一种在 BTC 上进行欺诈挑战的方式，证明者与挑战者进行都在一个交易中存入同等数量的 BTC 进行对赌(作为输入)，而这个交易输出将包含一个逻辑电路。

BTC 的脚本可以看做处理最简单逻辑的逻辑门，逻辑门就是计算机的最基本组成部分。逻辑门电路如果通过一种树状的方式互相组合，就能形成一个包函特定逻辑的电路(你可以想象一下三体中秦始皇的人列计算机)。

<figure><img src="https://2933093085-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2E93vAVWL3E2kQSMHQMn%2Fuploads%2F7F6BRhLJnF9r0mVS2Wtd%2Fimage.png?alt=media&#x26;token=47581674-b4b8-4e1b-abf6-60457d4d6813" alt=""><figcaption></figcaption></figure>

BitVM 的在大量的 BTC 脚本组成的电路中写入了一个欺诈证明，这个证明的电路结构根据 Rollup 中排序器打包的一系列节点决定。

挑战者可以不断向这个欺诈证明电路上传 hash 值，验证者不断地运行对应的脚本，并揭示输出，来证实其结果正确。

在一系列的交易下，挑战者可以不断挑战证明者，直到证明者证实了每个电路门都是正确的。由此，BTC 网络就完成了对 Rollup 的验证，证明者就可以领会自己的资金。否则，挑战者就会获得证明者质押的 BTC。

用一种好理解的方式来讲，BitVM 与 BTC 的关系好像 OP 之于 ETH 网络，其安全性在所有扩容方案中最高。BitVM 会产生的交易数量非常庞大，成本不菲，而且在参与双方进行链上验证前，需要进行大量的预签名，也就是需要大量的链下计算。

当然，与 ETH 的 optimistic/zk rollup 不同的是，BitVM 并没有紧急的BTC提款通道，L2网络中至少有一个诚实的节点才能完成正常退出。不过这已经是目前 BTC L2 能做到的最高安全保障了，上传了 DA，BTC L1 验证了 Rollup 数据的有效性，信任最小化的 BTC 桥，唯独缺少“紧急逃生通道”。

因此 BitVM 的实现看起来很远，但最近 BTC 社区对于解禁 op\_cat 脚本的讨论可能会给 BitVM 的发展带来新的可能。op\_cat 操作码可以江两个字符串链接起来，最多支持 520 个字节的长度。这种数据的串联可以在比特币上实现更复杂的计算。比如 BitVM 就可以通过它在同一个脚本下串联上百个逻辑门，这让 BitVM 能够在更少的交易中处理更多的二进制电路，几乎获得了上百倍的增速。

BitVM 对比特币脚本的复杂组合也启发了很多 L2 项目，纷纷基于此提出了新的在 BTC 上进行 “欺诈证明”挑战的思路。
