Initia:交织架构与模块化区块链

进阶Oct 13, 2024
本文介绍了 Initia 项目的交织(Interwoven)架构,该架构旨在支持模块化区块链生态系统,特别是通过乐观汇总(Optimistic Rollups)来增强可扩展性和主权。Initia 提供了一个 L1 平台与多个 Minitia 协作,这些应用专属汇总能够独立管理执行环境、控制交易顺序,并优化 Gas 费用。通过 OPHost 和 OPChild 模块,以及 OPinit Bots,实现 L1 和 L2 之间的无缝交互,确保安全性、灵活性与高效资产转移。
Initia:交织架构与模块化区块链

加密生态系统必须适应新的现实——Initia 就是为此而生的。

作为一个行业,我们不得不接受这样一个事实:单一状态机无法扩展以满足加密技术的野心。扩大吞吐量,同时保持用户和运营商的低成本,同时支持可接受的去中心化水平,这是一场用单一方法几乎不可能获胜的战斗。

现实情况是,纯单体链的成功已成为一种逆向观点。进入今年早些时候成为焦点的模块化与单体辩论。但关键在于:根本没有争论。未来不是非此即彼,而是两者的融合。快速、可编程的 L1,与一套特定于应用程序的rollup(汇总)相结合,可与 L1 一起扩展执行规模。

当您看到 Solana 时,混合(或者我们喜欢称之为 Interweld)方法的优点就变得显而易见。在过去的六个月中,团队已经开始构建自己的定制“网络扩展”,这些扩展都是以 Solana 为基础。但是等等——Solana 不是应该自己处理规模问题吗?这不是他们的整个品牌吗?

您会看到,汇总不仅仅是扩展执行。它们还涉及主权——让构建者完全控制他们的执行环境。更高的 TPS、更低的 Gas 费(或者可能根本没有)、对 tx 订购和处理的控制以及对整个业务经济堆栈的所有权等等。

在这一点上,很明显:汇总是不可避免的,而且它们将继续存在。

Initia 的存在就是围绕这个论点建立的。它专门为托管一个充满活力的交织Rollup生态系统而设计,这些Rollup被称为Minitias 🪢。

未来是交织在一起的

Initia 旨在成为成千上万个 Minitia 的家园,这些 Minitia 协同工作,通过精心设计的交织体验提供多样、强大且独特的应用程序。

迄今为止,有两种生态系统存在。一种是专门为互联链的世界而构建的(Cosmos),另一种是后来押注于 Rollup 的(Ethereum,现在还有 Solana)。每种方法都取得了一定程度的成功,但也有其不足之处,这些都是在构建新的 L1 模型时宝贵的经验教训。

Initia 弥合了这些极端,它是一个 L1,旨在支持互连的 L2 网络,确保 Minitia 构建者拥有成功所需的一切。从第一天起,它就以明确的设计避免了复杂的中间地带,并提出了一个简单的问题——L2 真正需要一个枢纽提供什么?

在 Initia 上,Rollup 是天然适配的。通过 @initiafdn/introducing-vip-5fe1a0177055">Initia VIP 实现了 L1 和 L2 之间的完全经济一致性,产品套件极其清晰,技术也专为确保 Minitia 拥有预言机、跨链桥、流动性、互操作性、本土稳定币等而打造。交织架构使团队可以简单地选择任何虚拟机(VM)来部署 Minitia,无论是 EVM、MoveVM 还是 CosmWasm。

那么,是什么使得 Initia 上的 Rollup 成为可能?是交织架构——一个从头为 Cosmos SDK 构建的乐观 Rollup 框架。

准备好看看引擎盖下的魔法了吗?让我们深入了解一下框架。

交织架构

Initia 上的 Optimistic Rollup 框架由三个组件组成,您猜对了,它们紧密交织在一起 😛

OPHost、OPChild 和 OPinit Bots 如拼图的三块碎片完美结合,形成一个共同体,为每一个 Minitia 提供动力。

