Polygon眼中与zkSync的zkEVM对比

《A comparison of zkEVMs》

作者:Daniel Lubarov

编译:Kxp,Bitbili

随着「zkEVM 战争」的升温,公众讨论了许多关于不同 zkEVM 的优点。但也存在一些错误的信息,因此我们想澄清一些关于 Polygon zkEVM 以及它与其他项目的比较的事实。

 

作为 Polygon 的一名员工,我有偏见,但我会尽力保持比较公正。我主要关注 Polygon 的 zkEVM 和 zkSync Era,因为它们已经投入生产使用,并且我不太了解其他 zkEVM 项目。

 

zkSync 的 zkEVM 和证明器由 100k 多行代码组成。我尽力提供准确的摘要,如果有任何不准确之处,请告诉我,我会进行更正。

 

EVM 兼容性

 

Polygon zkEVM 直接执行 EVM 字节码。根据 Vitalik 的分类,它是一种类型 3 的 zkEVM。很快它将成为类型 2;目前我们缺少四个预编译。Scroll 也在努力向类型 2 zkEVM 发展。

 

相比之下,zkSync Era 使用不同的字节码格式,通过提供编译器来支持 Solidity。这使它成为一种类型 4 的 zkEVM:它支持 Solidity,但不支持 EVM 字节码本身。例如 Hardhat 这样的工具不能直接使用,尽管可以使用 zkSync 的插件。

 

zkSync 认为他们的 zkVM 更加具有未来性,即它可以更好地与 Solidity 以外的语言配合使用。但是,他们的 VM 似乎继承了 EVM 的许多性能特征,例如其 256 位字大小。像 Miden 这样的 zkVM 可能更具有未来性,因为它是为通用计算而设计的,而不是专注于 Solidity。

 

性能

 

性能一直是 Polygon 的重点,我们的 zkEVM 非常高效。在 CPU 上运行我们的证明器的成本大约为每笔交易 0.000084 美元。

 

虽然我们没有找到任何关于 zkSync 的 zkEVM 的工作基准,但我们怀疑由于我们非常不同的 ZK 技术选择,存在着很大的性能差距。

 

域选择

 

经过研究多个替代方案,我们选择了所谓的 Goldilocks field,一个二阶巨大素数域 2^64 – 2^32 + 1。它的小尺寸和美丽的二进制结构导致了极快的域操作,乘法仅需在现代 CPU 上花费不到两个周期。

 

zkSync 采用了更传统的方法,使用基于 alt-bn128 曲线的 SNARK。基础域的大小约为 254 位,域乘法在 CPU 上需要大约 80 个周期。

 

为了感受到这种巨大差异的影响,我们可以看看 Celer 的 SHA2 基准测试。在那里,我们的 STARK 证明器比基于椭圆曲线的证明器快了 5-50 倍。

 

alt-bn128 的优点在于 EVM 原生支持它,因此向 Ethereum 提交证明更简单。在 Polygon,我们将最终的聚合证明用 alt-bn128 的 fflonk 证明「包裹」起来。虽然我们的方法需要更多的工作,但我们认为这对于不可思议的性能增益来说是值得的。

 

算术化

 

区别不止于此。我们的 zkEVM 基于 STARKs 构建,但具有现代化的变化。我们有一个主 STARK 用于 CPU(每个周期有一行),还有其他用于算术、哈希等的 STARK。这些表格可以连接,就像我们在 RapidUp 中描述的那样。这类似于物理 CPU,它们经常有协处理器来加速渲染、Crypto 或 ML 推断等密集操作。

 

以 Keccak 为例。由于它在 EVM 应用中被广泛使用,我们设计了一个专门的 STARK 用于它,使用了一些我们在这里记录的新技巧。设计这样的定制算术化需要大量的工作,但它带来了回报,使我们能够每秒证明数百个 Keccak 排列。

 

zkSync 采用了我称之为更传统的方法。他们使用基于 PLONK 的证明器,尽管它支持自定义门,但他们的 zkEVM 并没有多少使用;大多数计算都是使用一个名为 SelectorOptimizedWidth4MainGateWithDNext 的通用门进行的。它似乎比 vanilla PLONK 门稍微强大一些,但仍然局限于像 mul-adds 这样的简单操作。

 

值得赞扬的是,zkSync 使用了查找参数(像我们一样),这是一种更现代的技术,可以帮助提高像 Keccak 这样的效率。但是,没有自定义算术化,256 位数学、Keccak 等等的效率都会大打折扣。

 

安全性

 

