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 by1-(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的zkevm定制化Proof System