Polygon zkEVM架构简要说明
Polygon zkEVM处理由以太坊 L2 执行的交易(用户发送到网络的交易)引起的状态转换。之后通过利用零知识功能创建有效性证明,证明这些链外状态变化计算的准确性。
zkEVM的主要组件包括:
共识(POE)合约(PolygonZkEVM.sol)
zkNode
zk验证器(zkProver)
zkEVM Bridge
Polygon zkEVM的架构如下所示:
Polygon Hermez 1.0(早期版本)基于捐赠证明(PoD)共识机制。PoD实质上是一种自动进行的去中心化拍卖,参与者(协调员)出价一定数量的代币,以便被选择创建下一批。
最新的共识合约(PolygonZkEVM.sol)利用了v1.0中现有PoD的经验并增加了对多个协调员无许可参与的支持,以在L2中生产批次。
早期的捐赠证明(PoD)机制基于去中心化拍卖模型,以获得在特定时间段内生产批次的权利。在这一机制中建立了经济激励机制,因此验证者需要非常高效才能具有竞争力。
最新版本的zkEVM共识合约(部署在L1)是基于效率证明模型。利用了v1.0版本中现有PoD的经验并增加了对多个协调人无许可参与的支持,以在L2中生产批次。
共识合约模型利用现有的PoD机制,支持多个协调员无许可的参与在L2中生产批次。这些批处理是从L1的 Rolled-up交易创建来的。共识合约(PolygonZkEVM.sol) 采用了一种更简单的技术并且由于其在解决PoD所涉及的挑战方面具有更高的效率而受到青睐。
基于合约的共识的战略实施承诺确保网络:
一个 Full ZK-Rollup模式需要在链上发布数据(用户需要重建完整状态)和有效性证明(零知识证明)。然而,考虑到以太坊的在链上发布数据会产生gas。这就造成了我们需要在 Full ZK-Rollup情况和混合情况之间做出决定。
在混合模式下,以下两种情况都有可能。
Validium: 数据存储在链外,只有有效性证明在链上公布。
Volition:对于某些交易,数据和有效性证明都保持在链上,而对于其余的交易,只有证明继续上链。
除其他事项外,除非能够高度加速证明模块以减轻验证器的成本,否则混合模式仍然可行。
zkEVM中的底层协议通过使用有效性证明来确保状态转换正确。为了确保已经遵循了一组预先确定的规则来允许状态转换,所以使用了共识合约(PolygonZkEVM.sol,部署在L1上)。
共识合约目前已部署在Goerli测试网上。它可以在这里获得。https://goerli.etherscan.io/address/0xa997cfD539E703921fD1e3Cf25b4c241a27a4c7A
智能合约会验证有效性证明,以确保每个转换都正确完成。这是通过采用zk-SNARK电路来完成的。这种类型的系统需要两个过程:交易批量化和交易验证。
排序器(Sequencers)→向网络提出交易批次,即他们将交易请求分批卷起并添加到共识合约中。
聚合器(Aggregators)→检查交易批次的有效性并提供有效性证明。任何无许可的聚合器都可以提交证明,以证明状态转换计算的正确性。
因此,智能合约会发出两个调用。一个是接收来自排序器的批次,另一个是给聚合器,要求对批次进行验证。
共识智能合约对排序器和聚合器提出了以下要求:
任何拥有运行zkEVM节点所需软件的人都可以成为排序器。
每个排序器必须以MATIC代币的形式支付费用,以获得创建和提出批次的权利。
一个提出有效批次(由有效交易组成)的排序器,会受到交易请求者或网络用户支付的费用的激励。
聚合器从排序器接收所有事务信息,并将其发送给验证器,验证器在复杂的多项式计算后提供一个小的zk证明。智能合约验证了这一证明。通过这种方式,聚合器收集数据,将其发送到验证程序,接收其输出,最后将信息发送到智能合约,以检查验证程序的有效性证明是否正确。
zkNode是运行任何zkEVM节点所需的软件。它是网络所需的客户端,用于实现同步和管理参与者的角色(排序器或聚合器)。Polygon zkEVM参与者将选择他们的参与方式。
作为一个节点,了解网络的状态
作为批量生产过程的参与者,担任两个角色中的任何一个:排序器或聚合器
zkNode的架构在本质上是模块化的。你可以查看下面的图表以了解更多信息。
zkEVM网络的两个无许可参与者是: 排序器和聚合器。已经设计了适当的激励结构来保持zkEVM网络的快速和安全。以下是排序器和聚合器的费用结构摘要:
zkEVM采用先进的零知识技术来创建有效性证明。它使用了一个零知识证明器(zkProver),该证明器旨在在任何服务器上运行,并且经过设计与大多数消费者硬件兼容。每个聚合器将使用此zkProver验证批次并提供有效性证明。
它由一个主状态机执行器、一组辅助状态机(每个都有自己的执行器)、一个STARK证明生成器和一个SNARK证明生成器组成。
简而言之,zkEVM以多项式的形式表示状态变化。因此,每一个提出的批次必须满足的约束是多项式约束或多项式恒等式。换句话说,所有有效批次都必须满足特定的多项式约束。在这里查看zkProver的详细架构。
zkEVM Bridge是一种智能合约,可让用户在LX和LY两层之间转移资产。zkEVM的L1-L2是安全存款和提取资产的去中心化桥梁。它是两个智能合约的组合,一个部署在一个链上,第二个部署在另一个链上。
zkEVM中的L1和L2合约是相同的,只是部署位置不同。Bridge L1合约位于以太坊Mainnet上,以便管理rollup之间的资产转移,而Bridge L2合约位于特定rollup上,它负责Mainnet和Rollup (或Rollups) 之间的资产转移。
L2的互操作性允许一个本地的机制在不同的L2网络之间迁移资产。这个解决方案被嵌入到Bridge智能合约中。
验证器合约能够验证任何ZK-SNARK密码证明。证明批处理中每个事务的有效性。它是任何zk Rollup架构中的关键实体,其主要原因是它验证了确保有效状态转换的证明的正确性。
验证者合约部署在Goerli testnet上。https://goerli.etherscan.io/address/0x8EdA1d8c254a77a57A6A7A1C0262e9A44A7C6D6d
在进入L2中的交易流之前,用户需要一些资金来执行L2交易。为此,用户需要通过zkEVM Bridge dApp将一些以太币从L1转移到L2。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!