ZK rollup目前不支持EVM。Zkevm选择直接支持EVM指令集,并与Solid指令集兼容。
了解layer2技术(特别是ZK rollup技术)现状的小合作伙伴知道ZK rollup目前不支持EVM,并且缺乏可编程性/可组合性,因此ZK rollup仅限于特定场景。通过zkp技术,EVM的实现过程被证明是一个极具挑战性的技术难题。
在ETHcc 4会议上,HERMEZ团队介绍了他们对zkevm的理解和设计。
HERMEZ团队负责人Jordi baylina明确给出了zkevm的总体设计思想。本文梳理了对zkevm设计的理解。
虚拟机证明
Jordi在演讲开始时说:以太坊虚拟机不是为在ZK电路中运行而设计的。换句话说,zkevm本质上是困难的。EVM最初的设计没有考虑到它还需要ZK来证明。在这种情况下,有三种方法:
第1条:从头开始设计一个新的虚拟机,它对ZK友好,易于证明。忽略EVM。
第2条:从头开始设计一个新的虚拟机,它对ZK友好,易于证明。适应当前EVM开发工具并保持稳定性的兼容性。
第3条:直接支持EVM指令集,与SOLid指令集完全兼容。
HERMEZ团队选择了第三个。在当前环境下,其他两种方法不太经济。HERMEZ给出了选择第三种方式的原因:
总体来说,它具有良好的兼容性和高安全性。
总体思路
由于EVM在设计开始时没有考虑ZK电路的证明,因此有必要引入微操作码来支持实心指令集。这些中间说明更适用于电路验证。这些说明构成了UVM。EVM需要在UVM中编译和执行。
众所周知,EVM有一些可变长度的指令,如call、DATAPCOPY、exp、create等。这些指令本质上对电路不友好。通过使用中间指令,这些指令的逻辑可以相对友好地“表达”。
对于块中的所有事务,可以逐个执行相关指令。执行模式为:旧状态+所有交易指令-gt;新身份。一个细节是状态迁移基于块,而不是事务。
多项式承诺
在继续解释实施细节之前,Jordi简要介绍了多项式承诺。多项式有两种表示法:1/系数表示法和2/点值表示法。
给定多项式承诺(CM),验证器可以提供随机质询R。证明者必须给出R中多项式的值和承诺证明。通过Fiat-Shamir算法生成随机挑战值r,将交互式协议转化为非交互式协议。在证明多重多项式承诺的前提下,多项式之间的关系可以由值的关系来确定。以下多项式关系可通过多项式承诺证明:
多项式等式、多项式值等。熟悉plonk或plookup协议的小合作伙伴应该知道这些协议的基础是多项式承诺。
uVM 的整体框架
UVM由以下模块组成:ROM、ram、存储器和各种计算功能模块。主由子模块组成。
必须证明程序的执行状态正确,并确保以下状态正确:
如何证明执行程序正确?
执行程序存储在ROM中。对指令和位置进行编码后,获得执行程序的多项式表示ROM(x)。多项式instrace(x)是通过以相同的方式对主和PC中的代码执行指令进行编码而形成的。无论代码是如何执行的(周期数、跳转模式),instrace(x)中的元素都应该属于ROM(x)。这种依赖性可以通过plookup协议来证明。
注意,instrace指的是执行实例的跟踪。虽然plookup可以证明insttrace(x)中的元素属于ROM(x),但尚未证明insttrace(x)的执行正确性。假设insttrace中缺少一条或两条指令,这也满足依赖关系。简单地说,这种依赖性证明只能证明主要和ROM状态的一致性。
内存状态正确?
主中内存的读写应与内存RAM的状态一致。plookup协议也证明了这种一致性。
内存RAM本身的逻辑是否正确需要额外的证明。
存储状态正确?
UVM的存储是通过键值对实现的。所有存储(键值对)都组织在Merkle树中。因此,存储模块包括Merkle树和散列计算。Plookup协议可以证明多个模块之间的一致性。
整体证明构成
程序执行状态的正确性分为多个子模块的状态正确性验证。总之,证明包括两个部分:1/单个模块的逻辑是否正确,2/模块与模块之间的一致性。
证明了大量多项式的使用。验证这些多项式承诺需要不小的开销。Jordi提出了各种验证想法:
第一:多个Kate多项式承诺在链上得到验证。
第二:多个凯特多项式承诺通过plonk电路进行验证(配对或链上验证)。
第三:多个斯塔克多项式有望被plonk或groth16电路验证。
总结
EVM的设计没有考虑ZK电路验证。HERMEZ提出了UVM框架和指令集。作为一种中间指令集,它便于ZK电路证明,同时可以实现固态指令集。程序的执行正确性分为多个子模块状态的正确性。证明包括单个模块状态的正确性和模块之间的一致性。为了减少链上单独验证的证据数量,可以使用电路验证。
文章标题:解读以太坊Layer2扩建方案HERMEZ的zkevm设计理念
文章链接:https://www.btchangqing.cn/311234.html
更新时间:2021年08月12日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。