值得信赖的区块链资讯!
zkEVM – Hermez 设计思路
了解 Layer2 技术现状(特别是对 zk Rollup 技术)的小伙伴,知道 zk Rollup 目前不支持 EVM,缺失可编程性 / 可组合性,让 zk Rollup 限制在特定场景。zkEVM,通过 zkp 技术证明 EVM 的执行过程是非常有挑战的技术难点。
EthCC 4 会议上 Hermez 团队 介绍 了他们对 zkEVM 的理解和设计:
https://www.youtube.com/watch?v=17d5DG6L2nw
Hermez 团队负责人 Jordi Baylina 比较清晰地给出了 zkEVM 大体的设计思路。本文梳理一下对 zkEVM 设计的理解。抛砖引玉,有理解偏差,小伙伴们可以留言讨论。
虚拟机证明
Jordi 在演讲开头提出:The Ethereum Virtual Machine was not designed to run in a zk-circuit (以太坊虚拟机在设计时并没有考虑 zk 电路证明)。也就是说,zkEVM 天生比较难。当初设计 EVM 的时候并没有考虑到后期还需要 zk 进行证明。在这种情况下,目前有三条路可以走:

第一条:从头设计一种新的虚拟机,该虚拟机对 zk 友好,方便证明。不需要理会 EVM。
第二条:从头设计一种新的虚拟机,该虚拟机对 zk 友好,方便证明。适配当前的 EVM 的开发工具,保持 solidity 兼容。
第三条:直接支持 EVM 指令集,完全兼容 solidity 指令集。
Hermez 团队选择了第三条。其他两种做法在当前的环境下,不太经济。Hermez 给出了选择第三条路的理由:

总的来说,就是兼容性好,安全性高。
总体思路
因为 EVM 在设计当初没有考虑 zk 电路证明,支持 solidity 指令集需要引入中间指令(micro opcode)。这些中间指令比较适合电路证明。这些指令构成 uVM。EVM 需要编译在 uVM 中执行。

众所周知,EVM 有一些变长的指令,比如 CALL,DATACOPY,EXP,CREATE 等等。这些指令天生对电路证明不友好。利用中间指令能相对友好地“表达”出这些指令的逻辑。
对于一个区块中的所有交易,相关的指令可以一个个的执行。执行的模型是:老的状态 + 所有交易指令 -> 新的状态。一个细节是状态的迁移是以区块为单位,并不是以交易为单位的。
多项式承诺
在继续解释细节实现之前,Jordi 简单介绍了一下多项式承诺。多项式有两种表示方式:1/ 系数表示 2/ 点值表示。

在给定一个多项式承诺(cm)的情况下,验证者可以提供随机挑战 r,证明者必须给出多项式在 r 的取值以及承诺证明。随机挑战值 r,可以通过 Fiat-Shamir 算法产生,将交互式的协议变成非交互式协议。在给出多个多项式承诺证明的前提下,通过取值的关系可以确定多项式之间的关系。通过多项式承诺可以证明如下的多项式关系:


多项式相等,多项式取值等等。熟悉 Plonk 或者 Plookup 协议的小伙伴应该知道,这些协议的基础就是多项式承诺。
uVM 的整体框架
uVM 由如下的模块组成:ROM,RAM,Storage 以及各种计算功能模块。Main SM (主状态机)由子模块组成。

需要证明程序的执行状态正确,要保证如下的一些状态正确:
如何证明执行程序正确?
执行程序存储在 ROM 中。将指令和位置进行编码后,得到执行程序的多项式表示 rom (x)。将 Main SM 中的代码执行指令和 PC 进行同样的编码后形成的多项式 instTrace(x)。无论这份代码如何执行(循环的次数,跳转方式),instTrace(x) 中的元素都应该属于 rom(x)。这种从属关系可以采用 Plookup 协议进行证明。

注意的是,instTrace 指的是执行实例的 Trace。虽然,通过 Plookup 能证明 instTrace(x) 中的元素属于 rom(x),但是 instTrace(x) 的执行正确性并没有证明。试想一下 instTrace 中少一两条指令,同样满足从属关系。简单的说,这种从属证明只是证明了 Main SM 和 ROM 状态的一致性。
内存状态正确?
在 Main SM 中的内存的读写情况,应该和内存 RAM 的状态一致。这种一致也是通过 Plookup 协议进行证明。

内存 RAM 本身逻辑是否正确需要额外证明。
存储状态正确?
uVM 的存储是通过 key-value 对实现。所有存储(key-value 对)用 merkle 树进行组织。所以,存储模块包括 merkle 树和 hash 计算。Plookup 协议可以证明多个模块之间的一致性。

整体证明构成
一个程序的执行状态的正确性分割成多个子模块的状态正确性验证。总之,证明包括两部分:1/ 单个模块的逻辑正确 2/ 模块和模块之间的一致性。

证明大量采用多项式承诺。验证这些多项式承诺需要不小的开销。Jordi 提出了多种验证思路:

