对比Optimism 和 Arbitrum
我们先来看一下 Optimism 和 Arbitrum 之间的共同点:
接下来是重头戏 —— 不同点。Optimism 和 Arbitrum 之间最大的不同点在于欺诈证明机制的实现,即,一笔交易执行完后,如果状态引起争议该如何解决?
Optimism 采用单轮欺诈证明。也就是说,Layer 1 会在链上执行整个 Layer 2 交易,来验证状态根。这使得欺诈证明具有即时性,这是优点。
但是,这里面也存在一些问题:
Arbitrum 采用多轮欺诈证明。简单来说,就是通过二分查找,找到引起分歧的那个区块的第一个操作码。找到之后,只需在链上执行这个操作码。
多轮欺诈证明的优点如下:
缺点如下:
从另一种角度来思考,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 翻译&校对: 闵敏 & 阿剑
本文首发于:https://ethfans.org/posts/compare-OptimismPBC-vs-Arbitrum
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!