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