原文:Javed Khan | celestia blog 编译:GWEI Research

OP 堆栈的模块化数据可用性

简介

自上一年发布以来,OP Stack 在汇总开发人员中获得了巨大的吸引力。它被创立新汇总的开发人员和 Caldera 和 Conduit 等模块化基础设施供给商所接受,使开发人员能够快速发动他们自己的rollups 。

正如上一年的公告所述,模块化是 OP Stack 愿景的一个基本方面:

Optimism 快速接近的 Bedrock 晋级将模块化 OP Stack 的执行层和证明体系,从而完成与未来诈骗和有效性证明的兼容性。

受此启示,Celestia Labs 一向专注于进一步推动 OP Stack 的模块化。因而,今天,咱们很高兴地宣布 OP Stack 的模块化数据可用性 (DA) 接口的 Beta 版发布,这是 OP Labs 关注开发人员反馈的第一个 OP Stack Mod。该接口答应开发人员界说 DA 层并从他们喜欢的任何区块链承继安全性,无论是以太坊、Celestia 仍是比特币。

开发人员今天能够开端实验运用 Celestia 进行 DA 并“久居”在以太坊上的 OP Stack 版本。 Caldera 将很快发布 Taro 测验网,它答应开发人员和用户运用 Modular DA 试用 OP Stack 的第一个公共测验网。

数据可用性层是 rollup 架构的基础,确保独立验证 rollup 链所需数据的可用性。下面咱们将探讨 OP 仓库中数据可用性的基础知识,以及咱们怎么经过界说杰出的 DA 接口将其模块化以从 L1 发布和检索数据。

OP 仓库中的数据可用性:今天

OP Stack 怎么处理当今的数据可用性?出于咱们的意图,咱们深入研究了两个基本组件,Rollup 节点和 Batcher,如下所述。

要更广泛地了解 OP Stack 的其余部分怎么在幕后作业,请检查 Optimism 文档。

Rollup 节点

Rollup 节点是担任从 L1 块(及其相关的收据)派生出正确的 L2 链的组件。 rollup 节点检索 L1 块,过滤数据买卖(通常以买卖calldata的方式),并从该数据中导出正确的 L2 链。

Batcher——批处理提交者

批处理提交者,也称为批处理者,是将 L2 排序器数据提交给 L1 以供验证者运用的实体。 rollup 节点和 batcher 都在一个循环中作业,使得 batcher 新提交的 L2 块数据由 rollup 节点从 L1 中检索,并用于派生下一个 L2 块。

批处理程序提交的每个业务都包含calldata,它是 L2 排序器数据,分为称为帧的字节,是 Optimism 中数据的最低笼统级别。

用于 OP Stack 的模块化 DA 接口

在为 OP Stack 创立模块化 DA 接口时,咱们的目标很简单:使汇总开发人员能够将任何区块链指定为其数据可用性层,无论是以太坊、Celestia 仍是比特币。在没有这样的接口的情况下,新 DA 层的每次集成都可能需要开发人员完成和保护 OP Stack 的一个单独分支。

OP Stack 现已包含在代码库中指定L1ChainL2Chain的笼统,答应咱们为数据可用性链建模一个新的与区块链无关的接口,咱们称之为DAChain

运用下面界说的接口,开发人员能够完成DAChain来读取和写入任何底层区块链乃至像 S3 这样的集中式后端的数据。

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

编写阶段

以下为接口的 Celestia 完成编写示例概述了与批处理程序的集成:

SimpleTxManager.send是担任创立和发送实际买卖的函数,它被修正为调用WriteFrame将帧写入 Celestia 并回来一个引证。

然后将引证作为calldata提交到批处理收件箱地址,以代替通常的帧数据。

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

读取阶段

以下是与rollup节点集成的接口的 Celestia 完成的概述:

DataFromEVMTransactions是担任从买卖列表中回来帧数据的函数。它被修正为运用从批处理收件箱calldata中检索到的帧引证来实际获取帧并将其附加到回来数据。

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

请注意,对NamespacedData的调用回来在给定BlockHeight提交的所有 blob 的字节切片数组,因而咱们只回来咱们感兴趣的TxIndex

将 Celestia 集成为 DA 层

OP 堆栈的模块化数据可用性

显现与 Celestia + OP 仓库集成比较的 OP 仓库架构的图表。

经过对Rollup节点和批处理程序进行一些小的修正,咱们能够使 OP Stack 运用 Celestia 进行 DA。

这意味着派生 L2 链所需的所有数据都能够作为本地 blob 数据在 Celestia 上供给,而不是发布到以太坊,虽然一个小的固定巨细的帧引证依然作为批处理程序calldata发布到以太坊。帧参阅用于运用 celestia-node ‌轻节点在 Celestia 上查找相应的帧。

怎么整合运作?

编写阶段

如上所述,批处理程序将 L2 排序器数据作为称为帧的字节提交到以太坊 L1 上的批处理收件箱合约地址。

咱们保留批处理程序和calldata业务以保证帧的排序,但咱们用固定巨细的帧引证替换calldata中的帧。什么是参阅帧?它是对 Celestia 数据买卖的引证,该买卖已成功将帧数据作为 Celestia 的一部分包含在内。

咱们经过在批处理服务中嵌入一个 celestia-node 轻节点来做到这一点。每逢有新的 batch 等候提交时,咱们首要运用轻节点向 Celestia 提交数据业务,然后在 batchercalldata中仅提交帧引证。

读取阶段

在读取阶段,咱们做相反的工作,即咱们运用批处理业务calldata中的帧引证来解析它并从 Celestia 检索相应的实际帧数据。同样,咱们在 rollup 节点中嵌入了一个 celestia-node 轻节点来查询它的买卖。

在派生 L2 链时,rollup 节点现在透明地从轻节点读取数据,并能够持续构建新区块。轻节点只下载由 rollup 提交的数据,而不是像以太坊那样下载整个链。

展望

诈骗证明是 Optimism 后 Bedrock 路线图的要害部分,咱们期望探索晋级咱们的 OP Stack x Celestia 集成,以在以太坊主网上运用诈骗证明。

为此,咱们能够使用量子引力桥 (QGB),它将跨链 DA 证明中继到以太坊,以启用链上验证汇总数据已在 Celestia 上可用,以便汇总数据能够在诈骗证明。这将答应 OP Stack Rollup 直接使用 Celestia 供给的 DA 保证。

此时快讯

【Blur:锁仓量超1.6亿美元创历史新高,即将发布重要公告】金色财经报道,据NFT聚合市场Blur官推披露信息,其平台锁仓量已达到 1.6082亿美元,创下历史新高。此外Blur还表示即将发布重要公告,但目前暂未披露相关信息。今日Blur创始人Pacman宣布拟于下周调整积分系统,但据社区传言重要公告或与新一季代币空投有关。此外,Domus联创Jacky Gekko称,Blur锁仓量上涨和其推出借贷协议Blend有关,Blend正在成为NFT借贷市场的“游戏改变者”。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注