Initia(INIT)介绍
Initia 提供了一个 L1 平台与多个 Minitia 协作,这些应用专属汇总能够独立管理执行环境、控制交易顺序,并优化 Gas 费用。通过 OPHost 和 OPChild 模块,以及 OPinit Bots,实现 L1 和 L2 之间的无缝交互,确保安全性、灵活性与高效资产转移。
未来是交织在一起的
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 中继预言机价格馈送更新。
代币存款(L1→L2)
将代币从 Initia 存入 Minitia 几乎是即时的。 它的工作原理如下:
用户在 Initia 上提交存款交易,锁定他们在 L1 上的代币,并触发来自 OPHost 模块的存款事件。
Executor OPinit Bot 不断监听 Initia 上的新事件,当它看到 initiate_token_deposit 事件时:
2.a——Executor 构建相应的 FinalizeTokenDeposit 消息并将其提交给 Minitia。
在收到消息后,Minitia 在 L2 上铸造相应的代币并将其发送给用户。
很简单吧?任务完成,而且不牺牲安全性!
代币提现(L2 → L1)
提现的操作会稍微复杂一些。虽然从 L1 到 L2 的存款很简单,但 Minitia 始终可以信任 L1 的假设在另一方向上并不成立。
原因如下:Initia 由一组有经济权益的去中心化验证者保护,但 Minitia 通常由一个或少数几个没有经济权益的操作员管理。因此,当 Minitia 发起向 L1 的提现时,它需要证明自己没有恶意操作。
提现的操作如下:
用户在 Minitia 上提交提款交易,这会导致 OPChild 模块销毁其代币并发出 initiate_token_withdrawal 事件。
同样,执行器正在监听 L2 上的所有块。它接收事件并存储提款请求,但不会立即转发,机器人会等待提交检查点。
一旦到达提交检查点,Executor 将执行以下操作:
3.a — 获取该时间间隔内的所有提款请求。
3.b — 生成提款的排序默克尔树。
3.c — 创建一个带有树的默克尔根的 L2 输出。
3.d — 将输出提交到 L1 上的 OPHost。
然后提现进入提现期,期间 Challenger OPinit Bot 可以对提现发起挑战并取消,如果发现任何可疑情况。
如果提现期内没有任何挑战,用户可以在 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 实现即时提款,并提供相当不错的安全保证。
其他功能
如果我们只是满足于常规而不采取额外的步骤,那么它就不是 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,它们都将在第一天上线并可使用!这一切都由交织架构支持。