Hi 游客

更多精彩,请登录!

比特池塘 区块链茶馆 正文
以太坊二层扩容解决方案 @optimismFND 提出了宏大的发展蓝图,高度可拓展、可互操作的区块链模块化堆栈—— OP Stack. 但目前的一些介绍文档比较晦涩难懂,很多人并不理解OP Stack 是什么以及它到底想做什么? 此推文旨在用通俗的语言讲清楚OP Stack是什么,以及它的实现逻辑。 分层架构 简单来讲,OP Stack是为了实现模块化区块链架构的软件堆栈,也是 @optimismFND 探索模块化从理论到实践的伟大实现路径尝试。 @optimismFND 把区块链细分为以下3大功能层级:共识层、执行层和结算层。 而共识层下又分为数据可用性(DA)层和推导(Derivation)层。 DA 层 数据可用性层,顾名思义,即数据存放的地方,更具体地,是blobs的有序数列。 一些DA层的例子:如以太坊DA以calldata 函数形式存在于链上,@CelestiaOrg 有单独的数据可用性层等。 DA函数实现:转化成字节流数据以供解析。 推导层 推导层也是OP Stack 的重要结构之一,它能够根据DA 层和当前的Rollup 状态进行解析,生成负载以供Layer 2 执行。 L1 上的任何相关信息都能通过derive 函数整合成负载。当然也存在着L1 上没有发布任何交易的情况,此时函数输出null. 执行层 执行层的函数实现即状态交易函数(STF: State Transaction Function)的实现。 基于初始状态和推导层产生的负载,执行层通过execute 函数实现Rollup 状态的更新。 the loop of STF 推导层和执行层是共同运行、相辅相成的,形成一个循环往复的环状结构。 如果L1 上没有发布新数据,derive 函数输出null, 重新执行该流程直到产生负载。 执行层函数通过负载进行状态更新,更新后的状态又作为初始状态进入到derive 函数。 结算层 结算层的作用是对交易进行验证并生成承诺,获取L2的状态跟。 具体的函数实现形式也非常直白,Valid 函数基于Rollup 的初始状态和更新状态,DA, 推导和执行函数,以生成布林值。DA 通过getBlobByIndex 函数获取。 此处的证明机制可以是OP 的欺诈证明,也可以是zk 的有效性证明。 总结: OP stack 将不同的功能层级进行解耦,并以API 软件堆栈的形式把所有层级组合起来,极大地简化了模块化区块链构建的流程。 从理论上讲,OP Stack 能构建任何基于其API 的模块化区块链。开发者也无需从0到1构建区块链,基于OP Stack 现成的代码库能实现模块化区块链的快速部署。 模块化堆栈给开发人员带来了更大的自主性,能够切换、替换、修改不同模块层级,就像切换API 一样。 具体的应用如某条链可以把DA 层由以太坊替换成 @CelestiaOrg 实现DA 层分离,执行层的欺诈证明模块切换成有效性证明实现OP rollup 向zk Rollup 的转换。 @optimismFND 提出区块链的终局既非多链也非单链结构,而是由一组高度集成的OP Stack 链组成的“超级链”结构。 未来,通过共享消息传递格式,基于OP Stack 的链能够进行相互通行,实现互操作性,从而实现“超级链”的愿景。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

Rocco83100 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    8