在以太坊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结构存在的问题以及发展的思路还不太一样,以后有机会再做详解。