OPHost 和 OPChild 是 Cosmos SDK 模块,构成了架构的核心部分,它们运行在链上。由于 OPinit 架构在链级别实现,而不是特定虚拟机的智能合约级别,这使我们能够支持多种虚拟机,并赋予 Minitia 构建者自由选择的权利。

在 Initia 上,Rollup 是直接构建在链上的一等公民。这赋予了我们灵活性,能够微调实现,并提供更卓越的体验。

OPHost 模块运行在 Initia(L1)上,负责作为所有在 Initia 上结算的 Minitia 的主基地。 OPHost 的主要任务包括:

  • 管理乐观桥梁(L1 和 L2 之间)以及通过它的资产。
  • 监督来自 Minitia 的输出提案的最终确认。
  • 充当挑战者和提议者辩论案件的法庭。

另一方面,OPChild 运行在每个 Minitia 上。它就像每个 Rollup 的心脏,负责:

  • 管理 Rollup 操作员。
  • 执行从 L1 接收到的消息。
  • 更新预言机价格馈送。
  • 管理 L1 的代币提取。

OPHost 和 OPChild 共同构成了每个 Minitia 的乐观桥梁。一个 Initia 上的 OPHost 作为 L1 的端点,为多个 Minitia 上的 OPChild 模块提供服务。

需要注意的是,对于 Rollup 来说,原生桥梁不仅仅是消息传递,它还是 Rollup 在 L1 上的总部。两种不同的共识系统彼此不知晓对方的状态机,但 Rollup 的桥梁通过提交状态根或类似的输出,在 L1 上充当 Rollup 的真相来源,可以根据 Rollup 的状态进行验证,以确保正确性。这也是为什么 L1 通常被称为结算层。

但是,你可能会想——“是什么连接了 OPHost 和 OPChild?是中继者吗?”不,那是 OPinit Bots 的工作!作为上述的一部分,两个不同的共识系统无法在没有链下过程帮助的情况下进行本地通信,OPinit Bots 就是充当它们隔离状态机之间的物理连接。

OPinit Bots 是处理 Initia 和 Minitia 之间关键操作的链下进程。它们有两种——执行者和质疑者。简单来说,这两个 Bots 共同负责:

  • 执行代币转移。
  • 向 Initia L1 提交输出提案。
  • 向 Celestia 提交交易批次以确保数据可用性(DA)。
  • 向 Minitia 中继预言机价格馈送更新。

在本文的剩余部分,我们将深入探讨交织架构中具体功能的实现,这将为大家更清楚地展示所有部分是如何协同工作的!

乐观桥上的代币转移

Rollup 最重要的方面之一是它继承了它所依赖的 L1 的安全性。

你知道还有什么很棒吗?L1 和 Rollup 之间的原生桥梁通常是两者之间转移资产最安全的方式。这是因为使用原生桥梁不会引入任何额外的信任假设——你只需信任这两条链。

在我们深入探讨转移的工作原理之前,让我们先解决一个关键问题:

为什么不用 IBC?

考虑到交织架构上的所有链都是使用 Cosmos SDK 构建的——为什么不能让原生桥梁成为一个 IBC 通道呢?

这是因为 IBC 转移本质上是即时的,而这与我们协议的信任假设不符。有一天,一个恶意的 Minitia 操作员可能会突然插入交易,改变 L2 上的 INIT 余额并将他们的 Minitia 上的所有 INIT 提现到 L1。我们不希望这种情况发生,那样的错误将是灾难性的。

相比之下,通过乐观桥梁提现到 Initia 需要 7 天的延迟,在此期间,如果发现提现是恶意的,挑战者可以发起挑战并取消提现。

在 Initia 上,我们仍然希望确保在 Minitia 和 Initia L1 之间转移资产时有无缝的用户体验。为实现从 L2 快速转移,我们构建了一个安全的自定义解决方案,称为 Minitswap,你可以在这里了解更多信息: @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap — L2 到 L1 的提现只需几秒,而不是几天。

代币存款(L1→L2)

