把「模块化」落地到 BTC Layer2 会怎样?
撰文:Haotian
在以太坊 L2 领域,模块化已经成为挑战单体链的不二法宝。Celestia 掀起 DA War,Espresso 祭出共享 Sequencer 大招,Altlayer 抛出 Rollup AS A Service。
一个原本靠用户和生态驱动的 To C 运营市场,经过 Stack 战略规划,就变成了想象空间无限大的 To B 市场。不禁要问,若把「模块化」落地到 BTC layer2 又会怎样?
为什么 BTC 网络更适合模块化?BTC Layer2 的哪些构成组件适合模块化?模块化会给 BTC layer2 带来哪些全新的商业格局?本文将以 @BSquaredNetwork 为例展开探讨:
模块化能行得通主要源于区块链公链架构的可组合特性,一个成熟的公链包括:
1)结算层(Settlement layer)负责资产的交易状态转移和确定;
2)DA 层(Data Availability)负责交易数据的状态变数据可用性,以供交易验证:
3)执行层(Execution layer)负责处理交易的执行逻辑,包括智能合约的调用和执;4)共识层(Consensus Layer)负责所有节点就某一版本的交易历史达成一致性;
5)跨链通信层(Interoperability Layer)负责不同区块链网络的消息通信和状态管理。
以上各个区块链组件分工明确,各司其职构成了区块链的可信和去中心化特性。
以太坊网络是一个可存储并验证历史状态的智能合约网络,以上各层组件功能都能完成,无非是部分组件因性能或容量限制,面临要外包的扩展问题,而 BTC 网络则是一个无状态的非智能合约网络,UTXO 模型是一种极简的资产转移和结算技术架构,除了结算功能之外,其他执行层、DA 层、共识层、跨链可交互操作层等都适宜「模块化」封装构成。
以太坊通过内置的复杂功能层支持广泛的应用,而比特币则通过极简 UTXO 架构仅支持其 Payment 功能,更多复杂功能只能依赖外部模块化扩展。无疑,BTC 比以太坊更需要「模块化」。
那么,BTC layer2(非 UTXO 结构)要实现复杂交易执行逻辑,该如何模块化构建核心 DA 层、执行层、结算层组件呢?又得适配 BTC 主网特性做哪些调整?接下来,围绕@BSquaredNetwork 的解决方案,给大家做详细技术解析:
1)DA 层:BTC 主网只能依托 Taproot Script 脚本内有限的空间做存储,且主网全节点不能对所存储数据做复杂状态验证。
为此,B² Network 模块化构建了一个独立 DA layer,包含:Decentralized Storage+ B² Nodes 两部分:
存储部分需要存储所有本地历史交易记录数据,为全节点验证数据提供权威且不可篡改的可信数据源,等同于以太系的 Calldata 和 Blob;节点部分则负责处理 Rollup 数据,相当于以太坊 L2 的 Procer 系统,会对这些数据做 Prove 验证,来证实其交易数据和状态转换的正确性。
通过此两部分协作,B² Network 实现了一个可高效存储数据并能实现计算 + 验证的 DA 网络,用此来弥补 BTC 主网在 DA 能力上的缺失。有意思的是,B² Network 在充分验证该架构的可行性后,将其升级成了 B² Hub,相当于把该 DA 层作为一种模块化服务方案供给给需要 DA 层的其他 BTC layer2。
为什么其他 layer2 平台会选用 B² Hub 而不直接用 IPFS 存储方案或 Celestia 的 DA 外包服务,这主要得益于,B²针对比特币主网特征升级了特殊设计,比如:为了节省主网有限的空间,DA layer 会把 Prover 系统的数据验证结果压缩成电路,生成 Commitment 承诺。
2)执行层:BTC 主网所做的「执行」仅仅为资产的条件转移,layer2 平台往往要构建一个可执行复杂合约逻辑的本地执行层来做补充。
针对此,B² Network 采用了 ZK-Rollup 作为执行层,通过零知识证明来处理链下数据和通信交互一致性。这个过程中,Sequencer 收集并 Batch 交易,然后通过 ZKEVM 系统生成各种 Proof 证明,最终聚合汇总数据到 DA layer。
B² Network 以 ZK 作为核心技术,来处理本地数据和交易状态一致性的方法,也可以视为一种模块化共享 Sequencer 执行层方案。毕竟 ZK 连接多主体之间通信并给予隐私授信方面得天独厚。
3)结算层:若是 UTXO 结构,BTC 主网可以基于轻节点 +Schnorr 签名 +MAST 等框架,通过状态通道 + 一次性密封等实现资产的安全状态变更,若是非 UTXO 结构,则只能依赖本地共识的多签名主体,来和主网进行资产结算。这其实假定了,单靠多签并无法有效确保资产的百分百安全,万一某个多签主体作恶呢?
因此 B² Network 的结算层设计包含,BTC 主网条件解锁 +B² Hub 本地挑战两部分:
B² Hub 部分为了确保二层本地共识降低作恶的可能性,基于 BitVM 技术设计了一套挑战机制,允许本地节点基于历史数据片段向主网上的 Commitment 承诺发起挑战:
1、B² Network 的 DA 层会把最终数据变更状态,压缩成 Commitment 承诺,并以铭文形式上传到比特币主网。这里引入了铭文的创新输入数据机制,相当于把历史状态数据公告到 BTC 主网来当挑战的公正裁判。B² Nodes 节点会有一个公共的去中心化 indexer 系统来解析并记录主网数据状态,让其他节点可以基于其本地数据记录对该提交到主网上数据进行差异挑战。
2、由于 Inscribe 后的铭文数据无法篡改,layer2 本地下的 indexer 数据又很透明,一旦挑战者提交的挑战数据片段和已有的历史 Commitment 承诺结果不一致,全节点虽然无法直接验证承诺内容,但这种不一致性就可以触发主网结算状态确认,对伪造的承诺提供方进行 Slash 惩罚(其 UTXO 中锁定的 BTC 会转移给挑战者)。
在我看来,B² Network 这套基于 BitVM 的 Commitment 承诺 + 挑战机制相当于一种有效的「结算层」安全共识补充方案,可以成为一种有效的模块化挑战方案,来补全 layer2 链在资产结算上不足的安全共识。毕竟单纯靠在主网搭建轻节点和多签名可能会存在节点作恶问题,若形成一套有效的作恶问责机制,问题不就迎刃而解了?
以上。
这两天围绕 BTC layer2 的标准之争又开始了,无论是东方力量在 BTC layer2 的百花齐放,还是西方主流试图在共识层塑造标准,到底都只是 BTC layer2 市场发展进程中的片段。
在我看来,BTC layer2 当下最大的魅力全因其无限包容性给足了市场想象空间,还远没到树标准的时候。
反倒,BTC 索引的去中心化问题,BTC DA 层能力缺失问题,BTC 结算层的挑战安全机制,BTC 主流 UTXO 结构扩容方案发展缓慢问题等等,都是亟待解决的问题。
关键是,这些问题一旦被有效解决并进行模块化封装,其大概率会成为全生态的共同需要。换言之,解决问题并模块化商业输出,不就是在制定「标准」吗?
Note:本文解读以非 UTXO 结构 BTC layer2 市场为中心,UTXO 结构存在的问题以及发展的思路还不太一样,以后有机会再做详解。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。