前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web3公链DA扩展方向(2- 模块化公链赛道)

Web3公链DA扩展方向(2- 模块化公链赛道)

原创
作者头像
davy the bot
发布2024-05-15 13:36:30
3610
发布2024-05-15 13:36:30

本文是Web3公链DA扩展方向 的下半部分,关于DA的概念, DA扩展的叙事方向整体, 请看 Web3公链DA扩展方向(1)

叙事3:模块化公链

模块化概念

什么是模块化

公链模块化由Celestia的创始人Mustafa Al-Bassam提出并推动,他在2018年和V神共同发表了论文《Fraud and Data Availability Proofs》, 提出了DA的概念, 可以将DA层单独拿出来独立维护, 后来Mustafa继续在该方向上坚持,希望将区块链架构进行细化分割,各个模块之间可以拼接组合, 并基于此推出了自己的项目 Celestia.

基于Mustafa的理念,目前一般把链的模块分成:

  1. 共识 -- 去中心化的保证,确定 txs 的顺序,以太坊信标链是共识层。
  2. 执行 -- 交易执行的地方, 主要是EVM或者EVM服务。
  3. 结算 -- 验证交易执行结果是否正确,解决争议, 完成状态转换的确认。 (相对于L2而言,更好理解, 对于Rollup而言主要是指Rollup合约中的ZK证明或欺诈证明逻辑)
  4. 数据可用性 – 确保 txs 数据的广泛实时可使用

https://www.aicoin.com/article/296934.html 上图的一个拆分解释

关于共识和结算层为什么要分开,却可能看起来一起完成的理解:

现在的业务形态确认一个rollup高度需要两个东西,一个是状态有效被以太坊共识,经过了去中心化验证,第二个是数据已记录被以太坊共识了,数据存了下来可用(DA)。 模块化中这两个部分被分开来看了,看起来二者都是需要的才可以成立。 如果只是数据放链下,状态根放以太坊,那状态还是可以保证正确的,只是丢了数据恢复不了,这是validium; 在celestia场景下,共识看起来下层到DA去了,基于一个前提就是rollup这种数据被DA共识了,实际上状态也被共识了,因为状态都可以根据数据恢复出来(事实上所有公链的共识和DA都是同步一起的)。 至于状态正不正确,就是结算层的事情了,可以在结算层在组织欺诈挑战或zk验证等。 而现有的以太坊上的rollup模式,共识层和结算层实际上一起做了。 所以看起来要么共识和DA在一起,以DA为主, 要么共识和结算在一起,以结算为主。 但实际上DA可以单独拿出来放到链下某个地方,所以DA和共识得分开。 结算可以自己做而不和共识一起做, 比如只把状态根发布到以太坊, 但对不对由业务节点自己去验证结算,如果不对就通过某种方式去以太坊回滚状态(如polygon),当以太坊上的合约不具有欺诈挑战和验证ZKproof的能力时,结算层就在上面一层,而共识层仍然保持在以太坊中,同时DA可以在其他别的地方, 所以共识和结算也得分开。

结算,DA,共识的意义简单区别:

  1. 结算: 在于挑战和验证明,决定rollup这批交易执行得对不对
  2. DA: 在于存下来没有,后面能不能用。 (但如果DA是足够去中心化的, 那DA的实现就是 DA by 共识的)
  3. 共识: 在于这次提交大家都看得见。这在web3中只能依赖去中心化的能力。

模块化能带来什么好处

  1. 上链费用降低
  2. 主权性 : 比起当前的Rollup的校验都在L1链上执行,模块化后解释权和执行权留给 Rollup,这些 Rollup 就像是 L1 区块链那样运行。脱离了对L1的耦合后,拥有“主权”的执行层和结算层可以独立快速地改变和创新(可以进行分叉了),而共识层可以保持稳定。
  3. 可扩展性 : 公链原本存在“可扩展性瓶颈”,即“增加交易数量而不增加验证链的成本”,脱离对于L1 DA固有验证逻辑的依赖, 以及引入可用性采样等继续,使同样成本和节点性能下,区块载量可以更大,TPS更高。
  4. 易于构建项目 :把当前大型rollup基于以太坊构建的技术复杂度降低为业务上可以根据模块化服务快速启动Rollup的App-Rollup模式。

可扩展性为什么原本存在问题,模块化(DA)解决了一个什么问题?

