为什么说第二代Optimistic Rollup是Layer2的未来
第二代 Optimistic Rollup 设计选型对比
Arbitrum 与 Optimism 的开发人员分别对两者的架构进行了比较和对比, 这里我们就仅讨论与用户或应用开发者有关的点:
a) 区块时间
区块时间设计的选择主要是两种: 固定时间或者可变时间。可以理解成 PoS 和 PoW 的以太坊的区别。
Optimism: 固定时间 (2 秒 )
固定时间可以保证使用区块 (block.number) 来作为时间戳的合约的稳定性, 比如 Sushiswap 的 Masterchef 合约。这些合约不用时间戳可能是考虑到矿工对时间戳有控制权 ( 算是 Selfish mining 或者 MEV?)。
第一代的 Optimism 采用了可变时间 + 1 tx/block 的设计, 因此由于时间计算的问题, Stargate 的奖励发放就出现了一些问题。
对于 1tx/block 的老设计, Optimism 认为由于区块头的存在, 存储链的开销太大了, 除此之外状态根也需要频繁更新, 成本过高。
Arbitrum: 可变时间
可变时间设计主要是为了减小 tx 确认的延迟。目前一秒最多可以创建 4 个区块, 如果没有 tx 则跳过, 因此是可变时间。
对于以 block。number 进行计时的合约, Arbitrum 上 block。number 会直接返回以太坊的区块编号, 因此不会有稳定性和适配上的问题。除此之外 Arbitrum 也提供了相应的预编译来提供 L2 的区块编号。
b) Geth 的定位
Geth 是以太坊的执行客户端, 占据了约 80% 的节点总量。
Optimism: 作为独立引擎
将 Geth 作为独立执行引擎, 而非库处理。好处就是可以完全重用之前的基础设施, 同时可以无缝切换到其他执行客户端。
Arbitrum: 作为库
由于 Arbitrum 有更多的 L2 特定状态, 例如 L1 和 L2 的 gas 定价, 以及 retryable ticket, 因此将 Geth 作为库处理, 使用 hooks 进行调用。
c) L1-L2 消息 inclusion 延迟
Optimism: ~2 分钟
Bedrock 的延迟是几个 L1 块的长度, 最坏的情况是延迟十分钟。
Bedrock 的架构更像一个 L1, 极端情况下可以通过 reorg 自己来应对 L1 的 reorg。
超过 10 分钟没被 L2 包含的 tx 就直接被判定为无效了。
Arbitrum: 10 分钟
Nitro 延迟十分钟处理, 如果超过十分钟, 可以通过 L1 调用来强制包含 tx。
Nitro 的目标是为了用户体验, 让 L2 永远不需要 reorg。
两者都是在不同角度对用户体验进行了取舍。
d) L1-L2 消息重试机制
消息重试机制主要就是为了解决 L1-L2 跨链过程中, L1 确认了, L2 失败的问题。
Optimism: 合约中实现
开发者可以参考 L1 Optimism Portal 的实现, 或者在合约内定义自己的重试机制。
Arbitrum: 节点中实现
重试机制在 ArbOS 节点中实现。
e) L2 费用算法
L2 的 gas 计算基本上就是 L2 execution gas + L1 calldata cost。
Optimism: 重用 EIP-1559
好处就是钱包和其他基础设施可以无缝接入。
Optimism 对 L2 gas 的计算基本上是将 L2 execution gas 的成本压到了最低 (99% 都是 calldata cost)。
Arbitrum: 使用定制系统
由于之前提到的可变区块时间设计, 因此 gas 定价更加复杂, 所以没有采用 EIP-1559。
f) L1 费用算法
Optimism:
L1 gas 水平到 L2 的传输几乎是即时的。目前 Sequencer 的收益基本完全来源于 L1 gas 费用的乘数, EIP-4844 后, 它们的收入会来自 MEV。
未来会通过 L1-L2 的消息传递来传输这部分数据, 从而保证安全性 ( 成为协议一部分, 且可被挑战 )。
Arbitrum:
Arbitrum 的 L1 费用算法通过 L1 gas 的平均值来收取费用, 且通过自己的控制系统来从实际支付的费用中来获取反馈, 从而保证 L1 gas 收取和支出的稳定。
整体策略中也包括, 为了避免 Sequencer 过度收费, 因此在 gas 价格低时才发布 batch。
除此之外, 两者也探讨了很多具体架构和技术细节上的区别, 但内容过于 domain-specific 且与用户和应用开发者无关, 因此大家可以自行观看。
3.Rollup 的未来依然是 Optimistic 的
最近 zkEVM Rollup 以及整个 ZK 生态的热度确实非常高 (Devcon Bogota 基本是 ZK + MEV + 其他 ), 以至于大多数以太坊研究者或多或少忽视了 Optimistic Rollup 的发展, 以及在第二代中这些有趣的设计细节。
Optimistic 作为 Rollup 的领头部队, 正在 L2 UX 和 DX 上进行试验性的开拓和开创性的创新。它们所做的可以为 zkEVM Rollup 铺好地基。
在未来两到三年, 甚至更长的时间内, zkEVM Rollup 完全可用之前, Rollup 的主导地位仍会是由 Optimistic 占据, 且 80% 的新 Rollup (App-rollup) 则会采用更为成熟和可用的 Optimistic 机制。
即使是在长期 zkEVM Rollup 成熟后, 为了 Rollup 的整体 liveness 和 safety, Optimistic 依旧会是整个系统中的重要基石。