织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

以太坊扩容方案的明珠(2)

时间:2021-09-10 17:01来源:未知 作者:admin 点击:
对于第一种策略,由于完全支持了 EVM 现有的指令集,其使用的是和 EVM 一样的编译器,因此天然就对现有的生态系统和开发工具完全兼容,同时还更好的

对于第一种策略,由于完全支持了 EVM 现有的指令集,其使用的是和 EVM 一样的编译器,因此天然就对现有的生态系统和开发工具完全兼容,同时还更好的继承了以太坊的安全模型。

而对于第二种策略,由于不受原有 EVM 指令集的约束,可以更灵活的将代码编译成对零知识证明更友好的指令集,同时也摆脱了兼容所有 EVM 原有指令集所需要的艰巨而繁重的工作。

总的来说,第一种策略兼容性更好,安全性更高,但是工作量更大;第二种策略更灵活,工作量更小,但需要花费额外精力在适配上。

主要方案对比

Hermez zkEVM

Hermez 采用的是第一种策略,其将所有 EVM 指令集全部翻译为中间指令(micro opcode)。

众所周知,EVM 有一些变长的指令,比如 CALL,EXP,CREATE 等,这些指令天生对 zk 电路证明不友好,利用中间指令可以更友好地表达这些指令的逻辑。中间指令在 uVM 中执行,uVM 中使用了大量的密码学工具,来实现 zk 完备,并且使用了 Plookup 算法来提升证明及验证效率。

三分钟读懂 zkEVM:以太坊扩容方案的明珠

Hermez zkEVM 在实现上的另外一个亮点,是其同时使用了两套证明系统,具体来说即生成一个 STARK 证明,然后再用 PLONK 或 Groth16 对这个 STARK 证明生成一个证明并在一层进行验证,这一过程就像是对证明的证明。之所以这么做,是因为 STARK 虽然很优秀,但是证明规模却很大,在链上进行验证时开销也很大,而 Groth16 或 PLONK 却拥有更小的证明规模和更快的验证速度。这种两相结合,各取所长的做法,很容易让人想到非对称加密算法和对称加密算法结合使用的场景。

AppliedZKP zkEVM

AppliedZKP zkEVM 和 Hermez 一样,采用的是第一种策略。

AppliedZKP 采用数据总线(Bus Mapping)的思路,将存储和计算分开。在 Bus Mapping 抽取了正确的存储数据的基础上,由 State proof 证明数据的一致性,EVM proof 证明计算逻辑的正确性。

三分钟读懂 zkEVM:以太坊扩容方案的明珠

具体的过程如下:

  • EVM 通过 Bus Mapping 读取需要的相关状态,状态由 Storage,Memory,Stack 三部分组成;
  • EVM 执行 opcode;
  • EVM 再通过 Bus Mapping 写回新的状态;
  • 过程中 State proof 负责 Bus Mapping 读写信息的一致性和正确性,EVM proof 负责 EVM 对 opcode 执行的正确性。

zkSync EVM

与 Hermez 和 AppliedZKP 不同,zkSync 选取了第二种策略。zkSync 的 zkEVM 并非 EVM 的复刻品,而是为了能够运行 99% 的 Solidity 合约并确保其能够在各种情况下(包括回滚和异常情况)正常工作而全新设计。与此同时,zkEVM 可以用来高效的在电路中生成零知识证明。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容