Optimism是一个快速、稳定、可扩展和低成本的以太坊Layer 2区块链。这意味着它在以太坊区块链(Layer1)之上运行,以帮助缓解拥塞,进而降低交易成本和处理时间。作为现有以太坊软件的最小扩展,Optimism的EVM-equivalent 架构可以扩展以太坊应用程序。如果它能在以太坊上工作,它也能在Optimism上工作,成本只有以太坊的一小部分。

Optimism 采用Optimism Rollups技术,可以将大量交易数据“汇总”成以太坊上的一批数据,从而只收取一笔交易费用。这样,交易的处理速度更快、成本更低,同时依赖于以太坊的安全性。

Optimism设计理念

简单性

Optimism 旨在为其提供的功能集尽可能简单。理想情况下,Optimism 应该由安全、可扩展和灵活的 L2 系统所需的最少数量的活动部件组成。这种简单性使 Optimism 的设计与其他更复杂的 L2 结构相比具有许多显著优势。

简单性降低了工程开销,这反过来意味着可以将时间更多的花在新功能上,而不是重新创建现有功能。Optimism 更喜欢尽可能使用现有的经过实战考验的以太坊代码和基础设施。这种理念在实践中最明显的例子是选择使用 Geth 作为 Optimism 的客户端软件。在处理关键基础设施时,简单性也是安全性。一个简单的协议意味着要编写的代码更少,因此潜在的错误也更少。外部贡献者和审计员也更容易访问干净且最小的代码库。所有这些都有助于最大限度地提高 Optimism 协议的安全性和正确性。

简单性对于 Optimism 的长期愿景也很重要。通过限制在以太坊工具之上编写的代码量,能够将大部分时间直接用于现有代码库。Optimism 也可以直接使以太坊受益,反之亦然。随着 Optimism 协议的巩固和现有资源可以重新定向到核心以太坊基础设施,这只会变得更加明显。

实用性

Optimism 背后的设计过程最终是由实用性驱动的。Optimism 核心团队有现实世界的限制,建立在 Optimism 之上的项目有现实世界的需求,而参与 Optimism 的用户有现实世界的问题。Optimism 的设计理念优先考虑用户和开发人员的需求,而不是理论的完美。Optimism 是迭代开发的,并努力不断地从用户那里获取反馈。当前许多核心 Optimism 特性(如EVM Equivalence ) 都是通过这种迭代的协议开发方法才得以实现的。

可持续性

应用程序开发人员需要确保他们所构建的平台在很长一段时间内不仅可以运行而且具有竞争力。Optimism 的设计过程是围绕长期可持续性的理念构建的,而不是走捷径来实现可扩展性。归根结底,如果没有维持它的生态系统,可扩展系统就毫无意义。

乐观

对以太坊愿景的乐观态度使这个项目不断向前发展。尽管 Optimism 看起来像一个独立的区块链,但它最终被设计为以太坊的扩展。Optimism 尽可能接近以太坊,不仅是出于务实的原因,还因为Optimism 的存在使以太坊能够成功。

Optimistic Rollups

Optimism 采用optimistic Rollups技术,可以将大量交易数据“汇总”成以太坊上的一批数据,从而只收取一笔交易费用。这样,交易的处理速度更快、成本更低,同时依赖于以太坊的安全性。我们将简要解释Optimistic Rollups 如何在高层次上工作。然后我们将解释为什么Optimism 被构建为 Optimistic Rollups,以及为什么我们认为它是解决我们所有设计目标的系统的最佳选择。 

Optimism 是一种“Optimistic Rollup”,它基本上只是描述区块链的一种花哨方式,它依赖于另一个“父”区块链的安全性。具体来说,Optimistic Rollups 利用其父链的共识机制(如 PoW 或 PoS),而不是提供自己的。在 Optimism 的使用中,这个父区块链是以太坊。

区块存储

所有 Optimism 区块都存储在以太坊上的一个特殊智能合约中,称为CanonicalTransactionChain (或简称 CTC)。Optimism区块保存在 CTC 内的一个仅附加列表中。这个仅附加列表形成了 Optimism 区块链。

CanonicalTransactionChain包含了一些代码,用于保证现有的区块列表不能被新的以太坊交易修改。但是,如果以太坊区块链本身进行了重组,并且改变了过去以太坊交易的顺序,这一保证就会被打破。Optimism 主网被配置为能够抵抗多达 50 个以太坊区块的区块重组。如果以太坊经历了比这更大的重组,Optimism 也会重组。

当然,不经历这种重大的区块重组是以太坊的一个关键安全目标。因此,只要以太坊的共识机制是安全的,就可以避免大规模的区块重组。正是通过这种关系(至少部分地),Optimism 从以太坊中获得了它的安全性。

区块生产

Optimism 区块生产主要由单方管理,称为sequencer,它通过提供以下服务来帮助网络:

  • 提供即时交易确认和状态更新。

  • 构建和执行 L2 区块。

  • 向 L1 提交用户交易。

sequencer没有内存池,交易会按照收到的顺序立即被接受或拒绝。当用户将他们的交易发送给sequencer时,它会检查交易是否有效(即支付足够的费用),然后将交易作为待处理区块应用到其本地状态。这些待处理的区块会定期大批量提交给以太坊进行最终确定。这种分批处理过程通过将固定成本分摊到给定批次内的所有交易中来显著降低整体交易费用。sequencer还应用了一些基本的压缩技术,以尽量减少发布到以太坊的数据量。

