本文是 Optimism Bedrock Wrap-Up 系列的第二篇,介绍了 Bedrock 升级的关键变化,包括区块创建、Mempool的变化、EIP-1559的引入、L1 Attributes Deposited Transaction、区块推导、以及两阶段提款流程。Optimism 利用以太坊作为数据可用性层,旨在提升以太坊用户及开发者的体验。
(01.17.24) 更新了关于 EIP 1559 燃烧如何在 Optimism 上工作的不正确信息)
Onther 旨在为当前对 Optimism 和 Ethereum 生态系统的发展感兴趣的开发人员提供有价值的信息。
图。Optimism Bedrock 插图 (来源: OpLabs)
这篇文章是“Optimism Bedrock 总结系列”的第二篇,该系列由 Onther 计划撰写的五篇文章组成,涵盖了 Bedrock 升级后的主要变化。
考虑到该系列的互联性,我们建议按顺序阅读这些文章,以便获得连贯的理解。
详解 Optimism Bedrock 系列 1. Bedrock 升级概述:它提供了 Bedrock 升级、其组件以及在其层中部署的智能合约的概述。 Optimism Bedrock 总结系列 1
详解 Optimism Bedrock 系列 2. Bedrock 升级以来的主要变化: 在本节中,我们的目标是阐明 Bedrock 升级引入的重大变化,为全面理解奠定基础,从而顺利阅读本系列接下来的部分。
Optimism Bedrock Wrap-Up Series 2 Bedrock 升级的主要变化
详解 Optimism Bedrock 系列 3. 存款/取款流程分析: 我们将对存款/取款流程进行逐步分析,揭示其各层中的核心代码逻辑。
Optimism Bedrock Wrap Up Series 3 存款/取款流程
详解 Optimism Bedrock 系列4. 区块推导: 一旦在 Layer 2(Optimism 主网)上生成区块,系统就会启动一个过程,将这些区块 Roll-up 到 Layer 1。随后,在区块推导阶段,仅使用已 Roll-up 的数据重建 L2 区块。我们将提供详细的步骤指导,并在此过程中进行代码检查。
Optimism Bedrock Wrap-Up Series 4 分析区块推导流程
详解 Optimism Bedrock 系列 5. Optimism Bedrock 组件的角色和行为: 作为本系列的最后一部分,我们将全面检查 Op-Batcher 和 Op-Proposer 的角色和操作逻辑。
Optimism Bedrock Wrap-Up Series 5 Optimism Bedrock 的基本组件的角色和行为
值得注意的是,Optimism 通过利用 Ethereum 作为数据可用性层来优化其功能,从而为 Ethereum 用户和开发人员带来丰富的体验。特别是通过利用 Ethereum 作为数据可用性层,Optimism 旨在增强 Ethereum 用户和开发人员的体验。
Bedrock 升级是 Optimism 生态系统中 L1 和 L2 网络的关键增强,显着提高了可扩展性和性能。预计这将促进金融、游戏、DeFi、NFT 等各个领域的创新和进步,这得益于该平台改进的性能。
在本系列中,我们旨在简要概述 Bedrock 升级后的主要变化。
图。L2 区块的生成路径
在上图中,使用一个简单的示例简要总结了源自 L1 的 L2 交易的传输路径。在 L1 中,区块以 12 秒的间隔生成,在此期间 L1 中累积的 30 笔交易被转发到 L2 并存储在 Mempool 中。随后,L2 中的 Sequencer 根据其优先级和区块大小重新排列交易。重新排列过程涉及预先设置“待处理交易”,以方便每 2 秒生成一个区块。(关于重新排列的优先级顺序的更多细节在 Mempool 部分进行了广泛讨论。)
在比较 Ethereum 和 Optimism 的区块生成过程时,最显着的差异在于 Mempool 和 Sequencer 的去中心化。
Ethereum:在由去中心化节点组成的网络中生成区块。
Optimism:协议中集中运营的 Sequencer 生成区块。
图。OP Mainnet 上的优先级费用和基础费用 (来源: optimistic.grafana.net)
在 Legacy 版本中,每笔交易都与一个区块有直接的 1:1 对应关系,从而导致对新创建的交易的顺序处理。但是,在 Bedrock 版本中,支持 EIP-1559,需要一个“Mempool”来存储在以固定时间间隔生成区块的过程中的待处理交易。
当交易存储在 mempool 中时,它不仅仅是被动存储;它会显着影响区块处理的顺序。
(Optimism 的 Mempool 是私有的,确保交易在正式包含在 L2 区块中之前保持机密。)
图。标题为“Ethereum 会因为 EIP-1559 而通货紧缩吗?”的插图,(来源: moralismoney)
Optimism 已通过 Bedrock 升级更新了其网络以支持 EIP-1559。EIP-1559 通过动态计算和可预测地管理实时生成的区块中所有交易的费用和流量,增强了 Ethereum 和 Optimism 的基本费用机制。
在 EIP-1559 下,gas 单位成本包括两个要素(如 Mempool 解释中所详述)。
图。取决于 Tx 大小的区块大小变化
在 EIP-1559 下,区块大小在更新前最大区块大小的两倍范围内动态调整。如果由于交易请求导致需求增加,则区块大小(容量)也会增加,反之,随着需求减少,区块大小也会减少。
基础费用: 基础费用同样在 ±12.5% 的范围内测量,具体取决于区块大小的变化。如果发生的交易多于系统的目标区块大小,则基础费用会上涨以抑制需求。相反,如果交易需求低于目标区块大小,则基础费用会降低以鼓励交易发生。与传统上仅根据网络的 TPS(每秒交易数)调整费用的方法相比,这种机制能够预测区块大小的变化,从而有效地抑制了费用的突然波动。
优先级费用: 用户可以通过支付优先级费用(最高可达到他们愿意支付的最大金额)来提高其交易优先级。Sequencer 将首先采用最高优先级费用来处理交易。
此外,EIP-1559 标志着用户费用管理方式的重大转变,将它们从矿工那里转移开,而是选择燃烧它们。此调整解决了在供应量不断增长的情况下 ETH 价值下降的问题。通过燃烧费用,该协议旨在抵消供应增加,从而促进这样一种情况:如果燃烧的 ETH 多于挖矿的 ETH,则会产生通货紧缩影响,从而导致 ETH 价值上涨。因此,网络越活跃,燃烧的 ETH 数量就越大。
H̶o̶w̶e̶v̶e̶r̶,̶ ̶a̶s̶ ̶O̶p̶t̶i̶m̶i̶s̶m̶ ̶d̶o̶e̶s̶ ̶n̶o̶t̶ ̶i̶n̶c̶l̶u̶d̶e̶ ̶a̶ ̶b̶u̶r̶n̶i̶n̶g̶ ̶m̶e̶c̶h̶a̶n̶i̶s̶m̶,̶ ̶t̶h̶e̶ ̶b̶u̶r̶n̶i̶n̶g̶ ̶p̶r̶o̶c̶e̶s̶s̶ ̶i̶s̶ ̶r̶e̶p̶l̶a̶c̶e̶d̶ ̶b̶y̶ ̶p̶e̶r̶m̶a̶n̶e̶n̶t̶l̶y̶ ̶l̶o̶c̶k̶i̶n̶g̶ ̶f̶e̶e̶s̶ ̶i̶n̶ ̶t̶h̶e̶ ̶b̶r̶i̶d̶g̶e̶.̶ ➠在 Optimism 的上下文中,基础费用不会被燃烧;而是存储在 baseFeeVault 合约中。此机制有助于提取到 Layer 1,每次累积金额达到 _minWithdrawalAmount 阈值时都会激活。指定的接收者在合约中指定——目前设置为 simpleWallet,它被构建为多重签名钱包。因此,此过程导致 ETH 从 Optimism 链转移到 Ethereum 链,这与传统的燃烧做法不同(已于 01.17.24 修正)_。
EIP-1559 更新的 opcode 和 API 列在下面。
Opcodes
API
(如果你想阅读更多关于 EIP-1559 的信息,你可以访问这个 链接)。
Optimism 为在 L2 中生成的所有区块实施了一个名为“L1 属性 Deposit Transaction”的系统交易的新概念。
图。包含 8 笔交易的第 109,880,905 个区块 (来源: optimistic.etherscan.io)
在 optimistic.etherscan.io 捕获的图像中,我们观察到第 109,880,905 个区块中有 8 笔交易。值得注意的是,底部的交易对应于 L1 属性 Deposit Transaction 。更仔细地检查此交易的“输入数据”显示,它封装了全面的区块信息,包括诸如 L1BlockNumber 、 timestamp 、 basefee 、 hash 等详细信息。
L1 属性 Deposit Transaction 的主要功能是将每个 L1 区块的最新信息传递到 op-geth,从而有助于更新 L2 帐户的状态。最初,“Deposit Transaction”一词可能暗示涉及 ETH 或 ERC-20 代币存款的交易。但是,在 Bedrock 中,它包含由 L1 触发的所有 L2 交易和事件,统称为“Deposit Transaction”。虽然大多数 Deposit Transaction 涉及像 ETH 或 ERC-20 代币这样的资产的存款,但重要的是要注意,它们还可以封装对部署在 L2 上的合约的调用,而无需转移资产。
最终,L 1 属性 Deposit Transaction 确保 Sequencer 可以附加关于 L1 区块的准确信息,从而提供可靠的参考。通过在每个交易中直接包含 L1 区块信息,部署在 L2 上的合约可以直接接收最新的 L1 区块数据,而无需跨链调用。
图。区块推导过程摘要
Rollup 节点在监视 L2 链的进度和状态方面起着至关重要的作用。当 Sequencer 创建一个 L2 区块,并且 Batch Submitter 将 L2 区块的数据提交到 L1 (BatchInbox) 时,Verifier 应该能够使用提交的数据重建 L2 链。这种基于提交到 L1 的数据重建 L2 链的过程称为“区块推导”。
在 Bedrock 的上下文中,区块分为三种类型: 不安全、安全 和 最终。要理解这些区别,必须掌握两个基本概念。第一个是前面提到的“区块推导”,第二个是 Ethereum mainnet 链中的“最终性”概念。
如果发生 L1 重组,L2 会重新组织自身以与 L1 对齐。因此,Optimism 网络需要重新创建先前提交的批次或输出根。为了解决这个问题,区块被分为三种类型,并具有用于网络运行的特定标准:
“Bedrock 升级将为 Optimism 主网桥引入一种新的两步提款流程,这将提高其安全性并使漏洞利用更加困难。”
- Optimism Labs -
在 Bedrock 中,当资金从 Optimism 转移到 L1 时,将启动 L2 上的取款流程,并且现在通过两个不同的步骤确认取款:‘proveWithdrawalTransaction’ 和 ‘finalizeWithdrawalTransaction.’
图。两步取款:步骤 1
要启动取款过程,用户需要在包含取款交易的 L2 区块的输出附加到 L1 中的 L2OutputOracle 后立即提供证据。
撤回过程如下:
图。两步取款:步骤 2
在 7 天的挑战期内,向用户提出了对撤回证明的质疑。如果该证明在此期间结束时没有受到质疑,则该证明被视为有效的取款,允许用户继续进行取款。
用户确认挑战期已过,并调用 OptimismPortal 中的 finalizeWithdrawal 函数以提取其资产。
(对取款的详细代码级分析将在本系列的第三部分中介绍)。
总而言之,以下是 Bedrock 升级引入的重大转变的简要概述。此次升级不仅带来了实质性的变化,而且也给 Optimism 生态系统注入了一种热情。
在本系列的下一部分中,我将深入分析代码级别的存款和取款过程。
Introducing op-erigon: how the Bedrock upgrade unlocks client diversity
**Welcome to the Optimism Docs
EIP-2718: Typed Transaction Envelope
EIP-1559: Fee market change for ETH 1.0 chain
WalletSimple Address 0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa
Increasing Confidence in the OP Mainnet Bridge with Two-Step Withdrawals
What is EIP-1559 and Will Ethereum Go Deflationary With It? - Moralis Academy*
- 原文链接: medium.com/tokamak-netwo...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!