区块链--Optimism(Layer2)

Zeke Luo 2022-04-04 01:42:23 阅读数:87

区块 layer layer2 optimism

简介

Optimism,前身为 Plasma Group,是 Optimistic Rollup扩展技术背后的开发团队。Rollup 是以太坊上的智能合约,用于连接以太坊主链和 L2。Rollup 从以太坊主链接收交易数据,将其发送到进行计算的 L2,然后接收 L2 计算的结果。需要注意的是,Rollup 有两种变体:Optimistic Rollup 和 ZK-Rollups。Optimism 仅使用 Optimistic Rollups。

在 Optimism 上,发送到 L2 的事务由负责准确执行接收到的事务的 Sequencer 接收。Sequencer会因正确执行交易而获得奖励,但如果他们通过削减抵押资金而恶意行事,则会受到惩罚。

如果有人怀疑 Sequencer 有欺诈行为,他们可能会提醒以太坊主网上的仲裁员合约。这可以验证 Sequencer 使用乐观虚拟机 (OVM) 生成的结果的有效性,OVM 是为 L2 系统构建的与以太坊虚拟机 (EVM) 兼容的执行环境。如果碰巧 Sequencer 的结果无效,Optimistic Rollup 会执行欺诈证明,并且 Sequencer 的资金将被罚没。部分被罚没的资金将奖励给举报人。举报人在称为“挑战期”的时期内挑战Sequencer的结果。这段时间通常持续一周左右,这导致将资产从 Optimism 转移回以太坊的时间延迟了一周。

虽然提款延迟是 Optimism存在的一个问题,但节省的 gas 成本非常可观。这是因为 Rollups 能够通过一系列压缩技术来提高效率,这些技术尽可能用计算替换数据。这导致链上空间节省 100 倍。

块生产

Optimism 区块生产主要由称为“序列器”的单一方管理,它通过提供以下服务来帮助网络:

  • 提供即时交易确认和状态更新。
  • 构建和执行 L2 块。
  • 向 L1 提交用户交易。

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

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

或者,用户可以完全跳过排序器并通过以太坊交易直接提交他们CanonicalTransactionChain的交易。这通常更昂贵,因为提交此交易的固定成本完全由用户支付,并且不会分摊到许多不同的交易中。但是,这种替代提交方法的优点是可以抵抗测序仪的审查。即使定序器正在积极审查用户,用户也始终可以继续使用 Optimism 并通过此机制收回任何资金。

从以太坊转向optimism

要将消息从以太坊发送到 Optimism,用户只需触发以太坊上的CanonicalTransactionChain合约,在 Optimism 区块上创建一个新区块。有关其他上下文,请参阅上面关于**块生产的部分。**用户创建的区块可以包括看似源自生成区块的地址的交易

从Optimism转向以太坊

Optimism 上的合约不可能像以太坊合约可以在 Optimism 上产生交易一样轻松地在以太坊上生成交易。因此,将数据从 Optimism 发送回以太坊的过程更加复杂。我们必须能够对以太坊上的合约的乐观状态做出可证明的陈述,而不是自动生成经过身份验证的交易。

对乐观状态做出可证明的陈述需要**密码学承诺 (打开新窗口)以乐观状态树的根的形式 (打开新窗口). Optimism 的状态在每个区块之后都会更新,因此这个承诺也会在每个区块之后发生变化。承诺会定期发布(大约每小时一次或两次)到以太坊上的智能合约,称为 StateCommitmentChain ( https://etherscan.io/address/0xBe5dAb4A2e9cd0F27300dB4aB94BeE3A233AEB19)**.

用户可以使用这些承诺来生成**Merkle 树证明 (打开新窗口)关于乐观状态。这些证明可以通过以太坊上的智能合约进行验证。Optimism 维护一个便捷的跨链通信合约, L1CrossDomainMessenger  (https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)**,它可以代表其他合约验证这些证明。

这些证明可用于对 Optimism 上特定区块高度的任何合约存储中的数据做出可验证的陈述。然后可以使用此基本功能使 Optimism 上的合约能够向以太坊上的合约发送消息。 L2ToL1MessagePasser  (https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000000)**Optimism 上的合约可以使用合约(预部署到 Optimism 网络)将消息存储在 Optimism 状态。然后,用户可以向以太坊上的合约证明 Optimism 上的给定合约实际上意味着通过显示该消息的哈希已存储在L2ToL1MessagePasser合约中来发送某些给定消息。

故障证明

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

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

L1和L2使用流程上的区别:

  • L1-L2 Deposit 大概5分钟
  • L2-L1 withdraw需要7天(7天的时间说明,可以查看从Optimism转向以太坊
  • L2-L2 tranfer 秒级别
版权声明:本文为[Zeke Luo]所创,转载请带上原文链接,感谢。 https://blog.csdn.net/qq_33842966/article/details/123926638