详解Layer 2扩展解决方案Optimism是如何工作的-ODAILY_TIM:IMI

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

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

Optimism设计理念

简单性

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

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

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

实用性

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

可持续性

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

乐观

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

OptimisticRollups

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

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

区块存储

所有Optimism区块都存储在以太坊上的一个特殊智能合约中,称为CanonicalTransactionChain。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客户端软件。以太坊数据索引器,也称为“数据传输层”,从发布到CanonicalTransactionChain合约的区块中重构Optimism区块链。

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

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

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

在L1和L2之间标准桥

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

标准桥由两个主要合约组成L1StandardBridge和L2StandardBridge。

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或withdrawto函数,并使用地址

0xdeaddeaddeaddeaddeaddeaddead0000作为L2代币地址。

故障证明

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

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

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

原地址:

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

更多区块链知识与干货,关注Tokenview.io。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-4:596ms