观点: 我所理解的Layer0、1、2层到底是什么?( 二 )


如果从广义的概念来说模块化区块链是一种“架构”, 也是模块化区块链,将计算层模块化抽象出来,但是从目前狭义的对于模块化区块链的定位来说,我们要明白将区块链模块化以后的目的是什么,从而再定义其处在哪一层,我认为最直接的目的是在于如何能够更简单快速的去发一条链出来,模块化的效果是能够把区块链技术架构拆的更清晰,封装的更完整,然后开箱即用就像是搭积木一样,可以直接使用模块化区块链的能力用更低的成本发一套新链出来 。你可以粗糙的理解成模块化区块链的目的是发一条出来,这样是不是就理解为什么它处在了 。
模块化区块链的两个代表和为大家进行展开介绍从而更清晰的理解其含义,其中 要感谢@,他是生态的深度贡献者,与他进行了探讨并研究了其优质内容 。
模块化区块链概念的布道者是 ,我之前关于模块化区块链曾经发过一个分析 ,这里我援引该的内容讲讲 ,具体的内容大家可以看我当时的 ,链接如下:
可以看到官网对于其优势的描述第一点就是像智能合约一样轻松部署区块链,降低发链的门槛和成本 。
模块化区块链的对立面是目前大多数都属于单体区块链,也就是一条链承担了共识、数据可用性和执行的工作 。
共识:整个网路中节点决定打包哪些交易,以什么顺序打包;
数据可用性:就是验证某个区块是已经完成广播是写入链上的;
执行:具体交易和状态的变更 。
如果一条链把这三件事都干了,那它就是单体区块链,也就是目前 L1 面临的问题,交易、结算、出块都排着队完成 。所以设计思路就是把共识、数据可用性和执行这几个区块链核心工作职责给拆开,每个职责单独做一条链即一层,然后各司其职干好自己的事,再将其拼装组合到一起 。
说到这里大家应该就意识到了,这就是 30 年软件开发都遵循的模块化设计原则,封装多态耦合内聚那套理念,把一个复杂系统拆分职能,各干各的,再组装到一起,所以至少这条顶层设计理念是一直存在的,将这套设计理念应用在了区块链设计上,并不是什么很新颖的理念 。
然后当说到将共识、数据可用性、执行拆分出来成为一条链,大家应该意识到这就是 L2 在做的事, 扩容思路就是将执行层单独拿出来做一条子链去完成以太坊的交易处理工作,然后将结果再返回至以太坊主链,所以 其实就是模块化设计理念,所以如上文所说广义的模块化区块链不是一个具体的东西,它是一种概念或者是设计理念,但狭义的模块化区块链则是指将区块链的共识、数据可用性的底层能力封装起来,这两层也是对于一条区块链的地基,复杂度和难度也是最高的,然后这两层能力具备了新发一条链就门槛和成本很低,只需要将精力关注于自己的业务与计算 。
那么 主要是将数据可用性能力模块化,通过共识机制存储交易记录并提供数据可用性,而不用参与结算和执行层的事,只管存,并保证存的东西是有效的,其他开发者就能以的形式在上构建出自己的结算层和执行层 。所以 就像是区块链领域的 AWS,传统一家公司开发软件需要买一台服务器放在机房,10家公司就要10台服务器,于是 AWS 说你们都别买了,我自己整一个大的,你们只管软件开发,需要存取数据就来我这,我能够保证你们的数据有效的(存的进来,取得出去) 。
那么为什么要做数据可用性层模块化呢?如果我想发一条链最难的就是这么让尽可能多的节点参与到我的链中去为我完成共识和数据可用性的过程,有这么多节点来维护我的链,那才能在链上做更多应用层执行的事情 。