IBC、単純FT転送のその先へ(和訳)
プッシュ通知

この記事は、Interchain Foundationによる記事、Moving Beyond Simple Token Transfersの翻訳記事です。

Interchain Foundationの許可を得て作成、公開しています。

単純FT転送のその先へ

2021年3月、IBCは、Cosmosに構築された単一のアプリケーション、FTの転送機能(ICS-20として始まりました。

その数ヵ月後、Cosmos HubOsmosisが、IBCのマーケティング活動をリードし、その存在を広めました。トークン転送はあらゆるブロックチェーンの相互運用性において重要なポイントとなってきましたが、私たちはこれをさらに一歩進めるための努力をしています。インターチェーンコンポーザビリティ(※1)は、チェーン間だけでなく、チェーン上のモジュール間でもトークンがシームレスに転送される未来を想定しています。

現在、ユーザーはあるチェーンから別のチェーンにトークンを送ることができますが、近い将来、そのトークンを送信先のチェーンでどうするかまで指定して送信することができるようになります。

これは、トークン転送パケットにメモフィールドを追加することで実現されます。

※1: インターチェーンコンポーザビリティとは?

インターチェーンコンポーザビリティとは、Cosmosにおける相互運用性のこと。CosmosはIBCやInterchain Account等の機能をモジュール化して、チェーンによって搭載非搭載を選べるようにし、相互運用しやすくすることを目指している。

メモフィールドとは何か?(技術者向け説明)

直近のICS-20の改善により、構造体: FungibleTokenPacketDatamemo フィールドが追加されました

ICSとは?

ICSはInterChain Standard(チェーン間標準)の略であり、EthereumにおけるERCのような技術規格です。

メモフィールドとは?

memoフィールドは、今回のICS-20のアップデートによって新たに追加されたFungibleTokenPacketData構造体の新たなメンバー変数 (構造体の要素)です。これが追加されたことによって、後述しますが複数トランザクションを1度の署名に圧縮できるかもしれません。

// NewFungibleTokenPacketData contructs a new FungibleTokenPacketData instance
func NewFungibleTokenPacketData(
	denom string, amount string,
	sender, receiver string,
	memo string,
) FungibleTokenPacketData {
	return FungibleTokenPacketData{
		Denom:    denom,
		Amount:   amount,
		Sender:   sender,
		Receiver: receiver,
		Memo:     memo,
	}
}

これにより、トークンの転送に伴って任意のデータを文字列として渡すことができるようになりました。例えば、ユーザーアクションやコールデータ、小数点以下の桁数、デノミネーション、ティッカーシンボルなどの情報をメモフィールド内に入れ込めるようになりました。

なお、メモフィールドのメタデータはICS-20自体では使用されず、ミドルウェアやカスタムCosmWasmコントラクトが転送プロトコルを解析しメタデータをwrapして、それを元にカスタムロジックを実行することができます。

メモフィールドはibc-go v6.0.0リリースに含まれ、これはAPIの大きな変更を伴います

v6.0.0 では、 NewFungibleTokenPacketData の引数に memo フィールドを指定することができます[参考]

バージョン v2.5, v3.4, v4.2, v5.1 では、NewFungibleTokenPacketDataを初期化した後にmemoフィールドに直接値を代入すれば、API を破壊しない方法でmemoフィールドを使用できます[参考]

⚠️ <strong>注意</strong>

受信側のチェーンのibc-goがv6.0.0, v2.5, v3.4, v4.2, v5.1以外のバージョンの場合、メモフィールドが空ではないIBCパケットを送信すると宛先でのパケットアンマーシャリングに失敗します。(つまり送信が失敗します)

ユーザーから見てどうなるのか

現在、ユーザーがCosmos HubからOsmosisにATOMを送信し、その後プールに流動性を追加したい場合(またはスワップ/ステーク/担保としてのトークンなど他のアクションを実行したい場合)、ユーザーは2つの異なるトランザクション(一つはOsmosisにATOMを送信するtx、もう一つは流動性を追加するためのtx)に署名し承認しなければなりません。

もし、「ユーザーがトークンを送信し送信先でトークンをどうするか」を1アクションで指定できれば、UXはかなり改善されるはずです。

新しく導入されたメモフィールドは、これを可能にするためのインフラとなります。

ユーザーはこれから、トークンを送信しながらプログラム的な何らかのアクション(スワップ、デポジット、流動性の提供など)を行うことができるようになり、複数のトランザクションを1つに効果的にまとめることができるようになるでしょう。

また、メモフィールドはパケット転送ミドルウェアにも利益をもたらします。現在の設計では、ミドルウェアはパケット構造体からデータ(受信者アドレス)を読み書きし、仲介者から最終宛先までパケットをルーティングしていましたが、最終的な宛先アドレスもメモフィールドで指定できるため、この次善策はもう必要ありません。

その他のICS-20の改善点

転送パケット構造体にメタデータフィールドが追加された以外に、ICS-20では以下のような改善が行われました。

まとめ

流動性と任意のデータをワンアクションで渡すことができるメモフィールドの追加により、ユーザーのクロスチェーンでの取引や資産管理の方法が大きく変わることになります。

クロスチェーンにおけるコンポーザビリティは、常にIBC 開発の中核となる考え方でした。

メタデータのプロトコル内転送の採用により、より多くのチェーン間で、より高度な連携が可能になる日が近いと思われます。


上記のトピックについて質問/フィードバック/批評がある場合、またはICS-20の改善について提案がある場合は、こちらに連絡することをお勧めします。

メモフィールドの実装に貢献したOsmosisのチームに感謝と称賛を


著者について:

Aditya Ravi RajInterchain GmbH で働き、Inter-Blockchain Protocol (IBC) チームのプロトコルアナリストを務めています

フィードバックとレビューをいただいたSusannah Evans氏とCarlos Rodriguez氏に感謝を。

運営者情報

Stir lab運営元のSTIR (スター)は、ETHERSECURITY PACIFIC HOLDINGS PTE. LTD.(本社:シンガポール、代表取締役:加門昭平)及びその100%子会社である株式会社イーサセキュリティ(本社:東京都渋谷区、代表取締役:加門昭平、紫竹佑騎)が運営するWeb3 Consulting & Development Teamです。

 

X (Twitter)@Stir_Network_JP

LinkedInhttps://www.linkedin.com/company/14613801

運営元https://stir.network/

Twitterでフォローしよう

おすすめの記事