Polygon 驳 Offchain Labs:ZK Rollup 才是以太坊扩容的未来
上个月,Offchain Labs发表了一篇名为《
》的文章,比较了ZK Rollups 和 Optimistic Rollup 两个扩容技术。1月19日,Polygon的零知识证明工程师Brendan Farmer发文回应了 OR 社区的文章,表示要“友好辩论”,通过这两篇文章,我们可以更加客观、辩证地比较两者的优缺点。Arbitrum 最近发布了一篇很棒的文章,认为 Optimistic Rollups (OR) 代表了以太坊的未来,因为与 ZK Rollups (ZKR) 相比,Optimistic Rollups提供了自身固有的可扩展性和成本优势。文章写得很好,值得一读。
本着友好辩论的精神,我们想提出不同的观点。Polygon 已向 ZK 投入了 10 亿美元,这足以说明,我们坚信它是以太坊扩容方案中最有希望的途径。
虽然Optimistic Rollups具有“准备就绪”的优势,但ZK 扩展解决方案具也有两个结构优势:
1、ZK Rollups支持使用链上和链下数据模式进行扩展,后者提供比任何Rollup更高的吞吐量和更低的费用;2、用户可在与以太坊桥接往返的过程中没有延迟,并且不依赖流动性提供者。
2021年有一点很明显,即不同的用户更喜欢在安全性和交易成本之间进行不同的权衡,部分由于 Polygon 的快速增长。Optimistic Rollups提供了安全性,但交易费用远高于侧链或 alt-L1。
ZK不要求用户在安全性和成本之间做出特定的权衡。当用户选择 rollup 模式时,相对于Optimistic rollup,ZK提供同等的安全性和更高的资本效率。当数据在链下时,ZK 提供比侧链和 alt-L1 更高的可扩展性和安全性,而且费用相同。
我们相信,ZK 的可扩展性、低成本和资本效率,将会是以太坊扩容到十亿用户的最佳选择。
Rollups概述
Rollups 是一种扩展以太坊的方法,即将交易执行移出链外,但由以太坊来保证每笔交易的有效性。实际上,我们可以将资金存入智能合约,并在汇总时与这些资金进行低价交互,从而保证我们的资金与在以太坊上交易一样安全。
这是可行的,因为rollup使用以太坊进行数据可用性和交易验证。恢复rollup的最新状态和添加新交易所需的全部数据都发布到以太坊,并且交易会通过欺诈或有效性证明进行验证。
OR 中使用的防欺诈机制要求资金在争议期内锁定(目前 Arbitrum 和 Optimism 锁定一周)。如果rollup中包含无效交易,任何人都可以在争议期间提交欺诈证明并将其还原。相比之下,ZK rollup包含一个有效性证明,以加密方式保证所有交易都是有效的,从而消除了任何延迟的需要。
ZK 的状态
首先,要承认 ZK rollup还没有完全达到大肆传播的程度。我们仍在等待支持通用智能合约的 ZK rollup 投入生产,目前使用的证明系统效率还较为低下。
然而,如果我们放眼未来,ZK 密码学正在以难以置信的速度发展。递归证明是可扩展和去中心化 ZK rollup的重要原语,在十年前,它还只停留在理论层面。两年前,递归证明需要两分钟才能生成。但今天,多亏了plonky2,一个由Polygon Zero团队创建的突破性的证明系统,我们能够以毫秒为单位测量证明时间。在笔记本电脑上生成递归证明仅需170ms,而且我们预计证明时间和成本将继续减少。
Arbitrum 的文章认为,证明生成会产生巨大的成本,而这部分将由用户承担,因为它涉及数千次昂贵的椭圆曲线运算,因此需要大规模并行识别或昂贵的硬件。但是,plonky2 根本不使用椭圆曲线,我们的基准测试是在笔记本电脑上执行的。
实际上,rollup成本主要由 CALLDATA 的成本决定。我们可以从 Arbitrum 当前的交易费用中看出这一点,其中代币交换成本约为 4 美元。作为比较,即使假设需要 10 分钟(对 Polygon Zero来说相对比较高的估计)来证明在具有 32 个内核和 64gb RAM 的 c6g.8xlarge 实例上进行交换,增加的成本仅为 0.18 美元。
与 CALLDATA 相比,这不是一个特别大的成本,正如我们将看到的,它被 ZK 的其他优势所抵消。零知识技术还在迅速发展,现在轻视零知识扩容方案是很短视的。
Validia
不同的用户在区块链的成本和安全性之间做出不同的权衡。数以百万计的人使用 Polygon PoS 链来获得低费用和高吞吐量,即使交易有效性不能像rollup一样得到保证。
我们相信,数百万用户面临扩展解决方案时,多会选择将使用数据放在链外而不是rollup。Validium(Starkware发明的术语) 与 ZK-rollup 类似,将有效性证明发布到以太坊以保证交易有效性,但数据保持在链外以节省 CALLDATA 成本。Validium有很多好处:
不再受 CALLDATA 块大小的限制,因此可以扩展到比rollup高 100 倍以上的吞吐量
费用要低得多
费用波动性应该更低,因为Validia消耗的gas要少得多,因此用户不至于陷入关于区块空间的rollup竞价战
ZK 扩展为 L2 的设计空间打开了包含 Validia 的空间,它提供了比Optimism和 ZK rollup更高的吞吐量,并提供资金不会被盗的加密保证。
对 Validia 的(完全)假设性攻击
ZK 怀疑论者会注意到,理论上,即使 Validium 上的验证者不能直接窃取用户资金,他们也可以对用户发起攻击,从而扣留链的最新状态并拒绝处理新交易。因此,验证者可以劫持用户资金。然而,我们觉得这个问题被夸大了。
首先,“数据扣押攻击”需要三分之二的验证者参与,这意味着大量的质押资产将面临风险。攻击将使代币价格崩盘,降低攻击者自己质押代币的价值,并抵消所未来的费用收入。由于验证者不能直接窃取用户资金,他们需要协调受影响用户的赎金支付,因此支付是不确定的。此外,鲸鱼可能会保持rollup模式,因此攻击者需要成功地从大量用户中提取赎金以弥补权益损失。很难看出,在实际中这种攻击如何做到有利可图。
进一步的可扩展性优势
除了 Validia 提供的巨大可扩展性优势之外,ZK rollup还比 OR 更具可扩展性,因为它们为开发人员提供了降低费用的选项,即在不牺牲安全性的情况下减少 CALLDATA 使用。所有rollup都需要发布重建最新状态所需的最少数据,但 OR 必须将验证每个单独交易所需的全部数据发布到以太坊。相比之下,ZKR可以将每批交易的最小状态增量发布到以太坊,只发布恢复账户最终状态所需的信息。这对于压缩 AMM 池等合约的状态更新非常重要。
OR党 的一个回应是,这种压缩实际上隐藏了重要的链数据,并且rollup应该提供对每笔交易历史的去信任可见性。我认为这个论点忽略了一个重要的观点,虽然 ZKR 上的开发人员可以选择为少数需要它的应用程序发布未压缩的 CALLDATA,但大多数应用程序和用户会更喜欢较低的费用,这是只有 ZKR 才能提供的折衷方案。
因此,ZK为链上和链下数据可用性提供了扩展优势。如果我们要将以太坊带给 10 亿人,我们必须让用户能够做出成本和安全权衡。
资本效率
OR有一个持续一周的争议期,这会对想退出rollup的用户造成提款延迟。关于提款延迟有很多恶评,包括以太坊矿工或验证者假设的为期一周的审查攻击,当然这极不可信。
但是,提款延迟确实会导致资本效率低下。提前提款是可实现的,但做市商无法完全消除资本效率低下,尤其是在规模上。当面临加密波动时,一周的时间其实非常长,如果流动性进入和退出 OR 之间存在不平衡,那么流动性提供者将需要承担在提款期间持有锁定资金的风险。虽然流动性提供者将竞相为快速提款提供低费用,但他们将面临必须转嫁给用户的锁定资金的巨大机会成本。
相比之下,ZK 扩容解决方案允许用户在向以太坊发布证明时提取资金,从而消除了对流动性提供者的需求并提高了资金效率。Arbitrum 的文章声称 ZK rollups 仅在桥接到以太坊 L1 时具有优势,但事实上,ZK rollups也可以在其他链上检查有效性证明,保证交易有效性和快速提款。
ZK 的缺点
ZK rollups 确实面临几个缺点。Polygon Hermez 团队在完整的 zkEVM rollup方面取得了令人瞩目的进展,其中, EVM字节码的执行可直接通过有效性证明进行验证。其他专注于将 Solidity编译为 ZK 友好字节码的团队,例如我们在 Polygon Zero 或 Polygon Miden、StarkWare 和 zkSync 的团队,可能会在使用现有以太坊开发人员工具时面临挑战。
但在实践中,绝大多数 Solidity 代码的行为应该相同,因为我们从 EVM 转移到 ZK 字节码所做的修改并不会影响功能,主要涉及到替换在算术电路中计算成本高昂的原语,如 Keccak -256,具有算术电路友好的原语。
最终,零知识扩容提供的结构优势,应该提供足够的激励来改进和调整开发人员工具,使其更易于在ZK L2上部署。
结论
总之,我们相信零知识扩容是以太坊的未来。Optimistic rollups 是一项了不起的技术,它们为困扰以太坊的高 gas 费用提供了直接的解决方案。但是,Optimistic rollups让用户不得不面临特殊的权衡,即安全性是以更高的费用和资本效率低下为代价的。
相比之下,ZK 可容纳更多不同类型的用户,不论是以rollup模式进行交易、对费用不敏感的鲸鱼,还是以验证模式进行低价交易的用户。ZK 提供了将以太坊带给 10 亿用户的最佳途径。
此外,ZK还具有可扩展性和资本效率之外的优势。OR 受限于 L1 上的可能性,因为欺诈证明必须能够在以太坊上执行。ZK 没有这个限制,可使用不同的签名方案(有人想到 Apple Secure Enclave 中使用的 P-256 曲线吗?)和 L1 不支持的原语。用户可以在 L2 上私下进行批量交易,以更低的成本获得 L1 的流动性,这是 Aztec 开创的一种方法。