# Family zkEVM 协议

By [Family ](https://paragraph.com/@family-2) · 2023-05-18

---

Family zkEVM 协议

在过去的几年里，为了提高以太坊网络的可扩展性，尤其是交易吞吐量，出现了各种不同的第二层解决方案。以太坊网络用户的最终和预期的好处是降低燃气费用，同时保持去中心化和安全性。

Family zkEVM 是一种 Layer 2 Rollup 解决方案，它结合了以太坊区块链 Layer 1 中的数据可用性和执行验证，以确保 L2 状态转换的安全性和可靠性。

组件 #

本部分将描述Family zkEVM为其设计和实现的基础设施，重点概述了在zkEVM协议开发中使用的组件。

zkEVM 协议的三个主要组件是：

*   Trusted Sequencer（序列生成器）
    
*   Trusted Aggregator（聚合器）
    
*   共识合约（FamilyZkEVM.sol，部署在 L1 上）
    

**Trusted Sequencer（序列生成器）**

Trusted Sequencer组件负责接收来自用户的L2交易，对它们进行排序，生成批次，并将它们以序列的形式提交到Consensus合约的存储槽中。

Sequencer执行和广播交易批次到L2网络节点，以实现快速的最终性并降低与高网络使用率相关的成本。这些操作在提交到L1之前就完成了。

Trusted Sequencer必须以Sequencer模式运行zkEVM节点，并控制一个由Consensus合约强制执行的以太坊账户。

**Trusted Aggregator（聚合器）**

Trusted Aggregator组件可以根据可信的Sequencer执行的L2交易批次计算出L2状态。

另一方面，Trusted Aggregator（聚合器）的主要角色是接收可信的Sequencer提交的L2批次，并生成关于批次计算完整性的零知识证明。这些零知识证明是由Aggregator使用特殊的离链EVM解释器生成的。

Consensus合约的逻辑验证这些零知识证明，从而使zkEVM继承了L1的安全性。在将新的L2状态根提交到Consensus合约之前，需要进行验证。经过验证的证明是对一系列批次导致特定L2状态的不可辩驳的证据。

Trusted Aggregator（聚合器）模式下运行 zkEVM 节点，并且必须控制在共识合约中强制执行的特定以太坊帐户。

**共识#合约**

Trusted Sequencer（序列生成器）和Trusted Aggregator（聚合器）与L1进行交互时使用的共识合约是FamilyZkEVM.sol合约。

可信的Sequencer可以将批次序列提交到L1并存储在FamilyZkEVM.sol合约中，从而创建了一个批次序列的历史存储库。

合约FamilyZkEVM.sol还使聚合器能够公开验证从一个 L2 状态根到下一个的转换。共识合约通过验​​证聚合器的 ZK 证明来实现这一点，证明交易批次的正确执行。

**zkEVM 节点执行#**

zkEVM 节点是一个软件包，包含运行 zkEVM 网络所需的所有组件。它可以以三种不同的模式运行；作为 Sequencer、Aggregator 或 RPC。

Sequencer Mode（顺序模式）

在Sequencer模式下，节点保存L2状态的实例，管理向其他L2网络节点的批量广播，并具有内置的API来处理L2用户的交互（转移请求和L2状态查询）。

此外，还有一个数据库用于临时存储尚未排序和执行的交易（待处理交易池），以及与L1交互的所有组件，以便对事务批次进行排序并保持其本地L2状态的更新。

Aggregator Mode（聚合模式）

在聚合器模式下，节点具有执行事务批处理、计算结果 L2 状态和生成计算完整性的零知识证明所需的所有组件。

此外，具有获取由可信排序器在 L1 中提交的事务批次所需的所有组件，并调用函数来公开验证 L1 上的 L2 状态转换。

RPC#模式

在RPC 模式下，zKEVM 节点的功能有限。它主要维护 L2 状态的最新实例，最初是关于可信排序器广播的批次，后来是从共识合约中获取的批次序列。

该节点持续与 L1 交互，以保持本地 L2 状态最新，并检查 L2 状态根的同步。同步器的默认同步速率是每 2 秒一次，除非在配置中另有规定。

---

*Originally published on [Family ](https://paragraph.com/@family-2/family-zkevm-3)*