因为sequencer被赋予了对 L2 链的优先写入访问权限,所以当它决定了一个新的待处理区块,sequencer可以提供一个强有力的保证来确定什么状态将被最终确定。换句话说,确切地知道交易的影响是什么。结果,L2状态可以非常迅速地可靠地更新。这样做的好处包括快速、即时的用户体验,例如近乎实时的 Uniswap 价格更新。

或者,用户可以完全跳过sequencer,通过以太坊交易直接将他们的交易提交到

CanonicalTransactionChain。这通常更昂贵,因为提交此交易的固定成本完全由用户支付,并且不会分摊到许多不同的交易中。但是,这种可选的提交方法的优点是可以抵抗序列器的审查。即使sequencer正在积极审查用户,用户也始终可以继续在 Optimism 上发送交易。

为了让用户能够以抗审查的方式执行提款,汇总必须允许参与者以去信任的方式将交易结果发布到以太坊。目前,Optimism基金会 是唯一能够在分散“结果提案”角色时发布交易结果的实体。虽然不是 Optimism 独有的,但在使用系统时了解这些安全属性是值得的。未经许可的结果发布应与Cannon的生产版本一起引入故障证明系统。

区块执行

以太坊节点从以太坊的 p2p 网络下载区块。Optimism 节点直接从CanonicalTransactionChain合约中仅附加的区块列表中下载区块。

Optimism 节点由两个主要组件组成,即以太坊数据索引器和 Optimism 客户端软件。以太坊数据索引器,也称为“数据传输层” (或 DTL),从发布到CanonicalTransactionChain合约的区块中重构 Optimism 区块链。

DTL 搜索由CanonicalTransactionChain表明新的 Optimism 块已发布的信号发出的事件。然后它检查发出这些事件的交易,以标准以太坊块格式重建已发布的区块 。

Optimism节点的第二部分,Optimism 客户端软件,是一个几乎完全是原版的Geth 。这意味着 Optimism 在本质上与以太坊几乎相同。特别是Optimism 共享同一个以太坊虚拟机 ,相同的账户和状态结构 ,以及相同的gas计量机制和收费表。我们将此架构称为“EVM 等效” ,这意味着大多数以太坊工具(即使是最复杂的工具)“只适用于”Optimism。 

Optimism 客户端软件持续监控新索引块的 DTL。当一个新块被索引时,客户端软件将下载它并执行其中包含的交易。在 Optimism 上执行交易的过程与在以太坊上相同:我们加载 Optimism 状态,针对该状态应用交易,然后记录由此产生的状态变化。然后对 DTL 索引的每个新块重复此过程。

在L1和L2之间标准桥

Optimism 旨在让用户可以在 Optimism 和以太坊上的智能合约之间发送任意消息。这使得在两个网络之间转移资产(包括 ERC20 代币)成为可能。这种通信发生的确切机制取决于消息发送的方向。Optimism 使用标准桥(StandardBridge)允许用户将资产(ERC20 和 ETH)从以太坊存入 Optimism,并允许将相同的资产从 Optimism 提取回以太坊。

标准桥由两个主要合约组成L1StandardBridge(对于第 1 层)和L2StandardBridge(对于第 2 层)。

Deposits

存入 ERC20

ERC20 存款到 L2 可以通过L1StandardBridge 上的depositERC20和depositERC20To函数触发, 必须批准标准代币桥才能使用您想要存入的代币数量,否则存款将失败。

存入 ETH

ETH 存入 L2 可以通过L1StandardBridge 上的depositETH和depositETHTo函数触发。也可以通过将 ETH 直接发送到L1StandardBridge。一旦用户的存款在 Optimism 上被检测到并最终确定,用户的账户将在 L2 上获得相应数量的 ETH。

Withdrawals

提取 ERC20

ERC20 提款可以通过L2StandardBridge 上的withdraw或withdrawTo函数触发。

提取 ETH

与 L1 不同,我们在 L2 上没有单独的功能来提取 ETH。相反,用户可以在L2StandardBridge上使用withdraw或withdraw to函数,并使用地址

0xdeaddeaddeaddeaddeaddeaddead0000作为L2代币地址。

故障证明

在 Optimistic Rollup 中,状态承诺会在没有任何直接证明这些承诺有效性的情况下发布到以太坊。相反,这些承诺在一段时间内被视为待处理(称为“挑战窗口”)。如果提议的状态承诺在挑战窗口期间(当前设置为 7 天)未受到挑战,则将其视为最终承诺。一旦一个承诺被认为是最终的,以太坊上的智能合约可以安全地接受基于该承诺的Optimism状态的证明。

当状态承诺受到质疑时,可以通过“故障证明”(以前称为“欺诈证明”)过程使其无效。如果该承诺被成功挑战,则将其从StateCommitmentChain 中删除,最终被另一个提议的承诺取代。重要的是要注意,成功的挑战不会回滚 Optimism 本身,只会回滚有关链状态的已发布承诺。交易的顺序和Optimism状态不会因故障证明挑战而改变。

本期我们详细介绍了Optimism是如何工作的。Optimism 采用Rollup技术,在依赖于 Layer 1 区块链的安全性同时,提高交易的速度和降低时间成本。就锁定的总价值而言,Optimism 目前是第二大Layer 2链,仅次于 Arbitrum。Optimism 的理念建立在简单、实用主义可持续性和乐观主义这四个核心价值观之上,希望有一天,能够实现拥有一个真正去中心化的网络。

原文链接:

https://community.optimism.io/docs/how-optimism-works/#moving-from-ethereum-to-optimism