区块链领域的可扩展性瓶颈被称为状态膨胀(state bloat)。在原有的验证方式下,轻节点只能部分跟踪区块头,无法完整地验证链的正确性,只有性能更好的全节点拥有这个能力。

随着更多交易的发生,区块链的状态(执行交易所需的信息)会增长,对带宽以及计算力要求也越大,对节点性能要求增加,也就导致符合条件的节点越来越少,少数全节点成了网络的中心,全节点串通作恶的可能性变大,给网络带来中心化风险,安全性变差。

欺诈证明和有效性证明(包括merkle root,rollup的proof等)降低了可扩展性瓶颈, 让轻节点可以验证部分交易的存在,但没有解决验证交易“不存在”, 共识节点恶意不提供部分交易数据等问题。这里就指向了“数据可用性”。

数据可用性是轻节点可以利用欺诈证明和有效性证明等加入网络并完全验证已保证网络安全的前提条件。

引入模块化后的rollup分类

(1) 智能合约Rollup (Smart contract rollup)

是当前Rollup的组织形态,即DA和共识在以太坊交易和信标链共识上完成, 数据的验证和挑战(结算)在合约里完成。

智能合约rollup的升级(或分叉)权限归属于智能合约本身的升级。

(2) 主权Rollup(Sovereign Rollup)

在模块化堆栈的背景下,主权rollup负责执行和结算,而 DA 层处理共识和数据可用性。DA 层不验证主权rollup的交易是否正确,而是由外部验证主权Rollup的节点负责验证新交易是否正确。

这样一来,rollup只是一来数据存放在DA,其他的行为都可以自己控制,就好像获得了"国家主权",基于此,主权rollup的升级和L1链的分叉升级一样,对于主权rollup,通过分叉升级是标准的,并允许用户(节点)选择加入或退出升级。

主权rollup的另一个核心点在于,可以由轻客户端来进行自主验证全节点的数据。(即我自己可以决定状态对不对,至于我怎么决定,可以让客户端自己验证决定,也可以再交给一个团体等,总之我拥有决定最后验证和确定状态的主权,而不是以太坊, 更多理解看下文)

关于主权rollup的形态和流程,下文Celestia项目介绍中可以更深刻理解。

(3) 结算Rollup(Settlement Rollup)

有专门结算层的rollup, 这样rollup不需要直接和DA层(Celestia)发生接触。结算Rollup如果对于结算层可控,也可以算成主权rollup的一种。

如果rollup希望更加轻量级一些,就让结算逻辑给一些通用结算项目来做, 因为ZK验证和OP挑战的逻辑都是通用的, 多个Rollup的结算逻辑放在一个地方也可以更好地节省成本。

模块化独角兽Celestia

Celestia是什么

(1) Celestia概念

首先Celestia是一个Tendermint-Based PoS公链, 有自己的节点和代币。 其次它提供模块化区块链服务,主要提供 “与执行解耦的共识服务” 和 “数据可用性服务” 两种服务给其他rollup使用。

Celestia提出了一个关键的概念:

L1不需要验证交易数据和ZK证明等来证明来保证rollup的安全。

这是本部分最关键的概念,只有理解才能区分模块化设计的意义。

客户端结算: 现在ZK和OP的状态确认和挑战,都在Rollup合约里完成,即在链上合约结算。 但不在合约里挑战行不行? 可以, 因为数据DA已经保证了, 不需要合约里确认,客户端也可以去确认,不管谁确认,确认的结果都是一致的, 那谁用rollup,谁就根据DA的数据去确认rollup状态和高度, 然后决定是否继续使用他,发现错了怎么挑战他等等。比如ZK rollup一直发数据到以太坊,但是合约没验证, 某一个高度H的ZK proof错了,那么这个ZK继续发数据到以太坊也没用, 因为使用者都发现H的数据错了,不会认可后面的数据。

第三方结算: 让rollup质押一些资产到一个单独链, 专门高速地做结算(下文CEVMOS方案),相当于把当前以太坊上rollup合约的验证和挑战部分搬到了另一个链,可以在这个链做惩罚Slush等。

由此可以理解,结算层为什么可以分开来运行。同时DA确实可以放链下, 而链上的共识就只需要做一件事,去中心化共识一下最新DA的根。而执行一直是Rollup独立做的,自然可以灵活改变。

这样,DA,共识, 结算, 执行都明确的分开了, 且逻辑上可以分开, 这才是模块化生态的项目认可的他们的创业切入的机会。