将代币从 Initia 存入 Minitia 几乎是即时的。 它的工作原理如下:

  1. 用户在 Initia 上提交存款交易,锁定他们在 L1 上的代币,并触发来自 OPHost 模块的存款事件。
  2. Executor OPinit Bot 不断监听 Initia 上的新事件,当它看到 initiate_token_deposit 事件时:
    2.a——Executor 构建相应的 FinalizeTokenDeposit 消息并将其提交给 Minitia。
  3. 在收到消息后,Minitia 在 L2 上铸造相应的代币并将其发送给用户。

很简单吧?任务完成,而且不牺牲安全性!

代币提现(L2 → L1)

提现的操作会稍微复杂一些。虽然从 L1 到 L2 的存款很简单,但 Minitia 始终可以信任 L1 的假设在另一方向上并不成立。

原因如下:Initia 由一组有经济权益的去中心化验证者保护,但 Minitia 通常由一个或少数几个没有经济权益的操作员管理。因此,当 Minitia 发起向 L1 的提现时,它需要证明自己没有恶意操作。

提现的操作如下:

  1. 用户在 Minitia 上提交提款交易,这会导致 OPChild 模块销毁其代币并发出 initiate_token_withdrawal 事件。
  2. 同样,执行器正在监听 L2 上的所有块。它接收事件并存储提款请求,但不会立即转发,机器人会等待提交检查点。
  3. 一旦到达提交检查点,Executor 将执行以下操作:
    3.a — 获取该时间间隔内的所有提款请求。
    3.b — 生成提款的排序默克尔树。
    3.c — 创建一个带有树的默克尔根的 L2 输出。
    3.d — 将输出提交到 L1 上的 OPHost。
  4. 然后提现进入提现期,期间 Challenger OPinit Bot 可以对提现发起挑战并取消,如果发现任何可疑情况。
  5. 如果提现期内没有任何挑战,用户可以在 Initia 上调用 finalize_withdrawal 来解锁他们的代币。
    5.a — 该函数接收提款请求及其证明。
    5.b — 验证提交的证据。
    5.c — 如果一切顺利,将代币发送给用户!

提款需要一些时间,但是嘿,这是确保安全的权衡!但是,为了为 Interknit 用户提供卓越的用户体验,Initia 还构建了 @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap——通过利用 IBC 和 OPinit Bridge 实现即时提款,并提供相当不错的安全保证。

现在您知道提款是如何运作的了,但是 挑战机制 仍然是一个黑匣子——接下来让我们深入研究一下!

当 Minitia 撒谎时会发生什么? 🤥

在上一节中,我们了解到 Minitia 有可能撒谎。这就是为什么存在提现期——以防止欺诈行为窃取 OPinit Bridge 上的代币。

但谁负责阻止欺诈性提款呢?这就是 Challenger OPinit Bot 机器人。

  1. Challenger 不断监控提交到 L1 的 L2 输出。
  2. 每次提交时,它都会从 Initia 获取输出,并根据 Minitia 的状态独立计算输出。
  3. 如果 Initia 上提交的输出与挑战者计算的输出不匹配,挑战者通过发送 DeleteOutput 消息删除输出提案。只有Challenger 才可以调用此函数。

使用 Celestia 进行状态同步回滚 ✨

是的,但是当您删除无效提案时,是否意味着汇总的当前状态现在无效?是的,这就是为什么我们有一个精心设计的回滚机制。

挑战成功后,Minitia 节点可以同步之前发布到 Celestia 的数据的状态 因为汇总的所有交易批次都会发布到 Celestia 进行 DA,这在需要回滚的情况下会派上用场。

为了确保 Minitia 状态的完整性并确保 Executor 没有恶意行为,Executor 和 Challenger 两个 Bots 被设计为独立的实体。

但是等一下,这不是给了Challenger 太多的权力了吗?如果Challenger 恶意行为并开始删除有效输出怎么办?是的。

为了防止这种情况发生,Initia 有一个通过 L1 治理处理的制衡系统。

如果挑战者和提议者(提交输出的人)有恶意行为,都可以通过治理提案进行替换。 对于挑战者来说,恶意行为意味着删除有效输出。对于提案者来说,这意味着提交无效的输出。