Polygon 非常重视安全性,我们的 zkEVM 经过了两次独立审计:一次是由 Spearbit 进行的,另一次是由 Hexens 进行的。两份报告都可以在这里公开查看。我们还发布了验证部署的说明。

 

我们不知道 zkSync 的 zkEVM 是否经过任何公开审计。zkSync 的网站列出了桥接合约的审计,但没有 zkEVM 本身的审计。

 

除了审计外,两个项目都有各种「安全备胎」,以提供备用的安全层,但这是一个很深的话题,我在这里不会详细介绍。

L1 数据

 

Polygon zkEVM 将所有交易数据发布到 L1。在 Twitter 上存在一些关于此的混淆,有关此的 Gas 费用请参见 Edu 的文章。目前,平均交易大小约为 120 字节,因此每笔交易的 Gas 费用约为 120*16=1920Gas。

 

zkSync 则发布状态差异。恶意的序列化器可能会隐瞒交易数据,但 zkSync 认为拥有当前状态的 trie 足以确保安全。这似乎存在争议,因为通常预期交易数据是可用的,并且某些应用程序依赖于此。

 

查看经过更正的数据后,我们可以发现我们的 zkEVM 和 zkSync 的每笔交易 Gas 费用基本相同。这些数字可能会随着每个链上发生的交易类型的混合而随时间变化,但截至今日,状态差异并没有节省任何 Gas 费用;两个系统都向 L1 发送大约 120 字节的每笔交易数据。

 

我们计划在这里进行一些优化,但不使用状态差异。交易本身可以进行压缩,降低 Gas 费用,同时仍能保证交易数据的可用性。敬请期待!

原文链接

文章来源于互联网:Polygon眼中与zkSync的zkEVM对比

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策井自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场

上一篇 2023年4月5日 下午12:12
下一篇 2023年4月5日 下午12:54

相关推荐

  • 基于实际场景解析零知识证明与zkEVM的原理

    《 零知证明与 zkEVM:从何而来,去往何处? 》 来源:ChainCatcher链铺手   一、零知证明  首先我们需要明确,零知证明(ZKP)真的很难。 如果我们用几句话简单概括 ZKP 的话,一定会产生理解与事实上的偏差。但是我们相信在 TL;DR 的巨大魅力面前,大家都不会过于在意的。下面就让我们以实际生活为背景,描述三个场景的递进,来形象地理解 …

    2023年4月6日
  • 以太坊核心开发者确认 4 月 12 日在以太坊主网进行上海升级

    ChainCatcher 消息,以太坊核心开发者在电话会议中确认于 4 月 12 日在以太坊主网进行上海升级,该升级将启用质押的 ETH 提款,待 GitHub 上的开发人员确认日期,该日期将固定不再改变。(来源链接) 文章来源于互联网:以太坊核心开发者确认 4 月 12 日在以太坊主网进行上海升级

    2023年3月17日
  • 解读stETH的巧妙设计,它是如何按天自动发放收益的?

    《巧妙的合约设计,看看 stETH 如何按天自动发放收益?让你的 ETH 参与质押获取稳定利息》 来源:ZAN Team 笔者把自己为数不多的 ETH 兑换为 stETH 后,发现 stETH 每天都在自然增长,不断获取收益。但是却没有看到账户有交易产生,这是为什么呢?本文带大家一起来看看背后的巧妙设计,揭开收益发放的秘密。 1 个 stETH 过去几天后已…

    2024年3月11日
  • Gridex Protocol 将于 3 月 24 日启动第三轮 GDX 空投

    ChainCatcher 消息,Gridex Protocol 发推表示,Gridex 将于 3 月 24 日 8:00 启动第三轮 GDX 空投,空投对象为 Arbitrum 上 ARB/ETH 交易对 (0.05% grid) 的挂单用户。 据悉,GDX 是以太坊上首个链上订单簿协议 Gridex 的生态代币,总发行量为 2 亿枚。(来源链接) 文章来源…

    2023年3月21日
  • Neo新篇章,全链时代

    2015 年,以太坊推出了核心组件之一 EVM(以太坊虚拟机),用于执行智能合约和处理交易。在近 8 年时间里,EVM 对区块链行业的发展产生了深远影响,为区块链生态系统的多样性和成熟性做出了重要贡献。 根据 DefiLlama 数据显示,无论以活跃地址数、总锁定价值(TVL)或是 24 小时网络费用作为排序依据,前十大网络中,EVM 兼容网络占比均超过 6…

    2023年11月9日
返回顶部