第一种:多个 Kate 多项式承诺在链上验证。
第二种:多个 Kate 多项式承诺通过 Plonk 电路验证(配对还是在链上验证)。
第三种:多个 Stark 多项式承诺通过 Plonk 或者 Groth16 电路进行验证。
总结
EVM 在设计时并没有考虑到 zk 电路证明。Hermez 提出了 uVM 框架和指令集。作为中间指令集,方便 zk 电路证明,同时可以实现 solidity 指令集。一个程序的执行正确性分割成多个子模块状态的正确性。证明包括单个模块状态的正确性以及模块和模块之间的一致性。为了减少众多的证明单独在链上验证,可以采用电路验证。
比推快讯
更多 >>- Binance Alpha 将于 20:00 开放空投领取,积分门槛 251 分
- 某巨鲸开盘买入 327 万枚币安人生,浮亏 15.7 万美元
- 美 SEC 推迟裁决是否提高 IBIT 期权持仓上限,新截止日为 2 月 24 日
- Strategy 对手盘BTC 空单扭亏为盈,浮盈 210 万美元
- 某地址抛售 1291.5 亿枚 PEPE,约 82.2 万美元
- 韩国要求银行控股过半才能发行稳定币,立法者反对并拟提替代方案
- 数字人民币 App 上线“碳普惠”小程序,支持积分兑换数字人民币
- HabitTrade 完成近 1000 万美元 A 轮融资,Newborn Town Inc.领投
- 印度当局表示加密税收执法困难,30%利润统一税难以落实
- 数据:Edel Finance 测试网用户数突破 3.5 万,某交易员花费 12 枚 ETH 买入 126 万枚 EDEL
- pension-usdt.eth 平仓 ETH 空单,获利 275 万美元
- 数据:过去 1 小时 Binance 净流入 3,091.61 万 USDT
- Bitwise CIO:比特币四年周期已终结,进入机构时代
- 巨鲸向 HyperLiquid 充值 500 万美元并开 3 倍 BTC 多单,同时买入 18 万枚 HYPE
- 比特币挖矿难度下调-1.20%至 146.47 T
- CryptoQuant 发布以太坊看跌预警:Coinbase 溢价指标创 10 个月新低
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0041%
- 某交易员昨日建仓 54.8 万美元币安人生,现浮亏逾 27%
- Vitalik:以太坊应像世界心跳一样可靠,增加带宽比降低延迟更安全
- 数据:比特币现货 ETF 昨日总净流出 4.86 亿美元,富达 FBTC 净流出 2.48 亿美元居首
- Vitalik:以太坊应优先提升带宽而非追求极低延迟,L2 将长期扮演关键角色
- 中国商务部回应审查 Meta 收购 Manus:企业从事对外投资等活动须符合中国法律法规
- 中国上海二中院:仅个人持币、炒币,则一般不认定为非法经营罪
- Gate 持币生息累计参与人次破百万,参与杠杆无忧助力安心交易
- 币安人生市值跌破昨日低点
- Vitalik:以太坊与 BitTorrent 和 Linux 类似,L1 目标成为全球金融家园
- Vitalik:以太坊就像 Linux,应兼顾技术纯粹性与大规模信任应用
- X 知名账号 Rainbow Fish 购入 500 万枚本人原型 Meme 币,FISH 短时大涨市值创新高
- 观点:摩根士丹利新现货比特币 ETF 无论成功与否,都将带来无形收益
- Hyperliquid 过去 24 小时区块链费用排名第一
- Hyperliquid 传奇交易员接管本人 Meme 币,自费Build社区致使 WhiteWhale 市值破亿
- 美股三大股指期货延续跌势,纳指期货跌 0.63%
- 美财长:政府已开始将执法没收的比特币纳入“战略储备”
- Wintermute 场外负责人:期权市场继续押注行情上涨,Q1 或出现缓解性反弹
- 火币 HTX C2C 甄选站发布 2025 年度回顾
- Tom Lee 新年首次出境:开年普涨是个好兆头,年中或出现熊市
- 币安将下架部分现货交易对
- 强脑科技,已完成 20 亿元融资,将在五年到十年内帮助百万残障者重返社会
- 数据:2500 万枚 ENA 从 Bybit 转入 Coinbase Prime,价值约 593 万美元
- 闪电反手巨鲸减仓 ETH 多单,账户总浮亏 570 万美元
- Binance 将于 12 日更新全仓杠杆抵押资产比率
- 财新披露陈志境内资产:持有两家上市公司股份,另有多间金融公司
- Wintermute 向币安转入 1148 万 USDT
- 数据:Wintermute 向 Binance 转移 800 万 USDT,价值 800 万美元
- 山寨空军车头持续加码 ZEC 空单,近两月空单头寸已扩大超 2500 万美元
- 数据:当前加密恐慌贪婪指数为 29,处于恐慌状态
- 某鲸鱼在市场下行期间遭遇严重回撤,潜在损失超 760 万美元
- 观点:委内瑞拉 600 亿美元比特币持仓说法缺乏证据支撑
- 孙宇晨致信用户:火币 HTX 不追逐短期热度,将持续夯实底层能力
- 麻吉以太坊多单已陷入浮亏,曾一度浮盈超 110 万美元
比推专栏
更多 >>观点
比推热门文章
- Binance Alpha 将于 20:00 开放空投领取,积分门槛 251 分
- 某巨鲸开盘买入 327 万枚币安人生,浮亏 15.7 万美元
- 美 SEC 推迟裁决是否提高 IBIT 期权持仓上限,新截止日为 2 月 24 日
- Strategy 对手盘BTC 空单扭亏为盈,浮盈 210 万美元
- 某地址抛售 1291.5 亿枚 PEPE,约 82.2 万美元
- 韩国要求银行控股过半才能发行稳定币,立法者反对并拟提替代方案
- 数字人民币 App 上线“碳普惠”小程序,支持积分兑换数字人民币
- HabitTrade 完成近 1000 万美元 A 轮融资,Newborn Town Inc.领投
- 印度当局表示加密税收执法困难,30%利润统一税难以落实
- 数据:Edel Finance 测试网用户数突破 3.5 万,某交易员花费 12 枚 ETH 买入 126 万枚 EDEL
比推 APP