创建提案时, Initia 的 L1 验证者通过自己运行 L2 节点来对其进行投票,以验证谁是对的,谁是错的。该系统确保任何单一实体都无法审查交易或扰乱提款流程。

其他功能💫

如果我们只是满足于常规而不采取额外的步骤,那么它就不是 Initia 工作的产物。

Initia 让构建您自己的汇总变得非常简单。现在,你们中的许多人都知道,构建汇总不仅仅是托管它,还有很多事情要做。作为构建者,您需要整合许多外围基础设施。比如索引器、预言机、桥接器等。

你猜怎么着? Interwed Stack 已预先包装好您所需的一切。 🔥

Skip Connect — 内置预言机

借助 Skip,Initia 能够为 Initia 和所有基于交织架构构建的 Minitia 提供快速且最新的资产价格数据。

Connect 是一项由 Initia 验证者运行的预言机边车服务,用于在链上推送价格更新。该实现利用了 Cosmos SDK 0.50 版中引入的两个新功能: ABCI++Vote Extensions 它让验证者自己提交任意数据,然后将其存储在链上,以消除恶意方通过用垃圾邮件填充区块来审查价格更新的可能性。

一旦价格更新上链,开发人员就可以通过 CLI、API 或智能合约级别进行查询。

但事实并非如此。 Connect 的价格会转发给 Interwed Stack 上的每个 Minitia,确保他们在第一天就可以轻松获取开箱即用的最新价格。

这样,Minitia 就不再需要运行必要的基础设施,也不需要寻找第三方预言机提供商、与他们达成协议并花费资源进行集成。一切都为他们处理好了!

跨链合约调用

为了实现真正的交织,Initia 上必须有安全、高效的跨链通信方式。开发人员可以采用多种方法来做到这一点,其中之一是通过 乐观桥上的桥钩。桥钩类似于 IBC Hooks 在功能上,它们用于允许代币传输发起合约调用。 OPinit Bridge Hooks 用于发起合约调用,并伴随着通过 OPinit Bridge 桥接的资产转移。

OPHost 上的 Bridge Hook 更新桥的元数据,OPChild 上的 Hook 允许在 FinalizeTokenDeposit 上任意执行交易。

我们以支持多个虚拟机的方式构建它,因此无论是 EVM、MoveVM 还是 CosmWasm,Bridge Hooks 都可以根据消息中的数据字段执行任意交易。

例如,这是 EVM 链的数据格式

内置索引器

Minitias 还配备了内置索引器,可以自动索引并存储链上的所有相关数据。然后通过可用于查询历史数据的 REST API 公开数据。

按账户划分的代币、NFT 信息、按账户进行的交易,应有尽有。一切都已内置。

索引是构建链上应用时的最大痛点之一,这无疑减轻了大量工作!运行你自己的索引器既昂贵又麻烦。有了内置索引器,开发者可以显示代币余额、NFT、交易历史等,而无需运行自己的索引器或寻求第三方索引器的支持。

这个内置索引器还为 Initia Scan 提供了开箱即用的支持——这是 Initia 的 L1 和每个 L2 的区块浏览器。

结论

深入探讨交织架构真是一次愉快的经历。它是一项精心设计的技术,支持了 Initia 的交织愿景。通过将交织架构构建为 Cosmos SDK 模块,Initia 将 SDK 转变为构建乐观 Rollup 的架构,同时保留了 Cosmos SDK 的所有优势——这实在是非常出色。

交织架构还有许多我们今天没有深入探讨的内容,我强烈建议你查看代码库Bots 的代码库,以便更深入地理解它。

最终,有一个不变的事实:Initia 是 Rollup 的真正归宿。从一开始,Initia 就是为了让 Minitia 繁荣发展而构建的。交织生态系统已经在推动创新,Minitia 例如 Blackwing, Contro, MilkyWay, Inertia 等都是全新的应用专属 Rollup,它们都将在第一天上线并可使用!这一切都由交织架构支持。

谢谢 MananZon,和 Sawit 对本文的贡献。

声明:

  1. 本文转载自[medium],所有版权归原作者所有[Initia]。若对本次转载有异议,请联系Gate Learn团队,他们会及时处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。

