目前模块化区块链热度不减,其诞生的原因源自于单片链的局限和缺陷。
什么是」模块化「? 在软件工程开发中,」模块化「是指将代码进行解耦, 使每个模块的功能独立, 模块之间的耦合程度低, 达到模块复用的目的。
模块化的本质是一种任务分工,不同的模块组合成的程序能实现不同的功能。
对于区块链,模块化是对于单片化区块链架构的一种优化,将区块链各部分的功能在系统架构上进行分层;模块化链往往只需要实现某一层的功能, 其他功能由其他层的链提供。
如此一来,无需像单片链那样,包含所有层的功能。 实现模块化的好处在于, 增加区块链的去中心化程度, 提升区块链的吞吐量和容量。
那么单片链和模块化链存在差异的地方在哪儿?
首先,对于单片链 (monolithic) 来讲,所有的功能和职责其中包括: 共识:全节点就交易及其排序达成一致。
数据可用性:确保数据可存储、可验证且可用。
执行:处理状态的改变。
结算:验证执行层状态并解决争议、负责资产跨链的桥梁。
单片链中,网络中的每一个节点都需要处理从数据的验证到交易的执行直到状态更新。
这样做的优点是安全性高,所有交易数据都储存在归档节点中, 轻节点需要交易状态也能从全节点处查询, 没有第三方的信任假设, 所有的交易状态都在黑匣子中。
但是也带来了局限,单片链瓶颈的核心在于链上数据的不断累积,在可拓展性的不可能三角中,源于对 DA 的需求,单片链的可拓展性被限制。 未来,当 web3 成为大众选择时,为了确保大规模采用的可能性,单片链需要转型到模块化链从而打破不可能三角。
Rollup 是一种将执行层分离出去的扩容方案,计算在链下处理,最终将打包后的数据上传。这样确实能够增加网络的吞吐量,但是引入了信任假设 (op Rollup)。
Rollup 的吞吐量呈线性增长, 交易量越大, 意味着越多的数据需要被广播至主网。最终,Rollup 的吞吐量瓶颈还是落在了底层网络的数据带宽上。 瓶颈还是落在了底层网络的数据带宽上。
分片是以太坊为了解决这个瓶颈提出了最终方案。
在模块化链当中,四个功能层被拆开,由不同网络参与者分别执行这些功能。 这样做的优点是,去中心化:通过将 DA 层分离,降低对节点的硬件要求从而提高节点数量,提高网络去中心化程度的同时不比引入额外的信任假设。
简化链部署:通过利用模块化设计, 新区块链的启动成本和设计架构的开发成本降低。
不过也有风险,首先是安全性:与单片区块链不同, 将 DA 层委托给第三方可能带来风险,无法像单片链那样去信任的确保安全。
其次是复杂性:模块化链在分离 DA 层的过程中,需要确保信任假设(欺诈证明和有效性证明),并保持不同链之间的工作顺畅,这样的设计带来了更高的复杂性。在没有经过市场考验的情况下,复杂的设计带来了更高的风险。
单片链在一个协议内完成所有工作, 实现自给自足 ( 但也低效 )。即使出现由于过载而出现停机 (solana), 也不能使用外包功能。 模块化链是只做协议中的一部分,必须和其他链结合才能发挥作用。
选择单片链还是模块化链,就目前状况而言,需要考虑应用的特点。例如,DeFi 应用优先考虑安全性, 因此选择单片链能提供最好的安全性。然而, 如果一个应用优先考虑吞吐量和执行速度, 那么模块化链可能更适合。当然,如果模块化链能够优化设计出更安全的网络架构,那么可以预见模块化链是未来的主流选择。