数据可用性技巧


🚧 OP Stack Hacks 是一些你可以在 OP Stack 上做的事情,但目前并不打算用于生产环境

OP Stack Hacks 不适合新手。你将无法获得 OP Stack Hacks 的重要开发者支持,准备好自己动手解决问题并在没有支持的情况下工作。

# 概述

数据可用性层负责对构成 OP Stack 基于链的原始输入数据进行排序存储(交易、状态根、来自其他区块链的调用等)。你可以将其概念化为一个输入数组 - 这个数组的排序应保持稳定,数组的内容应保持可用。输入的不稳定排序将导致 OP Stack 链的重组,而不可用的输入将导致 OP Stack 链完全停止。

# 默认设置

OP Stack 链的默认数据可用性层模块是以太坊 DA 模块。使用以太坊 DA 模块时,所有原始输入数据都应在以太坊上找到。使用此模块时,可以查询在以太坊上可访问的任何数据,包括调用数据、事件和其他区块数据。

# 安全性

基于 OP Stack 的链是基于所使用的数据可用性层模块上找到的原始输入数据的函数。如果所需的某个数据不可用,节点将无法正确同步链。这也意味着这些节点将无法对提交给结算层模块的任何无效状态提案进行争议。基于 OP Stack 的链的安全性不能超过数据可用性模块。

你应该仔细了解所使用的任何数据可用性模块的安全性属性。标准的以太坊 DA 模块通常提供了最佳的安全性保证,但交易费用较高。根据你的特定用例和风险承受能力,可能适合使用其他 DA 模块。

# 修改

# 替代的 EVM DA

一个简单的修改是使用除以太坊以外的基于 EVM 的区块链作为数据可用性层。这只需要使用除以太坊以外的 L1 RPC。

# EVM-Ordered 替代 DA

对数据可用性层的更复杂的修改是“EVM-Ordered”替代 DA 模块。这涉及使用基于 EVM 的链来维护交易数据的排序,同时使用不同的数据存储系统来托管底层数据。通常,通过将数据的哈希发布到基于 EVM 的链上,同时将这些哈希的原像发布到替代数据源,来维护排序。

EVM-Ordered 替代 DA 模块通过仅发布哈希而不是完整的输入数据到 EVM 链来显著降低成本。使用 EVM 链进行排序还减少了必须对标准 Rollup 配置进行的更改数量,以实现此结果。

可以在这个对 OP Stack 的修改 (opens new window)中找到 EVM-Ordered 替代 DA 模块的示例,该修改使用 Celestia 区块链作为第三方数据可用性提供者。

# 非 EVM DA

非 EVM DA 模块使用不基于 EVM 的链来管理原始输入数据的排序和存储。这样的修改需要对 op-node派生部分 (opens new window)进行相当大的修改。目前还没有开发出这样的完全独立的 DA 模块 - 你可以成为第一个!

# 多个 DA

可以同时使用多个数据可用性层模块。例如,可以同时从两个基于 EVM 的链中获取数据,以在两个链之间建立桥梁。在使用多个数据可用性层模块时,建立两个链之间的全局排序至关重要。建立此排序的一种选择是使用每个链的区块时间戳。

与非 EVM DA 模块一样,具有多个数据可用性模块的系统需要对 op-node派生部分 (opens new window)进行重大修改。目前还没有这样的项目。