科普

OptimismPBC vs Arbitrum

曾汨   |     |   1188 次阅读

现在正是将 @optimismPBC@arbitrum 拉出来较量一下的时候了。久等了各位,我们现在就开始!🔥🔥🔥

1

我们先来看一下 Optimism 和 Arbitrum 之间的共同点:

接下来是重头戏 —— 不同点。Optimism 和 Arbitrum 之间最大的不同点在于欺诈证明机制的实现,即,一笔交易执行完后,如果状态引起争议该如何解决?

Optimism 采用单轮欺诈证明。也就是说,Layer 1 会在链上执行整个 Layer 2 交易,来验证状态根。这使得欺诈证明具有即时性,这是优点。

但是,这里面也存在一些问题:

  • 你需要监督交易执行,为此需要使用 OVM(即为了避免副作用而重新编写的EVM)
  • Layer 2 交易的 gas 使用量不得超过 Layer 1 区块的 gas 上限
  • 每执行一笔交易,你都需要在链上生成状态根 —— 导致成本上升:(
  • 存在安全隐患

Arbitrum 采用多轮欺诈证明。简单来说,就是通过二分查找,找到引起分歧的那个区块的第一个操作码。找到之后,只需在链上执行这个操作码。

多轮欺诈证明的优点如下:

  • 它只需为一整批交易生成一个状态证明,并发布到链上
  • Layer 1 区块 gas 上限并不重要,因为 Layer 2 交易不完全在 Layer 1 上执行

缺点如下:

  • 需要 EVM -> AVM 翻译(幸好是自动的)
  • 速度很慢 —— 最坏情况下,需要长达 2 周时间才能完成欺诈证明。实际上是一周时间。
  • 需要原始提款人在线并配合

从另一种角度来思考,Optimism 是集装箱化的,而 Arbitrum 是虚拟化的。

Optimism 的方法有一个很大的缺点。想象一下,如果出现硬分叉,导致以太坊共识规则改变,操作码被删除/重新定价或修改。这时,突然在 Layer 1 上重新执行过去的交易会得到截然不同的最终状态。我不知道 Optimism 团队会如何解决这个问题,但是我想真到了那一天他们会想出办法的。Arbitrum 完全控制 AVM 规范,因此不用担心这种问题。

这两个项目都试图尽可能贴近以太坊生态系统,但是这里面有一些不同。总的来说,你依然可以使用你所知道的与 EVM 相关的工具(solidity、hardhat 和 waffle 等)。但实际上没那么简单。

Optimism 需要一个特殊的 solidity 编译器来生成 OVM 字节码。因此,它只与 Solidity,而且是特定版本的 Solidity 兼容。另一方面,Optimism 的 Layer 2 节点只是经过了修改的 geth 客户端,修改的目的是为了提高兼容性。

从表面上来看,Arbitrum 完全兼容 EVM/JSON RPC 规范,但是它的节点是自定义实现。Arbitrum 通过自动化的EVM-> AVM 翻译来支持欺诈证明。因此,它支持任何 EVM 语言(vyper、YUL+ 等)。

Optimism 使用 weth,而且内置钱包抽象。Arbitrum 自带 ETH 支持。

Arbitrum 提供统一的免许可桥,来实现任意代币和 Layer 2 之间的桥接(它部署了一个通用 ERC20 合约作为 Layer 2 对手方)。Optimism 更喜欢专用桥,不过在 Optimism 上构建通用桥也是有可能的。关于这点,@dmihal 知道得更详细;)

最后一个差别是上线实现。Arbitrum 将在本月底上线 “面向开发者的主网”,Optimism 则要等到 7 月。

如果你想要了解更多内容,我建议你观看这场由 @stonecoldpat0 主持的 @karl_dot_tech@hkalodner 之间的友好辩论

就我个人而言,这两个项目我都很支持。我已经等不及看到它们主网上线了。整个以太坊社区都亟需合适的 Layer 2 方案,而不是什么可扩展侧链。

如果你想要了解 Optimism 桥的例子,可以查看 https://github.com/makerdao/optimism-dai-bridge。我们准备在下周发布兼容 Arbitrum 的版本。

(完)


原文链接: https://twitter.com/krzKaczor/status/1395812308451004419
作者: Kris Kaczor
翻译&校对: 闵敏 & 阿剑


你可能还会喜欢:

关于 Optimistic Rollup,你需要知道的一切

Arbitrum Rollup 的工作原理

深入理解 OVM

 
0 人喜欢