Initia:交织架构与模块化区块链

进阶Oct 13, 2024
本文介绍了 Initia 项目的交织(Interwoven)架构,该架构旨在支持模块化区块链生态系统,特别是通过乐观汇总(Optimistic Rollups)来增强可扩展性和主权。Initia 提供了一个 L1 平台与多个 Minitia 协作,这些应用专属汇总能够独立管理执行环境、控制交易顺序,并优化 Gas 费用。通过 OPHost 和 OPChild 模块,以及 OPinit Bots,实现 L1 和 L2 之间的无缝交互,确保安全性、灵活性与高效资产转移。
Initia:交织架构与模块化区块链

加密生态系统必须适应新的现实——Initia 就是为此而生的。

作为一个行业,我们不得不接受这样一个事实:单一状态机无法扩展以满足加密技术的野心。扩大吞吐量,同时保持用户和运营商的低成本,同时支持可接受的去中心化水平,这是一场用单一方法几乎不可能获胜的战斗。

现实情况是,纯单体链的成功已成为一种逆向观点。进入今年早些时候成为焦点的模块化与单体辩论。但关键在于:根本没有争论。未来不是非此即彼,而是两者的融合。快速、可编程的 L1,与一套特定于应用程序的rollup(汇总)相结合,可与 L1 一起扩展执行规模。

当您看到 Solana 时,混合(或者我们喜欢称之为 Interweld)方法的优点就变得显而易见。在过去的六个月中,团队已经开始构建自己的定制“网络扩展”,这些扩展都是以 Solana 为基础。但是等等——Solana 不是应该自己处理规模问题吗?这不是他们的整个品牌吗?

您会看到,汇总不仅仅是扩展执行。它们还涉及主权——让构建者完全控制他们的执行环境。更高的 TPS、更低的 Gas 费(或者可能根本没有)、对 tx 订购和处理的控制以及对整个业务经济堆栈的所有权等等。

在这一点上,很明显:汇总是不可避免的,而且它们将继续存在。

Initia 的存在就是围绕这个论点建立的。它专门为托管一个充满活力的交织Rollup生态系统而设计,这些Rollup被称为Minitias 🪢。

未来是交织在一起的

Initia 旨在成为成千上万个 Minitia 的家园,这些 Minitia 协同工作,通过精心设计的交织体验提供多样、强大且独特的应用程序。

迄今为止,有两种生态系统存在。一种是专门为互联链的世界而构建的(Cosmos),另一种是后来押注于 Rollup 的(Ethereum,现在还有 Solana)。每种方法都取得了一定程度的成功,但也有其不足之处,这些都是在构建新的 L1 模型时宝贵的经验教训。

Initia 弥合了这些极端,它是一个 L1,旨在支持互连的 L2 网络,确保 Minitia 构建者拥有成功所需的一切。从第一天起,它就以明确的设计避免了复杂的中间地带,并提出了一个简单的问题——L2 真正需要一个枢纽提供什么?

在 Initia 上,Rollup 是天然适配的。通过 @initiafdn/introducing-vip-5fe1a0177055">Initia VIP 实现了 L1 和 L2 之间的完全经济一致性,产品套件极其清晰,技术也专为确保 Minitia 拥有预言机、跨链桥、流动性、互操作性、本土稳定币等而打造。交织架构使团队可以简单地选择任何虚拟机(VM)来部署 Minitia,无论是 EVM、MoveVM 还是 CosmWasm。

那么,是什么使得 Initia 上的 Rollup 成为可能?是交织架构——一个从头为 Cosmos SDK 构建的乐观 Rollup 框架。

准备好看看引擎盖下的魔法了吗?让我们深入了解一下框架。

交织架构

Initia 上的 Optimistic Rollup 框架由三个组件组成,您猜对了,它们紧密交织在一起 😛

OPHost、OPChild 和 OPinit Bots 如拼图的三块碎片完美结合,形成一个共同体,为每一个 Minitia 提供动力。

