Layer2的璀璨新星:解读zkRollup扩容方案Scroll的架构设计

This article is not available in the current language yet. Showing the original version.
Scroll是一个EVM等效的zkRollup以太坊扩容方案,核心的模块是zkEVM,用于证明EVM在Layer2中执行的正确性。目前已经开发了一年的时间,并与以太坊基金会的隐私小组进行了深入的合作。

原文:《Scroll的技术与架构设计

作者:Elen

Scroll近期在一级市场的表现非常好,所以我们今天来深入了解一下Scroll的技术与架构设计。

Scroll是一个EVM等效的zkRollup以太坊扩容方案,核心的模块是zkEVM,用于证明EVM在Layer2中执行的正确性。目前已经开发了一年的时间,并与以太坊基金会的隐私小组进行了深入的合作。

为了使得zkEVM变成一个完整的zkRollup,Scroll围绕zkEVM构建了一个完整的Layer2架构。

目前的架构包含了中心化的排序节点与去中心化的证明网络,但未来Scroll将会把排序节点也去中心化,使得整个网络更加健壮。

Scroll的架构

目前的Scroll架构包含三个主要的组件:

  • Scroll节点:从用户交易中构建L2的区块,提交到以太坊主网,并在L1和L2之间传递信息。
  • Roller网络:生成zkEVM的证明,确保交易被正确执行。
  • Rollup和桥合约:为Scroll交易提供数据可用性,验证zkEVM证明,允许用户在以太坊网络和Scroll之间转移资产。

这些组件的角色关系我们可以从下图中得出:

Layer2的璀璨新星:解读zkRollup扩容方案Scroll的架构设计

Scroll节点

Scroll节点是应用和用户与Scroll网络交互的主要方式,Scroll节点包含了三个模块:

Sequencer(序列机)

Sequencer提供了一个JSON-RPC接口从而获得Layer2上的转账信息。每隔几秒,Sequencer会从L2的内存池中获得一系列转账记录,执行这些转账并生成新的L2区块与新的状态根。

Scroll上的Sequencer是基于经过时间验证的Geth(Go-ethereum)开发的,目的是为了保证兼容性和安全性

Coordinator(协调器)

当新的L2区块被生成之后,Coordinator会从Sequencer中获得交易执行记录。然后Coordinator将执行记录分派到从 roller 池中随机选择的 roller 以生成证明。

Relayer(中继器)

Relayer会监视部署在以太坊和Scroll上的Rollup和桥合约,这主要有两个作用。

首先是监控Rollup合约以跟踪 L2 块的状态,包括数据可用性和有效性证明。

其次,Relayer监视部署在以太坊和 Scroll 上的桥合约的存取款事件,并将消息在两条链之间中继

Roller网络

Rollers 在网络中充当证明者,负责为 zkRollup 生成有效性证明。Rollers 有望利用 GPU、FPGA 和 ASIC 等加速器来减少验证时间和验证成本。下图显示了 Roller 如何为每个块生成有效性证明:

Layer2的璀璨新星:解读zkRollup扩容方案Scroll的架构设计

  • Roller 首先将从 Coordinator 接收到的执行序列转换为 circuit witnesses。
  • 其次,Roller为每个 zkEVM 电路生成证明。
  • 最后,Roller使用证明聚合方法将来自多个 zkEVM 电路的证明组合成一个块证明。

 

Rollup和桥合约

Scroll通过Rollup和桥合约来连接以太坊主网和Scoll网络,保证L2交易的数据可用性,并使用户可以在L1和L2之间转移资产。

Rollup合约从Sequencer中获取L2的状态根作为calldata。这为 Scroll 块提供了数据可用性,并利用以太坊的安全性来确保包括 Scroll Relayer 在内的索引可以重建 L2 块。一旦建立 L2 区块有效性的区块证明已被 Rollup 合约验证,相应的区块将被视为在 Scroll 上最终确定。

部署在以太坊和 Scroll 上的 Bridge 合约允许用户在 L1 和 L2 之间传递任意消息。在这个消息传递协议之上,Scroll还构建了一个去信任桥接协议,允许用户双向桥接 ERC-20 资产。

要从以太坊向Scroll发送消息或资金,用户需要在Bridge合约上调用 sendMessage。

Relayer 将在 L1 上索引,并将其发送到 Sequencer 以包含在 L2 块中。从 Scroll 发送回以太坊的消息在 L2 Bridge 合约上使用了类似的过程。

Scroll的zkRollup是如何工作的

将上述的三个模块放在一起,我们就可以知道Scroll zkRollup 的整个工作流程了,如下图所示:

Layer2的璀璨新星:解读zkRollup扩容方案Scroll的架构设计

Scroll 中的 L2 区块生成之后,将提交给以太坊主网,具体的过程如下:

1. Sequencer生成了一系列的块,对于第i个块,Sequencer执行追踪T,并将其发送给Coordinator。同时,Sequencer将交易数据D作为calldata提交给以太坊上的Rollup合约以获得数据可用性,再将由此产生的状态根和交易数据作为状态提交给Rollup合约。

2. Coordinator随机选择一个Roller为每个块生成有效性证明。为了加快证明的生成过程,可以在不同的Roller上并行生成不同的区块证明。

3. 在为第i个块生成证明P后,Roller将其发送回Coordinator。每隔k个块,Coordinator向另一个Roller派发一个聚合任务,将k个块的证明聚合成一个证明A。

4. 最后,Coordinator将聚合证明A提交给Rollup合约,通过对照先前提交给Rollup合约的状态根和交易数据承诺来验证聚合证明,最后确定L2上的[i+1,i+k]之间的块。

经过这样的过程Scroll上的区块会被最终确定下来,每个L2的区块在这一过程中会经历三个过程,其分别为:

  • Precommitted(预确认):表示一个区块已经被Sequencer提交并发送给Rollers。
  • Committed(确认):表示区块的交易数据已经被发布到了以太坊网络的Rollup合约上。
  • Finalized(完成):表示此区块的交易已经被正确地执行。

综上所述,Scroll能够在L2上执行EVM字节码,同时从以太坊主网继承强大的安全性保证。这也是Scroll这种EVM等效和其他EVM兼容方案的最大不同点。

Share to:

Author: DAOVoice.eth

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: DAOVoice.eth. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together
PANews APP
Eleven DeFi protocols have been confirmed to be affected by the Drift security incident, with some core functions temporarily suspended pending resumption of operations.
PANews Newsflash