变更记录
- 2024-03-08:初稿
状态
提议中摘要
Interchain Accounts Controller IBC 模块允许一条链上的用户在其他链上创建并控制账户。Hub 当前尚未启用 ICA Controller 模块,因此目前无法从 Hub 链在其他链上创建账户。背景
在 Hub 上启用 ICA Controller 模块将支持多种用例。其中一个示例是基于提供者链的治理,这将允许 ATOM 质押者参与消费者链上的治理。决策
应用中将集成 ICA Controller 模块,因此 Hub 将同时具备 ICA Host 和 Controller 模块。实现将使用 Controller 模块内置的认证机制,因为我们目前不需要自定义认证逻辑。基于这一点,用户将直接使用 Controller 模块定义的MsgRegisterInterchainAccount 和 MsgSendTx 消息。Controller 模块还支持为底层应用定义自定义处理逻辑,以处理该模块交换的 IBC 消息(例如 OnChanOpenInit、OnAcknowledgementPacket 等),但当前不会使用这一能力,因为目前没有这方面的需求。
影响
正面
- Hub 用户将能够在其他已通过 IBC 连接的链上创建并使用 Interchain Accounts。
负面
中性
- 由于我们不需要实现自定义认证机制,因此可以直接依赖 Controller 模块自身定义的认证方式,也就是通过
MsgRegisterInterchainAccount和MsgSendTx两类消息完成。
参考资料
链接Changelog
- 2024-03-08: Initial Draft
Status
ProposedAbstract
The Interchain Accounts Controller IBC module allows users of one chain to create and control accounts on other chains. The Hub currently doesn’t have ICA Controller module enabled, so it is not possible to create accounts on other chains from the Hub chain.Context
Enabling the ICA Controller module on the Hub would support various use cases. One such case could be the provider-based governance that would allow the ATOM stakers to participate in a governance on consumer chains.Decision
The ICA Controller module will be included in the application, so the Hub will have both ICA Host and Controller modules. The implementation will use the Controller module’s built-in authentication mechanism, since we don’t have a need for custom authentication logic. According to this, users will directly useMsgRegisterInterchainAccount and MsgSendTx messages defined by the Controller module. The possibility provided by the Controller module to define underlying application to have custom processing of IBC messages exchanged by the Controller module (e.g. OnChanOpenInit, OnAcknowledgementPacket, etc.) will not be used, since there is currently no need for this.
Consequences
Positive
- Users of the Hub will have a possibility to create and utilize Interchain Accounts on other IBC connected chains.
Negative
Neutral
- Since we don’t need to implement a custom authentication mechanism, we can rely on the one defined by the Controller module itself, implemented through the
MsgRegisterInterchainAccountandMsgSendTxmessages.