详解 B² Network 机制:ZK+BitVM 挑战会成为比特币 Layer2 标榜吗?

Foresight · 01-23 10:32

支付

侧链

比特币

比特币生态的 Layer2 Rollup 方案有相当的技术复杂性和特殊性。


撰文:Haotian


以太坊从 Plasma 到 Validium 再到主流 Rollup,比特币从侧链到状态通道再到客户端验证,Layer2 本质上都在找一套兼顾安全、可扩展性、去中心化的 Tradeoff 方案。


基于此,我对比了 ZK-Rollup 和最近热议的@BsquaredNetwork 方案,从 DA 实现、可交互操作性、安全挑战等技术实现方面,探讨下比特币 layer2 的差异性和复杂性。


为了更好地做同比参考,可以先模糊「定义」一组对应关系:


ETH Plasma = BTC 状态通道;ETH Validium = BTC 侧链;ETH Rollup = BTC 客户端验证。


不难看出,以太坊 Plasma 对应比特币生态 Lightning Network,承接了 BTC 的安全性性,但 HTLC 合约目前受限于小额支付 Payment 方向;以太坊 Validium 对应比特币生态的侧链,扩展性很强悍,但一套独立的共识让它始终不受主流认可;以太坊 Rollup 我倾向于对应比特币生态的客户端验证,安全性、可扩展性,去中心化特性会取综合权衡点,以太坊 Rollup 也正因为此成了一条主流焦点赛道。


顺着以太坊 ZK-Rollup 的思路,我们以比特币客户端验证为突破口,比特币 layer2 Rollup 方案该如何构建呢?以 @BsquaredNetwork 为例探讨下:


1)客户端验证部分:


在一个完整的以太坊 ZK-Rollup 中,链下环节包括 Sequencer 收集并 batch 交易,会生成 ZK SNARK 证明和 Merkle 树等打包同步到主网 Calldata,然后链下会把 ZK SNARK 证明经过 Prover 系统的验证,将最终的 State diff 上传到主网,主网根据 State root 根再结合 Calldata 中的区块数据,验证数据的完整性和一致性,最终完成 Finality 状态确认。


Bsquare 的客户端部分,主要包含 Rollup layer 和 DA layer 两大部分,Rollup layer 的工作流程大致为:Sequencer 收集并 Batch 交易,先同步到去中心化存储环境下一份,然后经 zkEVM 生成 Proof 证明,与此同时把交易 Raw data,Merkle 树以及 Bitcoin state 等数据汇总成 Aggregator 联合 Proof 证明一起同步给 DA layer 的 B²nodes。


过程中有两个差异,一方面比特币需要将 TXs 原始数据同步到去中心化存储环境下,而 zk-Rollup 默认了本地环境存储;另一方面以太坊可以直接把数据汇总同步到主网 Call Data,但比特币主网存储量有限,验证能力缺失,因此 Bsquare 将这些数据同步到了客户端环境下的 B²nodes。


2)Data Availability 部分


在以太坊系统中,主网来给 Rollup 链输出 DA 能力,Rollup 把数据同步到 Calldata 的操作目的正为主网的 DA 验证能力,鉴于比特币主网不具备验证能力,DA 功能由客户端环境下构建的 DA layer 来承担。


DA layer 中的 B²nodes 在收到这部分 Rollup 汇总数据后,会进行电路编译操作,将数据压缩后以 Inscription 铭文的方式上传到比特币主网。与此同时 B²nodes 也会运转 Prover 系统对 ZK 证明进行去中心化验证生成比特币 Commitment 承诺,该承诺会连同 Rollupdata 等汇总数据一同去刻铭文。


这里会产生两个疑问:


1、为何不直接用 Celestia 这类第三方 DA 而选择自己构建,这正是比特币生态的特殊性所决定,B²node 需要配备 indexer 索引器对 inscribe 到比特币主网的铭文进行去中心化解析和索引,同时生成的 ZK Proof 会议 Commitment 的形式上传到主网,在刻铭文的时候还需要对数据进行 Circuit 电路预编译压缩,以确保降低对主网存储空间的占用。


2、既然 DA 并非由主网提供,为何要把各类 Rollup 数据以铭文形式同步到主网,这其实是在主网保留一个不可篡改的交易记录,为后续的 Challenge 过程提供基础。


3)Challenge 部分


在 ZK-Rollup 中,主网 Rollup 合约的可通过 Calldata 中的打包数据和 Prover 上传到主网的 State diff 二次校验确保交易的完整性和一致性,这是主网具备验证能力,ZK 技术的优势。


然而在比特币的 Rollup 环境下,由于主网缺乏验证能力,ZK 技术价值本质在于 SNARKs 数据简洁压缩同时确保一致性,倘若在链下环境的 Sequencer 收集交易过程中就存在数据作假,整个链条的数据都是假的,Finality 状态确认并无法拒绝作假的数据,因此要设计一套机制要对「作假」行为进行挑战。


要如何做呢?大家回看我关于 BitVM 的文章就会知道,BitVM 是一种理论假设下可以让比特币实现图灵完备计算的方案,只不过其预编译电路向比特币主网传输 TXs 的 Taproot Tree 方式过于消耗矿工费而不现实,如果借鉴 BitVM 的实现逻辑来进行挑战机制设计就不一样了。


挑战机制会在主网 UTXO 中锁仓 BTC,一旦用户以 BitVM 的形式向 layer2 链发起挑战,就可以拿走提前锁仓在比特币主网的资产。而刻录在比特币主网的铭文以及公开透明的 B²nodes 等 Raw data、Merkle 树、Commitment 承诺等都会成为用户发起挑战的证据,一旦挑战结果证明 B²nodes 中的一系列数据和主网铭刻的 Inscription 数据存在不一致问题,B²nodes 的节点不仅会失去锁在主网 UTXO 中的资产,还需要将交易回滚,重新更新索引器和历史数据。


以上


不难看出,比特币生态的 layer2 Rollup 方案有相当的技术复杂性和特殊性:


比如客户端验证环节要基于去中心化存储将 Sequencer 产生的一切数据都留底,为了确保数据可追溯;


又比如 DA 环节要在链下环境构建一套去中心化数据验证系统,并且通过 Commitment 承诺和刻录铭文的方式来保证 DA 数据的一致性;


又比如即使采用了 ZK 技术,也需要配备公开透明的挑战机制以确保安全;


整个过程要权衡一套去中心化、安全、可扩展性三个矛盾点得到一个公允的方案出来。


探索的雏形答案显而易见:既然比特币主网无法验证,无法 DA,那就利用铭文向主网刻录受限的 DA+ 一套基于 BitVM 电路的图灵完备挑战系统来实现 Rollup 链的透明性和安全性。以 ZK 技术 +BitVM 挑战系统来弥补比特币缺失的 DA 和验证能力。


既然以太坊 Rollup 也还存在 Rollup 合约可 Update 的多签合约治理隐患,也不能百分百确保安全,大家相信的其实是一套相对透明公开的合约交互机制,那现在做不到绝对 BTC 共识安全,摆在面前是一套基于 BitVM 的透明公开挑战机制,虽然技术实现复杂太多,逻辑似乎也 Make Sense。


总之,比特币 Layer2 这套 ZK 技术 + 客户端验证 +DA 铭刻 +BitVM 挑战的范式若逐渐得到市场认可,你觉得会成为新一轮的比特币 layer2 Rollup 标榜吗?

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表Bi123的观点或立场

扫码下载APP添加官方微信
行情机会交流