OPHost 和 OPChild 是 Cosmos SDK 模块,构成了架构的核心部分,它们运行在链上。由于 OPinit 架构在链级别实现,而不是特定虚拟机的智能合约级别,这使我们能够支持多种虚拟机,并赋予 Minitia 构建者自由选择的权利。

在 Initia 上,Rollup 是直接构建在链上的一等公民。这赋予了我们灵活性,能够微调实现,并提供更卓越的体验。

OPHost 模块运行在 Initia(L1)上,负责作为所有在 Initia 上结算的 Minitia 的主基地。 OPHost 的主要任务包括:

  • 管理乐观桥梁(L1 和 L2 之间)以及通过它的资产。
  • 监督来自 Minitia 的输出提案的最终确认。
  • 充当挑战者和提议者辩论案件的法庭。

另一方面,OPChild 运行在每个 Minitia 上。它就像每个 Rollup 的心脏,负责:

  • 管理 Rollup 操作员。
  • 执行从 L1 接收到的消息。
  • 更新预言机价格馈送。
  • 管理 L1 的代币提取。

OPHost 和 OPChild 共同构成了每个 Minitia 的乐观桥梁。一个 Initia 上的 OPHost 作为 L1 的端点,为多个 Minitia 上的 OPChild 模块提供服务。

需要注意的是,对于 Rollup 来说,原生桥梁不仅仅是消息传递,它还是 Rollup 在 L1 上的总部。两种不同的共识系统彼此不知晓对方的状态机,但 Rollup 的桥梁通过提交状态根或类似的输出,在 L1 上充当 Rollup 的真相来源,可以根据 Rollup 的状态进行验证,以确保正确性。这也是为什么 L1 通常被称为结算层。

但是,你可能会想——“是什么连接了 OPHost 和 OPChild?是中继者吗?”不,那是 OPinit Bots 的工作!作为上述的一部分,两个不同的共识系统无法在没有链下过程帮助的情况下进行本地通信,OPinit Bots 就是充当它们隔离状态机之间的物理连接。

OPinit Bots 是处理 Initia 和 Minitia 之间关键操作的链下进程。它们有两种——执行者和质疑者。简单来说,这两个 Bots 共同负责:

  • 执行代币转移。
  • 向 Initia L1 提交输出提案。
  • 向 Celestia 提交交易批次以确保数据可用性(DA)。
  • 向 Minitia 中继预言机价格馈送更新。

在本文的剩余部分,我们将深入探讨交织架构中具体功能的实现,这将为大家更清楚地展示所有部分是如何协同工作的!

乐观桥上的代币转移

Rollup 最重要的方面之一是它继承了它所依赖的 L1 的安全性。

你知道还有什么很棒吗?L1 和 Rollup 之间的原生桥梁通常是两者之间转移资产最安全的方式。这是因为使用原生桥梁不会引入任何额外的信任假设——你只需信任这两条链。

在我们深入探讨转移的工作原理之前,让我们先解决一个关键问题:

为什么不用 IBC?

考虑到交织架构上的所有链都是使用 Cosmos SDK 构建的——为什么不能让原生桥梁成为一个 IBC 通道呢?

这是因为 IBC 转移本质上是即时的,而这与我们协议的信任假设不符。有一天,一个恶意的 Minitia 操作员可能会突然插入交易,改变 L2 上的 INIT 余额并将他们的 Minitia 上的所有 INIT 提现到 L1。我们不希望这种情况发生,那样的错误将是灾难性的。

相比之下,通过乐观桥梁提现到 Initia 需要 7 天的延迟,在此期间,如果发现提现是恶意的,挑战者可以发起挑战并取消提现。

在 Initia 上,我们仍然希望确保在 Minitia 和 Initia L1 之间转移资产时有无缝的用户体验。为实现从 L2 快速转移,我们构建了一个安全的自定义解决方案,称为 Minitswap,你可以在这里了解更多信息: @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap — L2 到 L1 的提现只需几秒,而不是几天。

代币存款(L1→L2)

