Time:2023-01-17 Click:137
以太坊二层扩容解决方案 op 提出了宏大的发展蓝图,高度可拓展、可互操作的区块链模块化堆栈—— OP Stack
但目前的一些介绍文档比较晦涩难懂,很多人并不理解OP Stack 是什么以及它到底想做什么?
本文旨在用通俗的语言讲清楚OP Stack是什么,以及它的实现逻辑,有没有潜力
分层架构
简单来讲,OP Stack是为了实现模块化区块链架构的软件堆栈,也是 op探索模块化从理论到实践的伟大实现路径尝试
op把区块链细分为以下3大功能层级:共识层、执行层和结算层。 而共识层下又分为数据可用性(DA)层和推导(Derivation)层
DA 层
数据可用性层,顾名思义,即数据存放的地方,更具体地,是blobs的有序数列。 一些DA层的例子:如以太坊DA以calldata 函数形式存在于链上
CelestiaOrg有单独的数据可用性层等。DA函数实现:转化成字节流数据以供解析
推导层
推导层也是OP Stack 的重要结构之一,它能够根据DA 层和当前的Rollup 状态进行解析,生成负载以供Layer 2 执行 L1 上的任何相关信息都能通过derive 函数整合成负载。
当然也存在着L1 上没有发布任何交易的情况,此时函数输出nul
执行层
执行层的函数实现即状态交易函数(STF: State Transaction Function)的实现 基于初始状态和推导层产生的负载,执行层通过execute 函数实现Rollup 状态的更新
the loop of STF
推导层和执行层是共同运行、相辅相成的,形成一个循环往复的环状结构
如果L1 上没有发布新数据,derive 函数输出null, 重新执行该流程直到产生负载 执行层函数通过负载进行状态更新,更新后的状态又作为初始状态进入到derive 函数
结算层
结算层的作用是对交易进行验证并生成承诺,获取L2的状态跟 具体的函数实现形式也非常直白,Valid 函数基于Rollup 的初始状态和更新状态,DA, 推导和执行函数,以生成布林值。
DA 通过getBlobByIndex 函数获取 此处的证明机制可以是OP 的欺诈证明,也可以是zk 的有效性证明
总结:
1.OP stack 将不同的功能层级进行解耦,并以API 软件堆栈的形式把所有层级组合起来,极大地简化了模块化区块链构建的流程
从理论上讲,OP Stack 能构建任何基于其API 的模块化区块链。开发者也无需从0到1构建区块链,基于OP Stack 现成的代码库能实现模块化区块链的快速部署
2.模块化堆栈给开发人员带来了更大的自主性,能够切换、替换、修改不同模块层级,就像切换API 一样具体的应用如某条链可以把DA 层由以太坊替换成
CelestiaOrg
实现DA 层分离,执行层的欺诈证明模块切换成有效性证明实现OP rollup 向zk Rollup 的转换
3.OP提出区块链的终局既非多链也非单链结构,而是由一组高度集成的OP Stack 链组成的“超级链”结构
未来,通过共享消息传递格式,基于OP Stack 的链能够进行相互通行,实现互操作性,从而实现“超级链”的愿景
持续更新中,喜欢+关注(共重 号:开舒克的老陈)观看更多内容~
欢迎志同道合的币圈人一起探讨~
感谢阅读,喜欢的朋友可以点个赞关注哦,我们下期再见!