以太坊共同创办人 Vitalik Buterin (V 神)今(14)日于个人部落格刊登新文章《神圣的 ZK-EVM 会是什么样子》,内容深入探讨 ZK-EVM (Zero-Knowledge Ethereum Virtual Machine)的概念及其可能实现的形式。
V 神指出,当前的 Layer-2 EVM 协定(如 Optimistic Rollups 和 ZK Rollups)需要依赖 EVM 的验证机制,但这同时意味著他们必须信任庞大的程式码资料,一旦程式码资料库中存在漏洞,这些虚拟机器可能面临被攻击的风险。
此外,即便是希望与 L1 EVM 保持完全等效的 ZK-EVM,也需要一定形式的治理机制,以便将 L1 EVM 的变更复制到自己的 EVM 实作中。
ZK-EVM 实现具有哪些关键属性
因此 V 神认为上述这些情况都不是最理想的,他在文章提及几个可以实现的「ZK-EVM 版本」,并讨论权衡和设计挑战,以及不朝特定方向发展的原因。
对于 ZK-EVM 的关键属性,V 神列出:
- 基本功能:ZK-EVM 应该具备验证以太坊区块的能力,并与以太坊多客户端哲学相容。这意味著避免固化单一证明系统,而是允许不同客户端使用不同证明系统。
- 数据可用性和审计性:对于任何由 ZK-EVM 验证的 EVM 执行,应确保其底层数据是可用的,以便于出现问题时进行检查和重新验证。
- 可升级性:如果某个 ZK-EVM 方案被发现存在缺陷,应能够迅速修复,无需进行硬分叉。
- 支持几乎是 EVM 的系统:该设计应支持与 EVM 略有差异的第二层(L2)虚拟机器。这意味著 L2 可以对与 EVM 完全相同的部分使用固化的 ZK-EVM,仅在不同的部分依赖自己的程式码。
V 神还讨论了「开放式」与「封闭式」多客户端系统的优缺点,开放式系统允许不同证明系统的存在,而封闭式系统则限定一组固定的证明系统,他则倾向于开放式系统,因为它们提供更多的灵活性和适应性。
验证和重新证明文章还涉及了实施 ZK-EVM 的具体方案和扩展,如新的交易类型、区块附属对象的扩展、以及验证和重新证明的机制。
这些设计旨在提高以太坊网络的效率和安全性,同时保持灵活性和可扩展性。透过这些创新,ZK-EVM 可以促进以太坊生态系统的整体发展,为用户和开发者带来更多的机会。
最后,V 神还提到了对「almost-EVM」的支持,即允许 L2 的 VM 在与 EVM 只有微小差异的情况下,仍能使用协议内的 ZK-EVM,同时也为 EVM 的部分定制化提供了灵活性。
扩展:支持有状态证明者V 提出的 ZK-EVM 概念
总结来说,V 神所提出的 ZK-EVM 概念,旨在将 ZK-EVM 直接整合进以太坊协议,使其成为协议的一部分,同时减少 Layer-2 专案对 Ethereum 协议功能的重复实现,并提高其在验证 Layer-1 Ethereum 区块时的效率。
另外,V 神也展望未来光客户端(light clients)将更加强大,甚至可能利用 ZK-SNARKs(零知识证明)完全验证 L1 EVM 执行,届时 Ethereum 网路将实质上具备内建的 ZK-EVM 功能。