appliedzkp的zkevmEVM Circuit

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appliedzkp的zkevmEVM Circuit相关的知识,希望对你有一定的参考价值。

1. 引言

相关定义有:

  • slot:一个slot内有多行(rows),用于verify a single op
  • q:为enable a slot的selector,should be 1 only in the last row in a slot。
  • x_diff_inv:为Prover witness,等于inv(fixde_x-x),其中fixed_x为baked into circuit。用于switch on op and case custom constraint by 1-(fixed_x-x)*x_diff_inv (为is_zero expression)。
  • context:有:
    – gc: global counter
    – addr: address holding opcodes
    – pc: program counter
    – op: operator respect to addr and pc
    – sp: stack pointer 等等
  • v0…v31:为decompressed operating values in word bytes from low to high (0x42 will be [0x42, 0, …, 0])
  • inv:为field fq域内的倒数,若不存在则返回0。
  • compress:用于压缩variadic inputs into single fq using random linear combination。

2. Layout

在evm circuit中,需在单个固定的slot中,验证包括错误场景在内的所有可能的opcodes,因此,需要Prover提供一些auxiliary values来switch on custom constraint。
evm circuit主要包含3大维度:

  • operating values:即opcode的输入输出。如ADD有2个输入,1个输出。Decompression is needed when the relation between inputs and outputs requires byte to byte check。
  • context:the current context evm holds,可有gc, addr, pc等等。
  • op and case switch:

参考资料

[1] https://hackmd.io/@liangcc/zkvmbook/%2Fq8EhMIp_TimpPWWFXtwOVw

以上是关于appliedzkp的zkevmEVM Circuit的主要内容,如果未能解决你的问题,请参考以下文章

appliedzkp的zkevmCall context

appliedzkp的zkevmBus mapping

appliedzkp的zkevm定制化Proof System

appliedzkp的zkevmWord Encoding

appliedzkp zkevm中的Bytecode Proof

appliedzkp zkevm(10)中的Transactions Proof