Initia:一个好的模块化 EVM 该是什么样?

模块化公链 Initia 为何选择构建自己的 InitiaEVM,它有何特别之处?

编译:Alex Liu,Foresight News

Initia 是一条模块化 L1 公链,在其上能部署并垂直整合许多「交织起来」(interwoven)的 Rollups,官方称之为「Minitias」(概念类似于 Dymension 与它的 RollApps )。

Initia 基于 Cosmos SDK 构建,在 Cosmos 生态已有 Evmos 等 EVM 解决方案的情况下,Initia 为何选择构建自己的 InitiaEVM,它有何特别之处?

VM 级互操作性

Initia 致力于让 Minitias 成为构建高速、灵活、可互操作应用链的最简方式,而虚拟机只是 Minitia 工具包中的工具,应根据团队追求的特定用例或语言偏好来选择 —— 多种选项带来的灵活性正是模块化设计的好处。Minitias 可以自由选择 InitiaEVM、InitiaMVM(MoveVM) 和 WasmVM 作为 VM。

在以 Rollup 为中心的未来中,数千个 Rollups 需要无缝交互,它们应具有与生俱来的互操作性,而不是在之后追加 —— 即使跨虚拟机也一样。这种理念促使 Initia 对 InitiaEVM 进行了针对性优化,InitiaEVM、InitiaMVM 和 WasmVM 之间具有跨虚拟机的互操作性。

EVM Cosmos 双兼容

InitiaEVM 被设计为一个 Cosmos SDK 的模块,在支持 Solidity 智能合约和 EVM 操作的同时增加了 Cosmos 和 IBC 的互操作性。

凭借完全的 EVM 兼容性,Solidity 合约无需修改即可部署、迁移至 InitiaEVM。

更重要的是,InitiaEVM 通过自定义的 Bank Interface (BI) 将 EVM 和 Cosmos 层绑定在一起,用 ERC20 取代了负责 Native Coin (原生代币)账户的标准 Cosmos x/Bank 模块。

Cosmos Bank == ERC20 。

Initia 的 MoveVM 也使用了类似的模型。

于是 EVM Minitias 尽管是 Cosmos 链,但只有 1 个代币标准:ERC20。

人们根本不必考虑 Cosmos 代币、接口或代币转换等概念。Solidity 项目可以毫无负担地迁移,并且可以选择接入 Cosmos。

IBC 优先

IBC 是 Cosmos 系最引以为豪的跨链协议,使不同的 Cosmos 链间能方便得传输资产。在 InitiaEVM 中:

  • 迁出:在 Solidity 智能合约中创建的 ERC20 可以立即通过 IBC 传输到其他链,无需任何花哨的操作。

  • 迁入:原生 Cosmos 资产可以通过 IBC 传输至 EVM Minitia,并生成 ERC20。

这让 Minitias 间的资产转移变得简单容易。

简化的预编译

InitiaEVM 可以直接从 Solidity 合约执行任何 Cosmos 消息或查询 Cosmos 链状态。链间账户、ICQ、Slinky 查询,应有尽有。开发体验与 EVM 链开发并无二致,这拥抱了广大的 Solidity 生态开发群体,降低了开发负担。

跨 EVM 间交互

InitiaEVM 已经集成 IBC 钩子(Hook),支持多链、跨虚拟机、合约交互,这对于新的多链世界秩序至关重要。

总结

在 Initia 看来,一个好的模块化 EVM ,首先,「就是一个 EVM。」开发者可以不用学习任何新概念、修改任何的源代码,就能在新应用链上运行过去的 Solidity 程序,实现 0 成本迁移。其次,它需要具有跨 Rollups、跨不同虚拟机的互操作性,代币标准、资产转移功能和底层链整合,才能在未来的多链世界提供良好的用户体验。

Subscribe to Foresight News
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.