原文标题:Exploring Zero Knowledge: zkSync and thezkEVM
原文作者:pseudotheos
原文来源:Mirror
编译:SevenUpDAO开发者公会
zkSync
zkSync 由 Matter Labs 开发,由 Alex Gluchowski 于2018年创建。zkSync 的最终目标是创建一个完全无需信任的L2,具有 L1 保证,例如重组保护和资金安全。除了简单的安全保证之外,它还在开发工具,为基于零知识的智能合约提供支持。
zkSync 1.0 最初于2020年6月推出,并已经完全运行。目前,它使用 PLONK 作为证明者。随着 zkSync 1.1 的推出,递归证明、订阅机制、以及单一代币的手续费支付(例如:发送 USDC,使用 USDC 支付交易手续费)以及ERC-20代币铸造和销毁功能被添加进去了。启用递归证明后,zkSync 的当前吞吐量为每秒 3000 笔交易。
PLONK
PLONK全称为“基于拉格朗日基数的全局非交互式知识证明排列”,最初由 Ariel Gabizon、Zac Williamson 和 Oana Ciobotaru 创建,它提供了一些改进,相比之前的证明协议(例如 Marlin 和 SONIC )有着一些优点,但同时也保留了一些缺点。
PLONK的优势和改进:
- 从特定于应用程序的可信设置转变为通用且可更新的可信设置
- 依赖于标准化加密
- 更小的证明大小(~0.5-1kB vs 0.2 kB)
虽然不完美,但PLONK比以前的实现要好得多。来源:vitalik.ca
zkSync v1 的 PLONK 实现依赖于由 Aztec 组织的Ignition 可信设置仪式。通过可信设置仪式,只要一个参与方删除了用于生成设置的他/她所提供的熵(输入),就足以确保安全性。通过 Ignition,来自30多个国家的176名参与者(包括Vitalik本人)参加了该仪式,显著降低了信任要求。
除了 PLONK 之外,zkSync还致力于开发 RedShift,旨在使用仍处于活跃研究和开发阶段的“transparent SNARKs”来消除对可信设置仪式的需求。transparent SNARKs 将有助于通过默认方式完全消除 PLONK 的信任问题。
zkSync 2.0
zkSync 2.0 的 zkEVM 使开发人员能够平滑地将 L1 dApps转移到 L2;虽然它不是 EVM 的完全复制,但 zkEVM 为 L1 带来了可扩展性。让我们来探讨一下它是如何运作的!
zkSync 基础设施
zkSync 在以太坊之上运营着几个基础设施。所有基础设施目前都已投入使用并运行,包括 zkEVM。但是,zkEVM 仍在开发中,并将在稍后公布。
全节点
- 使用虚拟机执行 zkEVM 字节码
- 过滤不正确的交易
- 执行内存池的交易
- 构建块
证明者
- 从区块见证生成 ZK 证明
- 提供用于并行证明生成的接口
- 可扩展(可以根据需求增加 # 个证明者)
交互器
- L1 以太坊和 L2 zkSync 之间的链接
- 计算交易费用——费用取决于代币价格、证明生成和 L1 gas 成本
偏执监视器
- 监控基础设施并在发生事故时通知 Matter Labs
zkEVM
来源:Matter Labs
Yul是一种中间表示,它可以将Solidity编译成字节码。然后,它会被传递给 LLVM,这是一个可模块化的可重用编译器。通过引入 LLVM,它为未来采用 Rust 或Javascript 原生语言编写的 zkSync 智能合约开发打开了大门。虽然基于 Rust 的 Zinc 将在未来得到使用,但是为了完成 Solidity v8 和 Vyper v3 的 zkEVM 实现,目前 Zinc 的开发已经降低了优先级。
可编程性
虽然可扩展性三难困境侧重于三大问题:可扩展性、去中心化和安全性,但还有第四块拼图。解决可扩展性三难困境但非常深奥且难以编程的链如果大规模采用是不可行的。zkSync 通过使 zkEVM 易于将现有的 L1 协议转移到其中来解决这个问题,同时也为原生 Rust 和 Javascript 智能合约开发打开了大门。
来源:Matter Labs
结论
2022 年是 Layer 2 的一年。随着如此多的协议从研究中走出来并进入实施阶段,以太坊将准备好大规模采用,同时保持无需信任、安全和去中心化。十年后,今天正在构建的基础设施将成为下一代协议的支柱。