只要L1能够提供交易的顺序和数据可用性,rollup节点(或者是客户端)本身就可以确定哪些交易是有效的。 这就是模块化区块链概念中的主权rollup(Sovereign Rollup)模式

(2)怎么使用Celestia, 以ZK Rollup为例:

假设产生了一笔交易改变状态,rollup排序器执行该交易,并将更新的状态根和ZK Proof一起发布到Celestia。

Celestia并不执行或验证这个证明(也没有智能合约)。它只是把证明放到Celestia区块链的一个区块中。

Rollup节点或客户端从Celestia读取数据,并看到一个新的状态根和已发布的证明。

Rollup节点或客户端验证ZK证明,然后更新自己的状态,如果ZK证明不正确,就忽略这一笔数据不更新自己的状态。

以太坊和Celestia上的ZK rollup都会向L1发布状态根、ZK证明和个别交易(为了数据可用性)。在以太坊,L1验证zk证明。

在Celestia,L1将证明验证留给rollup的节点。

Celestia提供了发布数据以及给rollup数据提供安全性的能力。

(3)Celestia的模式和服务带来什么好处、优势?

模块化的优势,提供主权rollup能力, 低价的rollup数据空间;

不做执行,不感知数据有效性,提供执行层的自主创新;

提供稳定的DA空间价格,L1上的网络峰谷,不影响不同行业领域rollup的实时价格,而是由该rollup本身的业务热度决定;

由于rollup共享DA, rollup之间可以建立最小信任的桥;

轻节点+Cosmos SDK高效部署 ;

Celestia的发展情况

CEO Mustafa 是伦敦大学计算机科学的博士,专业研究区块链扩容问题。他曾联合创立了区块链扩容平台 Chainspace,后被 Facebook 收购。他也是欺诈证明的发明者,曾于 2018 年作为第一作者与 Vitalik 发表论文《欺诈与数据可用性证明》。

CTO Ismail 曾在 Tendermint(Cosmos 母公司)、Interchain Foundation、Google 等公司担任软件工程师,具有丰富的区块链技术经验。CRO John 是多伦多大学计算机工程的博士,曾担任 ConsenSys 的研究员和工程师,后来联合创立了 Optimistic Rollup 解决方案 Fuel Labs。COO Nick 拥有斯坦福大学的硕士学位,此前曾是公链 Harmony 的联合创始人。

时间节点:

2019.05 LazyLedger白皮书发布 2021.03.04 LazyLedger Labs完成150万美元种子轮融资,计划年底启动测试网 2021.06.15 LazyLedger更名Celestia 2022.05.25 Celestia启动其首个测试网Mamaki 2022.10.20 Celestia完成5500万美元融资,Polychain Capital等领投 2023.03.15 Celestia测试网Blockspace Race上线,区块浏览器已启动 2023.05.12 Celestia:Quantum Gravity Bridge初期版本已上线Blockspace Race测试网 官网预计2023主网上线,目前还未发行代币

Celestia 的激励测试网计划Blockspace Race, 2023 年 3 月启动,有超过 700 个主动采样轻节点,在支持数据可用性采样方面取得了重大进展, 活动有拥有 1000 名参与者。

生态建设, celestia同样孵化和合作了一些列生态项目,显示在 https://celestia.org/ecosystem/ , 大多数的(除了Fuel?)模块化项目都处于celestia的生态体系内。

https://www.chaincatcher.com/article/2080466 Celestia:模块化区块链的星辰大海

Celestia的实现原理

