技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路_区块链前沿

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

ZK Rollup 方今不援助 EVM,zkEVM 采用直接援助 EVM 指令集,并兼容 Solidity 指令集。

原文题目:《zkEVM – Hermez 计算思绪》
撰文:Star Li

明白 Layer2 岁月近况(独特是对 zk Rollup 岁月)的小火伴,显示 zk Rollup 方今不援助 EVM,缺失可编程性 / 可配合性,让 zk Rollup 局部在特定场景。zkEVM,经历 zkp 岁月解释 EVM 的实行进程利害常有挑拨的岁月难点。

EthCC 4 集会上 Hermez 团队 先容 了他们对 zkEVM 的明白和计算。

Hermez 团队认真人 Jordi Baylina 比拟明显地给出了 zkEVM 扼要的计算思绪。本文梳理一下对 zkEVM 计算的明白。

假造机解释

Jordi 在演讲本原提议:The Ethereum Virtual Machine was not designed to run in a zk-circuit (以太坊假造机在计算时并不商讨 zk 电路解释)。也即是说,zkEVM 天资比拟难。起初计算 EVM 的时间并不商讨到后期还须要 zk 施行解释。在这类状况下,方今有三条路也许走:

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

第一条:从新计算一种新的假造机,该假造机对 zk 和好,简单解释。不须要领会 EVM。

第二条:从新计算一种新的假造机,该假造机对 zk 和好,简单解释。适配现时的 EVM 的开拓东西,维持 solidity 兼容。

第三条:直接援助 EVM 指令集,全面兼容 solidity 指令集。

Hermez 团队采用了第三条。其余两种做法在现时的境况下,不太经济。Hermez 给出了采用第三条路的情由:

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

总的来讲,即是兼容性好,平安性高。

整体思绪

由于 EVM 在计算起初不商讨 zk 电路解释,援助 solidity 指令集须要引入中央指令(micro opcode)。这些中央指令比拟契合电路解释。这些指令变成 uVM。EVM 须要编译在 uVM 中实行。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

一目了然,EVM 有一些变长的指令,比方 CALL,DATACOPY,EXP,CREATE 等等。这些指令天资对电路解释不和好。运用中央指令能相对和好地“表白”出这些指令的逻辑。

对一个区块中的一齐买卖,关系的指令也许一个个的实行。实行的模子是:老的状况 + 一齐买卖指令 -> 新的状况。一个细节是状况的转化是以区块为单元,其实不是以买卖为单元的。

多项式许诺

在接续声明细节完结之前,Jordi 简洁先容了一下多项式许诺。多项式有两种表白式样:1/ 系数表白 2/ 点值表白。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

在给定一个多项式许诺(cm)的状况下,考证者也许供应随机挑拨 r,解释者必需给出多项式在 r 的取值和许诺解释。随机挑拨值 r,也许经历 Fiat-Shamir 算法孕育,将交互式的合同形成非交互式合同。在给出多个多项式许诺解释的条件下,经历取值的联络也许肯定多项式之间的联络。经历多项式许诺也许解释以下的多项式联络:

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

多项式相配,多项式取值等等。清楚 Plonk 可能 Plookup 合同的小火伴应当显示,这些合同的原形即是多项式许诺。

uVM 的全体框架

uVM 由以下的模块构成:ROM,RAM,Storage 和百般计划机能模块。Main SM (主状况机)由子模块构成。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

须要解释举措的实行状况精确,要保险以下的一些状况精确:

何如解释实行举措精确?

实行举措保存在 ROM 中。将指令和场所施行编码后,得回实行举措的多项式表白 rom (x)。将 Main SM 中的代码实行指令和 PC 施行一样的编码后孕育的多项式 instTrace(x)。不管这份代码何如实行(轮回的次数,跳转式样),instTrace(x) 中的元素都应当属于 rom(x)。这类附庸联络也许采取 Plookup 合同施行解释。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

注视的是,instTrace 指的是实行实例的 Trace。固然,经历 Plookup 能解释 instTrace(x) 中的元素属于 rom(x),不过 instTrace(x) 的实行精确性并不解释。试想一下 instTrace 中少一两条指令,一样满意附庸联络。简洁的说,这类附庸解释不过解释了 Main SM 和 ROM 状况的普遍性。

内存状况精确?

在 Main SM 中的内存的读写状况,应当和内存 RAM 的状况普遍。这类普遍也是经历 Plookup 合同施行解释。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

内存 RAM 自身逻辑能否精确须要特为解释。

保存状况精确?

uVM 的保存是经历 key-value 对完结。一齐保存(key-value 对)用 merkle 树施行构造。以是,保存模块囊括 merkle 树和 hash 计划。Plookup 合同也许解释多个模块之间的普遍性。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

全体解释变成

一个举措的实行状况的精确性分隔成多个子模块的状况精确性考证。总之,解释囊括两局部:1/ 单个模块的逻辑精确 2/ 模块和模块之间的普遍性。

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

解释洪量采取多项式许诺。考证这些多项式许诺须要不小的开消。Jordi 提议了多种考证思绪:

技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

第一种:多个 Kate 多项式许诺在链上考证。

第二种:多个 Kate 多项式许诺经历 Plonk 电路考证(配对如故在链上考证)。

第三种:多个 Stark 多项式许诺经历 Plonk 可能 Groth16 电路施行考证。

归纳

EVM 在计算时并不商讨到 zk 电路解释。Hermez 提议了 uVM 框架和指令集。动作中央指令集,简单 zk 电路解释,同时也许完结 solidity 指令集。一个举措的实行精确性分隔成多个子模块状况的精确性。解释囊括单个模块状况的精确性和模块和模块之间的普遍性。为了缩小浩大的解释独自在链上考证,也许采取电路考证。

免责说明:动作区块链讯息平台,本站所宣告作品仅代表作家一面见解,与链闻 ChainNews 态度无关。作品内的讯息、见识等均仅供参考,并不是动作或被视为本质投资倡导。

以太坊

以太坊

以太坊

以太坊

怒放的宣传式区块链运用平台,经历其专属加密钱币 Ether 以太币供应去重心化的假造机,解决点对点合约。理睬任何人设立和运用经历区块链岁月运转的去重心化运用,不任何狡黠、审查、第三方禁锢。 以太坊的观念初次在 2013 至 2014 年由维塔利克·布特林 Vitalik Buterin 受比特币发掘后提议,旨在共通建立一个更寰球化、更自如、更切实的互联网。以太坊EthereumETHERC 20ERC-20ERC20ERC721ERC-721以太坊2.0以太坊 2.0察看更多Hermez

Hermez

Hermez

Hermez

Hermez 是以太坊扩容束缚计划岁月团队 iden3 推出基于 ZK Rollup 观念的扩容搜集。其特性囊括运用零学识解释的 ZK Rollup 扩容计划,也许保证链上数据的可取得性,据团队预估也许为以太坊搜集选拔到 2000 笔每秒的买卖速率。Hermez察看更多以太坊 岁月 扩容 Layer 2 ZK Rollup Hermez 项⽬起色 zkEVM

区块链前沿是一个专业的比特币价格查询&区块链数字货币资讯平台,我们为用户提供关于区块链企业、数字货币币种、数字货币交易平台及区块链人物的相关信息,我们整理发布全球主流比特币交易平台、虚拟数字货币交易平台、区块链应用企业的结构化信息,我们对区块链及数字资产充满热情,立志打造成一个区块链综合门户网站。
区块链前沿 » 技术解读以太坊二层扩容方案 Hermez 的 zkEVM 设计思路

发表评论