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

我的网站

当前位置: 主页 > 区块链

zkEVM 设计构想:如何运作?有哪些挑战?还能带来什么?(2)

时间:2021-10-14 19:11来源:未知 作者:admin 点击:
一种是为不同 dApp 构建专用电路(「ASIC」)。 另一种是构建通用 「EVM」 电路用于执行智能合约。 >「电路(circuit)」 指的是零知识证明中使用的程序表

  •   一种是为不同 dApp 构建专用电路(「ASIC」)。

  •   另一种是构建通用 「EVM」 电路用于执行智能合约。 >「电路(circuit)」 指的是零知识证明中使用的程序表示。例如,如果你想要证明 hash(x) = y,你需要使用电路形式重新编写哈希函数。电路形式只支持非常有限的表示(即,R1CS 只支持加法和乘法)。因此,使用 circuit 语言编写程序难度很高 —— 你只能使用加法和乘法来构建所有程序逻辑(包括 if else、循环等等)。

  第一种方法要求开发者为不同 dApp 设计专用 「ASIC」 电路。这是最传统的使用零知识证明的方式。自定义的电路设计有助于降低各个 dApp 的成本。但是,这也带来了可组合性问题,因为电路是 「静态的」,而且对电路设计知识的高度依赖导致开发者体验很糟糕。

  第二种方法不需要任何特殊的设计,也不要求开发者具备极强的专业知识。这种基于机器的证明背后的深层概念是,任何程序终将运行在 CPU 上。因此,我们只需要构建一个通用 CPU 电路来验证低级 CPU 操作。然后,我们可以使用这个 CPU 电路来验证任何程序执行。就本文的应用场景而言,程序指的就是智能合约,CPU 就是 EVM。然而,由于成本过高,这个方法在过去几年里没有得到普遍采用。例如,即使你只想证明某一个操作中 add 的结果是正确的,你依然需要负担整个 EVM 电路的成本。如果你的执行追踪中有上千个操作,证明者就要负担 1000 倍的 EVM 电路成本 3。

  最近,有很多研究致力于利用这两种方法来优化零知识证明,包括(i)提议新的零知识证明友好型原语 Poseidon 哈希(Poseidon 哈希 在电路中的效率是 SHA256 的 100 倍);(ii)持续提高通用可验证虚拟机的效率,就像 TinyRAM 那样;(iii)越来越多的通用优化技巧,如 Plookup,以及运行速度更快的密码学库。

  在我们 之前的文章 中,我们提议为每个 dApp 设计 「ASIC」 电路,并让它们通过密码学承诺进行通信。然而,根据社区的反馈,我们改变了研究重点,将聚焦于使用第二种方式构建通用 EVM 电路(所谓的 「zkEVM」)。zkEVM 将带来与 Layer 1 完全相同的开发体验。我们不会把设计复杂性留给开发者,而是利用自定义 EVM 电路设计取而代之,解决效率问题。

zkEVM 的设计挑战

  zkEVM 构建起来很难。尽管多年来这种直觉都很清晰,但是至今还没有人成功构建出原生 EVM 电路。不同于 TinyRAM,zkEVM 在设计和实现上更具挑战性,具体原因如下:

  第一,EVM 对椭圆曲线的支持有限。目前,EVM 只支持 BN254 配对。由于不直接支持 循环椭圆曲线,EVM 很难实现证明递归。在这种设置下,我们也很难使用其它专用协议。验证算法必须是 EVM 友好型的。 (责任编辑:admin)

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