快速介绍 Optimism 架构
什么是 Optimism?
Optimism 是一种 EVM 等效的乐观汇总协议,旨在扩展以太坊。
- 扩展以太坊意味着增加以太坊网络可以处理的有用交易数量。
- 乐观汇总 是一种第二层可扩展性技术,它在不牺牲安全性或去中心化的情况下,增加以太坊的计算和存储能力。
- EVM 等效性 是与以太坊黄皮书中描述的状态转移函数的完全合规,后者是该协议的正式定义。
乐观汇总通过将多个交易打包成一个单一交易来工作,然后由以太坊网络上的智能合约进行验证。这个过程被称为“汇总”,因为单个交易被组合成一个更大的交易,并提交到以太坊网络。术语“乐观”指的是系统假设交易是有效的,除非有证据证明相反,这使得交易的处理更快、更高效。
整体架构
op-node + op-geth
汇总节点可以以验证者或排序者模式运行:
- 验证者(即验证器):类似于运行以太坊节点,它在本地模拟 L2 交易,而不限制速率。它还允许 验证者 验证 排序者 的工作,通过重新推导 输出根 并将其与 排序者 提交的进行比较。如果不匹配, 验证者 可以执行 故障证明。
- 排序者: 排序者 是一个特权角色,它接收来自 L2 用户的 L2 交易,使用这些交易创建 L2 块,然后将其提交给 数据可用性提供者(通过 批处理器)。它还将 输出根 提交给 L1。目前整个堆栈中只有一个排序者,这也是人们批评 OP 堆栈不去中心化的地方。
op-batcher
批量提交者,也称为 批处理器,是将 L2 排序者 数据提交到 L1 的实体,以使其对验证者可用。
op-proposer
提议者生成并提交 L2 输出检查点到以太坊上的 L2 输出预言机合约。在最终确认期结束后,这些数据使提款成为可能。
批处理器和提议者都将状态提交到 L1。为什么它们被分开?
批处理器收集并将交易数据批量提交到 L1,而提议者将承诺(输出根)提交到 L2 的状态,从而最终确定 L2 账户状态的视图。它们是解耦的,以便可以并行工作以提高效率。
contracts-bedrock
各种合约用于 L2 与 L1 进行交互:
- OptimismPortal:一个 L2 交易的馈送,这些交易源自 L1 状态中的智能合约调用。
- 批量收件箱:一个 L1 地 址,批量提交者将交易批量提交到该地址。
- L2 输出预言机:一个智能合约,存储 L2 输出根 以用于提款和故障证明。
如何存款?
如何提款?
对 Optimism 文档的反馈
理解 OP 堆栈可能会很具挑战性,原因有很多。其中一个因素是许多组件在代码和文档中多次以略微不同的名称被提及。例如,术语“op-batcher”和“批量提交者” / “验证者”和“验证器”可能可以互换使用,这导致混淆和理解每个组件的确切功能的困难。
理解 OP 堆栈的另一个挑战是不断发展的架构,这可能导致某些设计元素随着时间的推移而被弃用。不幸的是,文档可能并不总是更新以反映这些变化。这 可能导致进一步的混淆和理解系统的困难,因为用户可能正在使用过时或不准确的信息。
为了克服这些挑战,重要的是仔细审查所有可用文档,保持概念在各个地方的一致性,并随时了解 OP 堆栈的任何变化或更新。这可能需要额外的研究和与其他用户或开发者的合作,但这是完全理解和有效利用这个复杂系统的必要条件。