解决 ZK Rollup 最终确定性痛点,sovereign ZK Rollup方案简介
在智能合约 Rollup 范例中,L1 桥是独一无二的。
原文作者:Sovereign
原文来源:mirror
原文标题:Achieving fast finality with sovereign zk-rollups
编译:0x11,Foresight News
加密领域存在一个广泛的误解,认为 ZK Rollup 的最终确定时间很长。在这篇文章中,我们将解释为什么第一代 ZK Rollup 需要这么长时间才能完成最终确定性,以及我们如何在不牺牲安全性的情况下实现更低的延迟。
为了解决这个问题,我们构思了一种 sovereign ZK Rollup 设计。后面,我们将简要探讨 sovereign 设计的其他优势。
最终性瓶颈及解决方案
对于大多数 ZK Rollup,验证零知识证明是最大的开支之一。根据底层证明系统不同,以太坊上的 Rollup 可能会花费 30 万到 500 万 Gas 来验证单个证明。但是由于证明的大小随着交易数量增长而变化缓慢(或根本不受影响),Rollup 可以通过在提交证明之前等待积累大量交易来降低每笔交易的成本。事实上,这正是当今大多数 ZK Rollup 所做的;StarkEx 等流行的 Rollup 通常每隔几个小时才向 L1 发布一次证明。
但是等待几个小时才能完成交易是一种令人无法接受的糟糕用户体验。我们能做得更好吗?如果 Rollup 将原始交易数据发布到其数据可用性(DA)层(而不是状态差异),那么想要快速确定性的高级用户可以运行全节点。但是,如果 Rollup 使用状态差异,那么即使运行全节点也无济于事。这就是为什么今天大多数 ZK Rollup 的排序器都会发出「软确认」。但是软确认只有在中心化排序器系统中才有可能。所以问题仍然存在——我们如何让去中心化的 ZK Rollup 在延迟方面具有竞争力?
如果我们只关心降低全节点的延迟,那么将原始交易数据发布到链上就可以解决问题。只要完整的交易数据可用,全节点就可以在应用交易时尽快完成(假设 DA 层具有单时隙最终性)。这让我们的 ZK Rollup 与传统的 L1 一样响应迅速!
这是一个非常强大的结果。它使 ZK Rollup 适用于对延迟高度敏感的应用程序,如链上订单簿。尽管如此,它并没有完全解决原来的问题。我们真正想要的是减少轻客户端的延迟,能否在不大幅增加证明验证成本的情况下做到这一点?
答案是肯定的!方法如下:我们可以实时创建证明,然后使用递归将它们聚合成批量证明,而不是等待创建单个批量证明。只要我们通过 p2p 网络立即分发增量证明,轻客户端就会体验到快速的最终确定性。而且由于我们仍然只是在链上发布较慢的批量证明,因此我们不必为链上验证支付额外费用。换句话说,我们仍然得到了一个与 L1 的信任最小化的桥——但桥不再是轻客户端的真实性来源。恭喜,我们刚刚构建了一个 sovereign Rollup!
关于【解决 ZK Rollup 最终确定性痛点,sovereign ZK Rollup方案简介】的延伸阅读
Coin Metrics:分析以太坊 Blob 与 EIP-4844 的影响
自3月13日起,多个Layer-2解决方案采用blob交易,超过950,000个blob已发布到以太坊,降低了操作成本。EIP-4844升级提高了L2的可伸缩性和降低交易成本,每天约有10,000个blob发布。blob被设计为18天后过期,防止永久存储膨胀。随着rollups使用blob发布大量数据,blob空间利用率将增加。blob费用根据需求动态调整,4月份因铭文blob激增而增加,但随后又降低。Blob的采用是EIP-4844降低数据存储开销和增强L2可伸缩性的积极信号。然而,跨资产、流动性和用户体验碎片化等挑战仍需解决。随着更多L2利用blob,拥塞可能会再次出现。
Stacks Nakamoto 升级,BTC生态的文艺复兴
Stacks是一个跨链共识区块链,旨在将智能合约功能移植到比特币网络中。其共识机制为转移证明,通过燃烧比特币来参与挖矿。Stacks 2.0主网已推出,获得美国证券交易委员会批准的代币销售。Stacks 3.0升级解决了安全性、性能和可扩展性等问题,引入签名者角色,提高链的可扩展性。Nakamoto升级解决了MEV问题,提高了挖矿过程的公平性和稳定性。升级将在4月22日开始,提高Stacks区块链的透明度和信任度。
分叉选择
敏锐的读者会注意到上一段中描述的系统存在问题。在今天的 Rollup 中,L1 智能合约负责执行 Rollup 分叉选择规则。换句话说,智能合约不只是验证零知识证明,它还会检查证明是否建立在此前证明(而不是其他分叉)的基础上,并且它是否处理了所有我们发送到 L1 上的相关「强制交易」 。那么,如果不使用智能合约,我们如何选择一个规范的分叉呢?
答案出奇的简单——如果我们要求证明作为调用数据发布在 L1 上,那么我们可以添加一条规则,即新证明只有建立在先前有效证明的基础上才有效。尽管我们可以在客户端强制执行此规则,但它会要求用户一直扫描区块链的历史,一直追溯到创世区块——这并不理想。
值得庆幸的是,将其直接添加到零知识证明中并不难。通过将 calldata 绑定回 L1 区块头,我们可以添加一条声明「我已经扫描了 DA 层的证明(从区块 X 开始,到区块 Y 结束),并且这个证明建立在最近的有效证明之上」。这让我们可以直接证明分叉选择规则,而不是在客户端强制执行!如果我们已经在扫描 DA 层的证明,我们也可以轻松扫描强制交易。
可移植性和互操作性
在智能合约 Rollup 范例中,L1 桥是独一无二的。由于桥负责检查未包含在证明中的声明(如「此证明包括所有强制交易」之类的声明),因此将基于证明的桥添加到其他目的地通常没有意义。但是一旦我们将所有逻辑都移到证明中,这就不再是问题了。我们可以在任何我们想要的地方添加桥。
甚至可以更进一步,如果 L1 智能合约只是一个普通的桥,我们可以完全取消它。首先,在不支持智能合约的系统上构建 Rollup 是有意义的。只需采用现有的 Rollup 逻辑并删除 L1 桥。突然之间,你可以部署在任何 DA 层上!换句话说,你的 Rollup 逻辑可以立即在不同的 L1 之间移植。
结论
Rollup 的未来是 sovereign。通过直接证明其分叉选择规则,sovereign ZK Rollup 可实现无缝互操作性、即时可移植性和快速最终确定性。就像智能合约 Rollup 一样,它们提供低 Gas 成本和信任最小化桥梁,但它们不会被迫在成本和延迟之间进行权衡。
免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Sovereign,如有侵权请联系删除。转载或引用请注明文章出处!