为什么偏偏是 7 天呢?3 天?5 天不行吗?
撰文:yyy
前几天 Coinbase 宣布入场做了一条基于 OP Stack 的 L2—— @BuildOnBase , 一时间「Bullish on Optimism」的情绪又再度被点燃。借此契机,这条推文来聊一聊 Optimism 的挑战期。
众所周知的是,Optimism 二层资金提现到以太坊主网,要经历 7 天的挑战期。
那为什么偏偏是 7 天呢?3 天?5 天不行吗?
回答这个问题之前,我们先来了解下为什么要设挑战期。
Rollups 通过将执行层从以太坊分离的方式,提高以太坊主网的性能。也即意味着交易是在二层执行的,但为了继承以太坊主网的安全性,二层发生的交易要在主网验证。
简单来讲,以太坊主网要确认定序器提交上来的交易的的确确在二层发生,即交易的有效性。
Rollup 因验证交易有效性方式的不同分为 zk-Rollup 和 Optimistic Rollup.
验证方式主要分类两大类:零知识证明和欺诈证明。在零知识证明机制下,交易具有接近即时的最终性。
而基于欺诈证明的 ORUs, 交易的最终性取决于挑战期的长短,这也就解释了为什么 Optimism 资金从二层提现到主网需要 7 天。
ORUs 机制下,乐观地认为由定序器提交上来的 Rollup 交易都是有效的。然后在挑战期内,验证者如果发现无效交易,可以发起欺诈证明。
如果挑战期过后都没有人挑战的话,就默认这笔交易是有效的,此时交易具有最终性。
但挑战期真的需要 7 天这么长时间吗?我们先把整个挑战流程简化:验证者通过重构状态根发现无效交易,于是发出欺诈证明。这一系列动作需要时间,也就意味着挑战期不能是 0.
我们假设上述挑战流程很迅速,10 个区块完成 ( 大概 2 分钟 )。
当然不可能会有这么快的响应,那我们再把时间放慢 10 倍,100 个区块 ( 大概 20 分钟 ),这个时间也要远远小于 50400 个区块 (7 天 )。
上述探讨是基于最理想的情况,那如果网络中有人作恶呢?需要多长的时间才能发现作恶行为?
或者换种说法,至少需要延长多久的挑战期才能杜绝作恶行为?这里所指的作恶行为是,通过发布大量的交易在一段时间内使 gas 飙升,从而阻止欺诈证明被验证者接收。
这里我们再做一个假设,假设 Optimism 上有 20 亿美元的风险敞口,作恶者每个区块愿意拿出 100 万美元的 gas 小费 (priority fees) 来「抢跑」包含欺诈证明的交易。
那么,最多可以「挟持」网络的时间为 2000 个区块 (6.67 小时 )。当然,前面所举的例子都是基于一些非常简单粗陋的假设。
似乎无论从什么层面上看,挑战期也无需 7 天这么长的时间。很难能去想明白挑战期的长短跟安全性到底存在着怎样的非线性关系。
或许 7 对于 Optimism 创始人来讲是个非常有意义的数字吧,就像比特币 4 年减半周期大家猜想中本聪是个足球爱好者一样。
所以,能否在不降低安全性的情况下把 ORUs 的挑战期缩短至 3-5 天?可以,但对用户体验而言没太大优化。
那挑战期缩短至 1-2 天呢?能够有效优化用户体验的说法似乎可以 make sense.
@0xMantle, BitDAO 孵化的一个 ORU, 可以将挑战期缩短至 1-2 天。挑战期的优化逻辑基于 MPC 方案。
简单来讲,就是定序器不直接把交易批次提交到以太坊,而是先提交给 MPC 网络,由 MPC 节点共同签署,确认交易有效后再提交给以太坊。
因此,核心不同点是:
Optimism 把包含状态根的 batch 作为执行结果提交到以太坊;
而 Mantle 把包含由 MPC 节点联合签署状态根的 batch 作为执行结果提交到以太坊。
目的是为了降低 Rollup 执行结果的信任风险。
但 MPC 验证归根结底还是链下的验证方案,聊胜于无,对用户来讲算多了一个心理安慰。
打个不太恰当的比喻,MPC 验证方案就像是偏中心化的 zk 方案,前者安全性基于经济假设,后者基于密码学验证。
以上就是关于 ORUs 挑战期的一些思考和探讨,没有太强的逻辑性,权当抛砖引玉。BTW, 还是非常期待未来能看到挑战期显著缩短的 ORUs ( 分时级别 )。