# About Polygon’s zkEVM

By [Yuan](https://paragraph.com/@yuan90) · 2023-06-12

---

> 背景图通过Midjourney生成: /image polygon and robot, super eralism, exquisite 3D rendering, 3D, 4K, octane rendering --aspect 16:9

Polygon的zkEVM正迅速成为当前市场上最有趣的零知识区块链之一。自几周前主网发布以来，Polygon的zkEVM可能成为扩展区块链应用的更主流选择之一。乍一看，理解零知识区块链可能似乎令人生畏，但Polygon的zkEVM通过非常直接的架构挑战了这个假设。

毫无疑问，Polygon的zkEVM是一个非常复杂的平台。然而，其架构可以归纳为四个基本组件：

_· Consensus Contract_

_· zkNodes_

_· zkProver_

_· Bridge_

![](https://storage.googleapis.com/papyrus_images/505016c42e34c6a9f4d37f7db8f40c920689bd6c2832846f9f0ac76cd3ffd3d8.png)

1) Consensus Contract
---------------------

共识合约模型利用了捐赠证明（PoD）共识机制，使多个协调者能够参与到L2批次的生成中。这些批次是由L1的汇总交易创建的。共识合约（PolygonZkEVM.sol）采用了一种更简单的技术，由于其在解决与PoD相关的挑战方面具有更高的效率，因此更受欢迎。

基于合约的共识的战略实施确保了网络在生成L2批次时保持其无需许可的特性，同时实现了高效率，这是整个网络性能的关键标准。该模型还实现了可接受程度的去中心化，并保护网络免受恶意攻击，特别是验证者的攻击。此外，共识合约模型在整体验证工作和网络价值之间保持了公平的平衡。

2) zkNode
---------

为了运行一个zkEVM节点，需要一种名为zkNode的软件。网络要求使用这个客户端来同步和管理参与者的角色，即顺序器或聚合器。Polygon的zkEVM参与者有两种参与方式：

I. 作为节点获取网络状态。

II. 参与批次生成过程，并可以选择两种角色中的任何一种——顺序器或聚合器。

作为顺序器运行时，会从用户那里接收L2交易，执行必要的预处理以创建新的L2批次，然后将该批次作为有效的L2交易建议给PoE智能合约。顺序器从所有发布的交易中获得交易费用，从而有经济动力发布合法交易以最大化利润。

相反，聚合器从顺序器接收所有交易信息，并将其传输给证明者（或zkProver），然后通过复杂的多项式计算提供一个字节大小的zk-Proof。智能合约对这个证据进行验证。因此，聚合器收集数据，将其转发给证明者，接收其输出，最后将信息传输给智能合约以验证证明者的有效性证明。

![](https://storage.googleapis.com/papyrus_images/bda16af9b4d8f7d976acbc77040fa10e8afb75296f94b408c2103df0e19a312d.png)

3) zkProver
-----------

复杂的数学计算（包括多项式和汇编语言）由zkProver执行。这些计算稍后在智能合约上进行验证，可以被视为事务必须遵守的约束，以便修改状态树或退出树。zkProver的工作流程包括四个基本步骤：

I. 节点将Merkle树的内容发送到数据库进行存储。

II. 随后，节点将输入交易传输给zkProver。

III. zkProver从数据库获取必要的信息，以生成节点发送的交易的可验证证明。这些信息包括Merkle根、密钥、相关兄弟节点的哈希等。

IV. 最后，zkProver生成交易证明，并将这些证明传回节点。

4) zkEVM Bridge
---------------

zkEVM Bridge充当一个组件，促进Polygon zkEVM网络与其他网络（包括N1（以太坊主网）或在以太坊之上构建的任何L2）之间的通信和资产迁移。

zkEVM Bridge的功能可以通过涉及两个网络（N1和N2）的简单工作流程来描述。要在N1和N2之间桥接资产，用户首先需要在源网络（第1层）中锁定资产。然后，Bridge智能合约在目标网络N2中生成等值代表资产，称为Wrapped Token。一旦铸币过程完成，用户或接收者可以在目标网络（N2）中认领资产。

相反，执行反向操作也是可能的。在燃烧Wrapped Token之后，Bridge智能合约会在源网络中解锁原始资产。

此外，除了桥接和认领资产之外，Bridge智能合约还可用于跨链消息传递，允许通过Bridge和Claim操作将数据负载从一个网络发送到另一个网络。

![](https://storage.googleapis.com/papyrus_images/3c298a6e4663fa4146a56d3460bf58e39039c36bf8e4e5edc2d3ee9591859302.png)

---

*Originally published on [Yuan](https://paragraph.com/@yuan90/about-polygon-s-zkevm)*