Celestia实现数据可用性层的关键特性有2个,两都是新颖的区块链扩展解决方案:

  • 数据可用性采样 ( Data Availability Sampling DAS ) :DAS 使轻节点能够验证数据可用性,而无需下载整个块;
  • 命名空间Merkle树 ( Namespaced Merkle Trees NMT ) :NMT 使 Celestia 上的执行层和结算层能够下载仅与其(NameSpace)相关的交易。(开源代码

(1) 数据可用性采样:

一般来说,轻节点只下载包含区块数据(即交易列表)承诺(即 Merkle 根)的区块头。

和Danksharding类似,Celestia也是使用了二维的Reed-Solomon纠删码,对于扩展后每行每列都计算Merkle Root, 然后对于各个Merkle Root又计算一个总的Merkle Root.

为了验证数据是否可用,Celestia 轻节点就对 2k × 2k 数据块进行采样。在数据确实已不可用时(超过(k+1)^2, 或简单理解为1/4),采样到不可用数据对应概率如下:

只要有足够采样次数,就可以保证概率足够低。

此外,每个采样收到的具有正确 Merkle 证明的数据块都会被广播到网络中。因此,只要 Celestia 轻节点一起采样足够的数据块(即至少 k × k 个独特的块),完整的块就可以由诚实的完整节点恢复。

使用DAS的缺点是什么? 1. 恶意节点可以不按照RS编码的方式来生成数据, 2. 生产的块中的数据不是多个共识节点重复保存和生成数据编码而验证的,而是采样验证的(完整数据一开始只在生产数据的节点手上)。 ---> 所以要有Fraud Proof机制, 而采用二维编码的好处是,做证明的时候,只需要下载行或者一列的数据就可以证明。

(2) 命名空间Merkle树(NMT):

Celestia 将块数据划分为多个命名空间,每个命名空间对应使用 DA 层的每个应用程序(主要是Rollup)。这样,每个应用程序只需要下载自己的数据,而可以忽略其他应用程序的数据。

因此使用NMT作为数据组织的结构, NMT 是一棵 Merkle 树,其叶子按名称空间的标识符排序,且其hash算法经过了修改,使树中的每个节点都包含其所有后代的名称空间范围。

理解:

  • 有了namespace的范围后,比如上图,如果包括了namespace1, 那么就必须提供namespace1中的D0,D1,D2数据才能够验证成功。 假设只给了D0和D1, 那么就会发现N2-N9这条线也包括了namespace1, 如果没给D2那么就会有数据缺失。
  • 因为最后的hash都是对应到叶子的,那么只要包括了namespace1, 你就没办法不给。 如果你只给一个中间路径, 比如你提供了N11作为merkle路径用来验证N10, 那么检验也会知道N11也包含了namespace2, 而没有提供N11下面的N6,验证就会出错。

https://github.com/celestiaorg/nmt , 代码中对于hash的修改在于:把每一个节点的 minNamespace和maxNameSpace放入到生成好的hash的前面, 所以每次可以读取出来。

(3) Celestia App 链:

Celestia提供的服务称为Celestia App, 是由Cosmos SDK开发的PoS链,所有的DA交易都是和Celestia App进行交互的, 模块示意如下图:

celestia-core 是Tendermint 共识算法的修改版本,在tendermint的基础上进行了如下变化:

  • 启用Block数据的纠删码(二维RS编码方案)
  • 将 Tendermint 用于存储区块数据的常规 Merkle 树替换为NMT,使上层(即执行和结算)仅下载所需的数据

更进一步分析看: https://arxiv.org/abs/1905.09274 2019年Mustafa发表的LazyLedger的论文

Celestia的运行流程

(1)提交 PayForBlob 交易。

交易包含包含发送者的身份、可用的数据(也称为message)、数据大小、namespace ID 和签名。

这些交易提交后会被拆分为e-Tx和blob,然后被Celestia虚拟机执行,执行完成后,区块的commitment会被计算并添加到区块头中。(就是上文说的二维RS编码后4K行列的Merkle根的Merkle根)且是按照上文的NMT方式来计算的,方便单个Namespace的读取。

(2) 验证数据可用性

为了方便验证Celestia划分了2个网络:

(1) 共识网络:通过Tendermint P2P链接,执行TBFT协议,节点有限。

(2)DA网络: 通过Libp2p连接(DHT), 里面又分为全节点(Celestia Node)和轻节点(Celestia Light Node), 全节点同步全部数据,轻节点负责同步最新的区块头,然后对数据进行DAS抽样验证。轻节点也可以提交 payForBlob 交易。

如果轻节点出现验证失败,就会忽略当前的区块头,之后再重试(Slash机制未说明)。 只要调整好每个区块的data chunks数量和抽样检验的数量, 就可以充分降低错误确认的可能性,使得区块生产者没有保留区块数据的利益空间。

Celestium - 基于Celestia DA的以太坊L2解决方案

终极的主权链需要新的rollup在Celestia网络上启动, 这个过程是冷启动的, 所以第一步计划是继续沿用以太坊的安全性来过渡,因此提出类似Validium的Celestium方案,对应开发的具体项目叫 “量子引力桥”(Quantum Gravity Bridge project), 他并不是一个实际意义上的资产跨链桥,主要是开发了去以太坊上验证Celestia上的状态根的能力。

Celestium让rollup状态的验证和确认仍然保持在以太坊上,如上图所示,DA Bridge Contract会验证来自Celestia验证者提供的merkle根和签名,L2 Contract(也就是Rollup Contract),接受rollup的有效性证明,并检查证明对应的数据原文已被DA Bridge Contract所确认。

小结:

这种模式只解耦了DA,最接近当前的Rollup模式,同时保留了以太坊的安全性, 让Rollup开发者可以初步接受DA分离的模式。(或者说提供了一种标准化实现一个自己的Validium的方式

https://blog.celestia.org/celestiums/

Cevmos - Celestia上的Settlement Rollup

Cevmos 是 Cosmos EVM 应用链 Evmos 与 Celestia 合作共同开发的 rollup 堆栈,旨在成为 Celestia 上基于 EVM rollup 构建的结算层服务。

Cevmos将通过使用Rollkit(以前又叫Opmint, Optimistic Tendermint 的缩写)而不是现有 Cosmos 链上使用的 Tendermint Core 共识引擎来实现为 Celestia rollup。

目前,rollups 使用以太坊主链进行结算。然而,以太坊链并不是 Rollup 的理想结算层,因为它与直接使用该链进行智能合约交易的非 Rollup 应用程序共享。因此,与专门的结算层相比,以太坊链是非专业化的,并且规模较小。

里面又衍生了一个概念叫Recursive rollup (a rollup within a rollup) ,即Cevmos本身也是一个相对于DA层Celestia的Rollup,也就是结算Rollup, 即这个rollup作为其上面的递归rollup的结算层。

Cevmos 上的 rollups 会将他们的数据发布到 Cevmos,然后再将其发布到 Celestia。就像今天的以太坊一样,Cevmos 将作为结算层执行 rollups 证明。Cevmos 的目标是允许以太坊 rollups 在 Celestia 上直接发布,而无需更改其代码库。

另外的恶一个好处就是Cevmos和各种Recursive Rollup之间可以建立最小信任桥,不同rollup之间也可以很方便地互操作一些Proof数据等。

上图中Al-bassem的设计中还包括了从CEVMOS到Cosmos Hub的联通,希望可以打通cosmos生态,这边暂时只是设计,实现以及意义还没有明确。

CEVMOS项目21年开始提出,到目前23年仍然没有很明确的落地消息,进展存疑。

小结:

CEVMOS模式是结算Rollup, 但为了保留以太坊安全性, 成为Recursive-Rollup,即自己做完的结算验证,把一些根再保存在以太坊上, 这样做独立了结算机制,使之可以灵活调整,节约了在以太坊结算的gas成本。 同时对于上级的Rollup开发者来说, 这个结算服务包装了到Celestia的数据DA和到以太坊状态根DA, 结算的问题也解决了, rollup只需要关心出块执行生成证明就好了。

https://forum.celestia.org/t/an-open-modular-stack-for-evm-based-applications-using-celestia-evmos-and-cosmos/89/5 Al-bassem对CEVMOS说明的文章

Celestia小结

Celestia基于模块化的思想,提出了关键的概念假设 - Rollup的状态不需要在L1验证。 从而构建了一个提供DA服务的链, 特性包括:

  1. 基础层(DA层)只通过去中心化保证数据的可用性(不执行)。
  2. 由构建在顶部的应用程序执行(可扩展)。
  3. 节点增长导致更多吞吐量,因为其验证的技术DAS是通过二维纠删码,以及欺诈证明的方式来执行,是次线性的。

https://celestiachinese.substack.com/p/ff3?utm_source=profile&utm_medium=reader2 Celestia阅读清单

https://www.rootdata.com/zh/Projects/detail/Celestia?k=MTk4NA%3D%3D Celestia 项目数据

模块化赛道解析

模块化概念热火之后,各个层次都出现了模块化探索的项目,我类比开发组件,模块化赛道简单分为两个方向:

  • 模块化组件 :在模块化的每层中提供服务, 如果开发组件中的DA,消息队列,缓存, LB, RPC接口等。 组件一般是各种独立的团队在做。
  • 模块化框架 :提供使用各种模块化工具构建出模块化Rollup的框架, 如开发框架中的 Spring Cloud,Istio, Trpc等,定义各层的标准接口和消息通信方式等。框架目前由头部的rollup项目来提供。

模块化组件

由于独立做共识层的价值不大,当前的模块化组件创新主要集中在DA,结算,和执行层。

简单地理解一下每一层做的事:

  1. DA是要提供数据存储的去中心化服务
  2. 执行是为用户包装虚拟机或者创新的虚拟机,或者包装ZK证明生成服务等
  3. 结算服务主要是包裹了对接DA,以及两类rollup的验证和挑战机制。

如果仅论本文讨论的DA赛道而言,当下未来的主要选项为:

  1. Celestia : 上文已有介绍,模块化提出者, 通过抽样和欺诈证明提供数据可用性
  2. Avail : 方式和Celestia相近,技术原理采用了KZG和Danksharding相近
  3. EigenLayer (Eigen DA) :已重定向质押为概念,提供DA服务和其他中间服务
  4. Ethereum : 最终会通过Full Danksharding来支持rollup的DA需求

主流项目:(KM搬迁表格较难调整格式,故采用Iwiki的截图,下同)

次级、孵化项目:

模块化框架 - OP Stack VS ZK Stack

Optimism没有跟进Validum,而是直接2022年提出了更进一步的OP Stack,。

2023年Coinbase 及 a16z 分贝加入 Optimism 生态,通过OP Stack分别发行了Base链和Magi, 同时2023 年 6 月 6 日的 Bedrock 升级是 OP-Stack 的初始主网版本。。此后还有opBNB、Zora、Worldcoin等众多公链都给予了OP Stack很好的品牌背书。

2023年6 月以来至今,OP Stack 生态扩张势头明显提速——两个半月的时间内,已有 11 个项目新宣布基于 OP Stack 推出相关 L2 网络,占目前 OP Stack 生态全部 19 个项目(不完全统计)的 57%。

作为 Optimism 推出的开源模块化工具包,OP Stack 允许开发者根据自己的需求场景利用 OP Stack 工具包组装一个定制的 Layer2 网络,从而接入以太坊网络并共享资源,也成为今年以来「一键发链 + 模块化」的最大黑马。

为了与OP Stack抗衡, zkSync 团队在2023年06月23发布了zk Credo初版,其中解释了去中心化区块链网路的重要性,更重要的是,推出ZK Stack,其特色与OP Stack 雷同,有着模组化且开源的特性,ZK Stack 也希望可以帮助开发者能够更加弹性的打造自己的“Hyperchain”

每个Hyperchain 都能汇集到zkSync 的生态系当中,从而形成更加完整的网路。zkSync团队也表示将持续优化程式码,目标是要能够让开发者无负担的一键部署Hyperchain。

OP Stack

关键字: 标准化API, Bedrock升级, 超级链概念

OP Stack 可理解为一组开源的软件组件,使任何人都可以使用Optimistic rollups 在以太坊之上构建自己的Layer2 区块链。它将大部分计算和存储移至链外,同时依赖以太坊来确保安全性和最终性,从技术层面来讲,Optimism 主要体现在它切实地为用户节省了大量链上费用。OP Stack由四个主要组件组成:

  • 主网:OP Mainnet 是一个廉价且快速的以太坊 Layer2 网络,与以太坊虚拟机EVM相兼容;
  • 合约:实现OP Stack核心逻辑和功能的智能合约。OP合约包括状态转换系统(STS)、欺诈证明者 (FP)、状态承诺链(SCC)以及规范交易链(CTC);
  • 服务:提供 Layer1 和 Layer2 之间的数据可用性、数据同步和通信服务;
  • 工具:促进基于 OP Stack 的区块链的开发、测试、部署、监控和调试。

OP Stack 的最终愿景是构建一个 Optimism Superchain ,将彼此分离的L2整合成一个可互操作的组合系统。OP Stack 也许会使L2的发布像今天在以太坊上部署智能合约一样简单,将 “一键发链”变得像现在“一键发币”一样简单,也许在不久后我们仅仅只需要一键点击就可以发布区块链。

OP Stack 整体是一个六层的结构,每个层级都由一个明确定义的API描述,该API将由该层级对应的模块来填充。

数据可用层

  1. 数据可用层(DA 层)是 OP Stack 中的一个重要组成部分,用于存储和检索 OP Stack 发布的数据,直接影响到网络的性能和可扩展性。在 OP Stack 中,以太坊目前被用作数据可用性层,这意味着 OP Stack 的数据将存储在以太坊区块链上,这保证了其数据的安全性。
  2. EIP-4844 是一个重要的提案,旨在降低数据可用层的费用,这也是坎昆升级备受关注的原因之一。

排序层

  1. 排序层在 OP Stack 中起着关键的作用,它决定如何有效地收集链上用户的交易并将其发布到数据可用层模块中。默认情况下,OP Stack 使用单个专用排序器来处理交易。然而,这种单一排序器的方式可能会引入链的中心化风险。
  2. 为了解决这个问题,官方建议未来可以采用多重排序器的模式。多重排序器可以提供更高的安全性和去中心化程度,但可能会对链的性能产生一定的影响。

派生层

  1. 派生层在处理数据可用层中的原始数据时,在 OP Stack 中主要负责解析和处理这些数据,以生成经过处理的输入。
  2. 派生层和数据可用层之间的紧密连接确保了原始数据的准确性和完整性。派生层的主要任务是处理原始数据,将其转化为可执行的输入,并确保这些输入能够被以太坊引擎正确地解析和执行。这种协作和互动使得派生层和数据可用性层能够有效地工作,从而为区块链网络提供高效和可靠的性能。

执行层

  1. 执行层是 OP Stack 中的一个主要组件,它负责处理和执行链上的智能合约和交易。简单来说,执行层即使用的虚拟机类型,OP Stack 的执行层是 EVM。
  2. 执行层的目标是提供高效的智能合约执行和交易处理能力,以确保区块链网络的性能和可扩展性。

结算层

  1. 结算层是 OP Stack 中的一个重要组成部分,用于处理L2交易数据,并在经过L2确认后将确认信息发送到目标区块链进行最终结算。其中最基本的解决方案是乐观协议(optimistic protocol),但也有其他解决方案如 CANNON(下一代故障证明解决方案)。
  2. 未来,还有可能引入 ZK(零知识证明)等有效性证明机制,以解决链与链之间、OP 系L2和 ZK 系L2之间的隔阂问题,进一步提升 OP Stack 的性能和可扩展性。

治理层

  1. 治理层在区块链系统中起到重要作用,用于管理系统的配置、升级和设计决策。多签合约是一种机制,通过多个参与者共同签署交易来实现决策的可信性和去中心化。
  2. 治理代币投票则是利用代币持有者的投票权力来决定系统的决策,例如协议的改变、提案的批准等。这种方式可以确保决策过程的公正性和民主性,使得社区成员能够参与到系统的发展和决策中。

理解: 在统一而且开源的开发框架下,各个层级的组件接入都是标准化的形式,可以自由的选择插件,同时由于通信和数据格式的基本统一,还可以享受到方便的跨链通信机制。

下图是Celestia集成进OPStack DA层的示意

https://blog.celestia.org/modular-data-availability-for-the-op-stack/

刚完成的Bedrock升级: 将模块化OP Stack的执行层和证明系统,使其兼容未来的欺诈和有效性证明。

  • 降低网络费用:优化了数据压缩策略,当向L1 提交数据时,可以消除与EVM 执行相关的Gas Fee ,大约可减少10%的额外费用;
  • 减少存款等待时间:在节点软件中引入了对Layer1 重组的支持,预计存款可以在3 分钟内得到确认;
  • 改进证明模块化:从OP Stack中单独抽象出证明系统,可以在容错证明或者Zk-Snark等有效性证明机制中选择;
  • 改进节点性能:通过在单个rollup区块中一次执行多个事务,每年可减少15G的数据量。
  • 改进以太坊等价性:删除了先前版本中与以太坊的多个偏差,增加了对 EIP-1559、链重组以及 Layer1 上存在的其他以太坊功能的支持。
ZK Stack

ZK Stack 是一个免费的模块化开源框架,旨在基于zkSync Era 的代码构建定制的 ZK 支持的 L2 和 L3(称为超链)。

ZK Stack 的核心提供了两个关键功能:主权和无缝连接。创建者(您)拥有代码的完整权利,并享有不受限制的自主权来定制和塑造链的各个方面。超链独立运行,仅依赖以太坊 L1 来保证其活跃性和安全性,而超桥网络则促进每个超链的互连,从而实现无需信任、快速(几分钟内)和廉价(单笔交易成本)的互操作性。

特点:

  1. 免费:ZK Stack 是在免费开源许可证下开发的,确保其免费可用,我们强烈鼓励您根据自己的需要贡献和使用它。
  2. 可组合:使用 ZK Stack 构建的超链可以在无需信任的网络中无缝连接,具有低延迟和共享流动性。
  3. 模块化:定制和塑造超链的各个方面,从排序器和数据可用性模式的选择到定义您自己的代币经济。
  4. 久经考验:zkSync Era 是以太坊上采用最广泛的 ZK rollup。凭借这一记录,ZK Stack 在安全性和可靠性方面是一个安全的选择。
  5. 面向未来:ZK rollups 是以太坊扩容的未来。为了充分发挥 ZK 超能力的潜力,从一开始就构建正确的架构至关重要。

小结

整个DA赛道的核心逻辑:

纠删码+数据可用性采样 → 轻节点、客户端就能够验证数据 → rollup数据DA可以脱离L1 → Rollup的DA扩容,主权机制创新

模块化框架的核心逻辑:

从多链组合(Cosmos等)转向rollup组合;rollup自由选择模块化下的各层组件; 核心与利益回归以太坊;终局形式可能是Rollup全家桶框架的形式(XX Stack)

不可逃避的问题:

  1. 离开了以太坊还是Layer2吗?
  2. 模块化项目的前提是有很多新的rollup要建立,要因为成本问题而迁移,这个前提是否成立?
  3. 与以太坊利益不一致的项目,是否还能够被以太坊生态接受?

参考:

Danksharding部分:

https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum The Hitchhiker's Guide to Ethereum - Delphi的重要长篇观点

https://dailyclipper.net/dc/2022/06/06/318944/ 上文的中文翻译

https://medium.com/taipei-ethereum-meetup/rollup-and-the-boost-from-proto-danksharding-85d2fe0566b6 本文引用的Danksharding的一些图来源,但不是很准确

https://medium.com/taipei-ethereum-meetup/rollup-proto-danksharding-implementation-detail-913a3c61fde8 本文引用的Danksharding的一些图来源,但不是很准确

https://notes.ethereum.org/ @hww/workshop_feb_2022 V神等讨论danksharding的材料, 包括dank本身的slice,多数网图出自那个ppt

https://zhuanlan.zhihu.com/p/610737860 解读以太坊路线图

https://cn.cointelegraph.com/news/understanding-the-merge-surge-verge-purge-and-splurge 以太坊合并成功完成,重温以太坊路线图

https://learnblockchain.cn/article/4334 一文读懂以太坊新升级方案Danksharding, 比较简练准确,是对The Hitchhiker's Guide to Ethereum的提炼和补充

https://www.chaincatcher.com/article/2086654 深度解读 EIP-4844:Sharding 的一小步,以太坊扩容的一大步

https://km.woa.com/articles/show/567634 Donner对于Danksharding的总结

KZG数学原理:

https://www.defidaonews.com/article/6784542 详解 KZG 如何应用于 zk-rollup 以及以太坊 DA 方案

rollup's DA部分:

https://www.bitpush.news/articles/2990522 IOSG Weekly Brief |拆解数据可用性层:模块化未来中被忽视的乐高积木

模块化部分:

https://coinmarketcap.com/alexandria/article/what-is-data-availability Mustafa写的关于模块化DA概念的文章

https://volt.capital/blog/modular-blockchains Modular Blockchains: A Deep Dive

https://www.chaincatcher.com/article/2080466 Celestia:模块化区块链的星辰大海

https://www.panewslab.com/zh/articledetails/8903p3w6.html ​详解中间件EigenLayer:如何为以太坊提供二次安全保障?

rollup 本身资料:

https://foresightnews.pro/article/detail/11105 rollup完全指南中文翻译版. (原版:)

https://mirror.xyz/0xb9e749FD3802D4A2162320ea7dB5AB8bf66a0AEA/fPdRxx4pFaL7I55scSbctxI7M_nogxJVsSjPS4zm6Zs StarkNet 技术架构和特色生态

OP Stack & ZK Stack

https://www.panewslab.com/zh/articledetails/pe39pb87.html Layer2模块化战争打响:OP Stack VS ZK Stack,谁能成为最后赢家?

https://www.theblockbeats.info/news/44546 Optimism盛宴将至?OP Stack生态项目全览

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 叙事3:模块化公链
    • 模块化概念
      • 什么是模块化
      • 模块化能带来什么好处
      • 引入模块化后的rollup分类
    • 模块化独角兽Celestia
      • Celestia是什么
      • Celestia的发展情况
      • Celestia的实现原理
      • Celestia的运行流程
      • Celestium - 基于Celestia DA的以太坊L2解决方案
      • Cevmos - Celestia上的Settlement Rollup
      • Celestia小结
    • 模块化赛道解析
      • 模块化组件
      • 模块化框架 - OP Stack VS ZK Stack
  • 小结
  • 参考:
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档