举个例子,假设 ALICE 提交了一笔支付给 Bob 的 1 ETH 交易,很快又出现了 Bob 提交了一笔支付给 Charlie 的 1 ETH 连续交易。接下来,你需要验证一个证明,即:Alice 比以前少了 1 ETH,Bob 的余额没有改变,而 Charlie 比以前多了 1 ETH。 但是发生了什么? Alice 付钱给 Bob 了吗?Bob 付钱给Charlie 了吗?也许是 Alice直接付钱给 Charlie,也许是 Alice 销毁了一个 ETH,而 Charlie 所获得的 1 ETH 是由其他人支付的,也许这个“其他人”名叫 Diana,而不是 Bob。如果我们从区块链中寻找 Bob 的支付证据,但对于一些不提供区块链可见性的 ZK Rollup 来说,根本无法区分并找到 Bob 支付交易。 许多智能合约应用程序所需要的不是仅仅知道几个检查点,而是需要了解整个链条——了解发生了什么以及如何达到最终状态。 ZK Rollups 有时吹嘘比 Optimistic Rollups 更好的“压缩”,但它们隐藏了区块链的数据,这意味着只有“证明者”知道数据不是压缩,它们甚至有可能删除依稀重要数据。如果 ZK 提供者说他们“不需要”发布整条区块链的历史,其实他们真正的意思是他们无法保证区块链的可见性,而放弃区块链可见性保证并不是 Optimistic Rollup 愿意做出的妥协。 结论:Optimistic Rollup 系统能以最低成本提供去信任的可见性。 Optimistic Rollup vs. ZK Rollup:去信任,及时终结 在评估 Rollup 时,我们需要确定一个关键要求,即:Rollup 是否需要提供去信任的、及时的终结。简单来说,这意味着在您提交交易后,你和其他所有人都应该及时且确定地知道该交易的结果,并且没有人能够更改或撤消这个交易。 在我们看来,实现及时终结的最佳方法是将交易的顺序与交易执行分开。排序产生一个最终的提议交易序列,并且尝试按该序列执行交易。如果交易的执行是确定性的,因为它是基于Arbitrum的,那么确定交易的顺序就足以确定结果,因为结果是交易顺序的确定性函数。如果每个人都知道交易的顺序,那么每个人都可以轻松确定结果。 完成一个序列需要将序列发布到 Layer 1 链,并包含足够的信息以允许任何人自己执行交易,以便无需信任地了解结果。理想的汇总是尽可能频繁地将排序的交易数据发布到 Layer 1 链。 在 Optimistic Rollup 系统中,发布到 Layer 1 链的成本最低,实际上 Arbitrum 通常会在每一分钟左右将排序的交易数据发布到 Layer 1 链,为用户提供快速确定性并保证没有人可以撤消他们的交易。此外,Arbitrum 还会每隔一小时左右就产生一个新的Optimistic Rollup 结果主张(Result Assertion),但由于序列已经最终确定并且执行是确定性的,因此完全不会减慢最终确定的速度。 (责任编辑:admin) |