将代币从 Initia 存入 Minitia 几乎是即时的。 它的工作原理如下:

  1. 用户在 Initia 上提交存款交易,锁定他们在 L1 上的代币,并触发来自 OPHost 模块的存款事件。
  2. Executor OPinit Bot 不断监听 Initia 上的新事件,当它看到 initiate_token_deposit 事件时:
    2.a——Executor 构建相应的 FinalizeTokenDeposit 消息并将其提交给 Minitia。
  3. 在收到消息后,Minitia 在 L2 上铸造相应的代币并将其发送给用户。

很简单吧?任务完成,而且不牺牲安全性!

代币提现(L2 → L1)

提现的操作会稍微复杂一些。虽然从 L1 到 L2 的存款很简单,但 Minitia 始终可以信任 L1 的假设在另一方向上并不成立。

原因如下:Initia 由一组有经济权益的去中心化验证者保护,但 Minitia 通常由一个或少数几个没有经济权益的操作员管理。因此,当 Minitia 发起向 L1 的提现时,它需要证明自己没有恶意操作。

提现的操作如下:

  1. 用户在 Minitia 上提交提款交易,这会导致 OPChild 模块销毁其代币并发出 initiate_token_withdrawal 事件。
  2. 同样,执行器正在监听 L2 上的所有块。它接收事件并存储提款请求,但不会立即转发,机器人会等待提交检查点。
  3. 一旦到达提交检查点,Executor 将执行以下操作:
    3.a — 获取该时间间隔内的所有提款请求。
    3.b — 生成提款的排序默克尔树。
    3.c — 创建一个带有树的默克尔根的 L2 输出。
    3.d — 将输出提交到 L1 上的 OPHost。
  4. 然后提现进入提现期,期间 Challenger OPinit Bot 可以对提现发起挑战并取消,如果发现任何可疑情况。
  5. 如果提现期内没有任何挑战,用户可以在 Initia 上调用 finalize_withdrawal 来解锁他们的代币。
    5.a — 该函数接收提款请求及其证明。
    5.b — 验证提交的证据。
    5.c — 如果一切顺利,将代币发送给用户!

提款需要一些时间,但是嘿,这是确保安全的权衡!但是,为了为 Interknit 用户提供卓越的用户体验,Initia 还构建了 @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap——通过利用 IBC 和 OPinit Bridge 实现即时提款,并提供相当不错的安全保证。

现在您知道提款是如何运作的了,但是 挑战机制 仍然是一个黑匣子——接下来让我们深入研究一下!

当 Minitia 撒谎时会发生什么? 🤥

在上一节中,我们了解到 Minitia 有可能撒谎。这就是为什么存在提现期——以防止欺诈行为窃取 OPinit Bridge 上的代币。

但谁负责阻止欺诈性提款呢?这就是 Challenger OPinit Bot 机器人。

  1. Challenger 不断监控提交到 L1 的 L2 输出。
  2. 每次提交时,它都会从 Initia 获取输出,并根据 Minitia 的状态独立计算输出。
  3. 如果 Initia 上提交的输出与挑战者计算的输出不匹配,挑战者通过发送 DeleteOutput 消息删除输出提案。只有Challenger 才可以调用此函数。

使用 Celestia 进行状态同步回滚 ✨

是的,但是当您删除无效提案时,是否意味着汇总的当前状态现在无效?是的,这就是为什么我们有一个精心设计的回滚机制。

挑战成功后,Minitia 节点可以同步之前发布到 Celestia 的数据的状态 因为汇总的所有交易批次都会发布到 Celestia 进行 DA,这在需要回滚的情况下会派上用场。

为了确保 Minitia 状态的完整性并确保 Executor 没有恶意行为,Executor 和 Challenger 两个 Bots 被设计为独立的实体。

但是等一下,这不是给了Challenger 太多的权力了吗?如果Challenger 恶意行为并开始删除有效输出怎么办?是的。

为了防止这种情况发生,Initia 有一个通过 L1 治理处理的制衡系统。

如果挑战者和提议者(提交输出的人)有恶意行为,都可以通过治理提案进行替换。 对于挑战者来说,恶意行为意味着删除有效输出。对于提案者来说,这意味着提交无效的输出。

