zkEVM 可以为开发者和用户提供相同的体验,而且可以在不牺牲安全性的前提下将成本降低几个数量级。 原文标题:《zkEVM:设计挑战与解决思路》 撰文:Ye Zhang@Scroll 编译:曾汨 太长不看我们相信 zk-Rollup 会成为 「香饽饽」 —— 其成本优势和极高的安全性使得一众 Layer 2 可扩展性方案相形见绌。然而,现有的 zk-Rollup 实现都是针对特定应用的,因此我们很难在某个 zk-Rollup 内构建具有可组合性的通用 dApp,把现有的应用迁移过来也无从谈起。我们引入了 zkEVM 用来为通用的 EVM 验证生成零知识证明。这样一来,我们就可以构建出完全兼容 EVM 的 zk-Rollup,以便现有以太坊应用轻松迁移到这个 zk-Rollup 上。 在本文中,我们明确指出了 zkEVM 在设计上面临哪些挑战以及为何 zkEVM 在当下有可能实现。我们还给出了更加具体、直观的认知,并概述了如何从头开始构建 zkEVM。 背景zk-Rollup 是公认的最佳以太坊可扩展性方案。它不仅在安全性上媲美以太坊 Layer 1,而且在交易敲定速度上是 Layer 2 解决方案的翘楚(点击此处,查看详细的对比分析 (原文、译本))。 从中长期来看,随着 ZK-SNARK 技术不断发展,zk-rollup 将在所有应用场景中力拔头筹。 —— Vitalik Buterin zk-Rollup 的基础原理是将大量交易打包到一个 Rollup 区块内,并在链下为该区块生成一个简洁证明。随后,Layer 1 上的智能合约只需验证该证明即可直接应用新的状态,无需重新执行这些交易。这样就可以节约一个数量级的 gas 费,因为证明的验证成本远低于重新执行的计算成本。另一个好处是可以通过数据压缩来节省存储空间(即,仅在链上存储最少量的数据用于验证)。 虽然 zk-Rollup 安全且高效,但是其应用依然局限于付款和互换(swap)。通用 dApp 构建起来很难,主要有以下两个原因:
简而言之,zk-Rollup 目前对开发者并不友好,而且功能有限。这是我们想要解决的最大问题。我们想要通过直接支持原生 EVM 验证来提供最好的开发者体验,并在 Layer 2 上支持可组合性,让现有以太坊应用可以原封不动地迁移到 zk-Rollup 上。 在 zk-Rollup 中构建通用 dApp我们可以通过以下两种方法在 zk-Rollup 内构建通用 dApp: (责任编辑:admin) |