Polygon zkEVM Prover

1. 引言

前序博客有:

开源代码见:

Polygon zkEVM Prover负责:

  • 生成zkEVM proof。

Polygon zkEVM Prover程序中提供了3个RPC服务:

  • 1)Prover服务:
    • 1.1)调用Prover component来执行输入数据(为a batch of EVM transactions)、计算the resulting state、基于PIL多项式定义及其约束,为该计算生成证明。
    • 1.2)当被Prover服务调用时,Executor component会联合14个状态机来对输入数据进行处理,以生成证明所需的evaluations of the committed polynomials。每个状态机生成各自的computation evidence data,而更复杂的计算则委托给下一级的状态机。
    • 1.3)Prover component调用Stark component来生成 Executor状态机所commit多项式的证明。
    • 1.4)Prover服务的接口定义在文件zk-prover.proto文件内。
  • 2)Executor服务:
    • 2.1)调用Executor component来执行输入数据(为a batch of EVM transactions)、计算the resulting state。注意,不同于Prover服务,Executor服务不生成证明。
    • 2.2)提供了一种快速方法,来检查所提议的batch of transactions构建正确,且符合单个batch证明所需的工作量要求。
    • 2.3)当被Executor服务调用时,Executor component仅使用Main状态机,因为此处不需要生成证明,也就不需要committed polynomials。
    • 2.4)Executor服务的接口定义在文件executor.proto文件内。
  • 3)StateDB服务:
    • 3.1)提供了接口来访问the state of the system(a Merkle tree)和存储状态的数据库。
    • 3.2)由executor和prover使用,作为单一状态数据源,可用于获取状态详情,如账号余额。
    • 3.3)StateDB服务的接口定义在statedb.proto文件内。

猜你喜欢

转载自blog.csdn.net/mutourend/article/details/126227950