创建提案时, Initia 的 L1 验证者通过自己运行 L2 节点来对其进行投票,以验证谁是对的,谁是错的。该系统确保任何单一实体都无法审查交易或扰乱提款流程。

其他功能💫

如果我们只是满足于常规而不采取额外的步骤,那么它就不是 Initia 工作的产物。

Initia 让构建您自己的汇总变得非常简单。现在,你们中的许多人都知道,构建汇总不仅仅是托管它,还有很多事情要做。作为构建者,您需要整合许多外围基础设施。比如索引器、预言机、桥接器等。

你猜怎么着? Interwed Stack 已预先包装好您所需的一切。 🔥

Skip Connect — 内置预言机

借助 Skip,Initia 能够为 Initia 和所有基于交织架构构建的 Minitia 提供快速且最新的资产价格数据。

Connect 是一项由 Initia 验证者运行的预言机边车服务,用于在链上推送价格更新。该实现利用了 Cosmos SDK 0.50 版中引入的两个新功能: ABCI++Vote Extensions 它让验证者自己提交任意数据,然后将其存储在链上,以消除恶意方通过用垃圾邮件填充区块来审查价格更新的可能性。

一旦价格更新上链,开发人员就可以通过 CLI、API 或智能合约级别进行查询。

但事实并非如此。 Connect 的价格会转发给 Interwed Stack 上的每个 Minitia,确保他们在第一天就可以轻松获取开箱即用的最新价格。

这样,Minitia 就不再需要运行必要的基础设施,也不需要寻找第三方预言机提供商、与他们达成协议并花费资源进行集成。一切都为他们处理好了!

跨链合约调用

为了实现真正的交织,Initia 上必须有安全、高效的跨链通信方式。开发人员可以采用多种方法来做到这一点,其中之一是通过 乐观桥上的桥钩。桥钩类似于 IBC Hooks 在功能上,它们用于允许代币传输发起合约调用。 OPinit Bridge Hooks 用于发起合约调用,并伴随着通过 OPinit Bridge 桥接的资产转移。

OPHost 上的 Bridge Hook 更新桥的元数据,OPChild 上的 Hook 允许在 FinalizeTokenDeposit 上任意执行交易。

我们以支持多个虚拟机的方式构建它,因此无论是 EVM、MoveVM 还是 CosmWasm,Bridge Hooks 都可以根据消息中的数据字段执行任意交易。

例如,这是 EVM 链的数据格式

内置索引器

Minitias 还配备了内置索引器,可以自动索引并存储链上的所有相关数据。然后通过可用于查询历史数据的 REST API 公开数据。

按账户划分的代币、NFT 信息、按账户进行的交易,应有尽有。一切都已内置。

索引是构建链上应用时的最大痛点之一,这无疑减轻了大量工作!运行你自己的索引器既昂贵又麻烦。有了内置索引器,开发者可以显示代币余额、NFT、交易历史等,而无需运行自己的索引器或寻求第三方索引器的支持。

这个内置索引器还为 Initia Scan 提供了开箱即用的支持——这是 Initia 的 L1 和每个 L2 的区块浏览器。

结论

深入探讨交织架构真是一次愉快的经历。它是一项精心设计的技术,支持了 Initia 的交织愿景。通过将交织架构构建为 Cosmos SDK 模块,Initia 将 SDK 转变为构建乐观 Rollup 的架构,同时保留了 Cosmos SDK 的所有优势——这实在是非常出色。

交织架构还有许多我们今天没有深入探讨的内容,我强烈建议你查看代码库Bots 的代码库,以便更深入地理解它。

最终,有一个不变的事实:Initia 是 Rollup 的真正归宿。从一开始,Initia 就是为了让 Minitia 繁荣发展而构建的。交织生态系统已经在推动创新,Minitia 例如 Blackwing, Contro, MilkyWay, Inertia 等都是全新的应用专属 Rollup,它们都将在第一天上线并可使用!这一切都由交织架构支持。

谢谢 MananZon,和 Sawit 对本文的贡献。

声明:

  1. 本文转载自[medium],所有版权归原作者所有[Initia]。若对本次转载有异议,请联系Gate Learn团队,他们会及时处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!