# Scroll 区块将在多步骤的过 **Published by:** [Scroll zkEVM](https://paragraph.com/@scroll-zkevm/) **Published on:** 2023-04-07 **URL:** https://paragraph.com/@scroll-zkevm/scroll ## Content Scroll 中的 L2 区块被生成后提交给以太坊,并按以下步骤顺序最终完成: 定序器的角色是生成区块。对于第 i 个区块来讲,定序器生成执行 Trace:T,并将其发送给协调器。定序器还将交易数据 D 作为 CallData 提交到以太坊的合约中,保证数据可用性以及由此生成的状态根和对 Rollup 合约的交易数据的承诺作为状态。协调器会随机选择一个证明者为每个 Block trace 生成一个有效性证明。为了加快证明生成过程,不同区块的证明可以由不同的证明者并行生成。在为第 i 个块生成区块证明 P 之后,证明者会将其发送回协调器。每隔 K 个区块,协调器向另一个证明者分派一个聚合任务,将 k 个区块证明聚合为一个聚合证明 A。最后,协调器向 Rollup 合约中提交聚合证明 A,通过对先前提交给 Rollup 合约的状态根和交易数据 commitment 进行验证,最终可以确定从 i+1 到 i+k 的 L2 Block。 上图说明了 Scroll 区块将在多步骤的过程后在 L1 上最终完成。每个 L2 区块将经过以下三个阶段,直到最终确定: 预提交。预提交示 block 已由定序器提出并发送给证明者。尽管预提交的区块还不是 Scroll L2 链的规范部分,但是由于它们尚未发布在以太坊上,因此信任定序器的用户可以选择预期对它们采取的行动。 提交。提交表示该区块的交易数据已经发布在以太坊的 Rollup 合约上。这确保了区块的数据可用性,但不能证明它是以有效的方式执行的。 终结。终结状态表示该区块中的交易已经被正确执行,并且通过了以太坊上的有效性证明验证。最终完成的区块被认为是 Scroll L2 链的规范部分。 二者在实现方面存在一些技术差异,。一是 Scroll 直接 fork 被广泛使用的以太坊节点实现 Geth 生成 Layer2 的区块,接近原生以太坊实现。Scroll 设计了不同的子电路来证明 Geth 执行跟踪中的每个操作码,并且更容易验证电路与原生以太坊具有完全相同的行为。而 Polygon zkEVM 则使用新的汇编语言重写每个 EVM 操作码,然后为其底层状态机生成证明。 另一个区别是,Scroll 对 zkEVM 电路和聚合电路都使用 SNARK。Polygon zkEVM 是使用 STARK 作为他们的 zkEVM 电路,并使用 SNARK 作为聚合电路来聚合 STARK 证明。 ## Publication Information - [Scroll zkEVM](https://paragraph.com/@scroll-zkevm/): Publication homepage - [All Posts](https://paragraph.com/@scroll-zkevm/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@scroll-zkevm): Subscribe to updates