Cosmosの最新の技術進展は何ですか?Interchainスタック2024年のロードマップを解読する
執筆:Babywhale、Foresight News
Cosmos 開発チームが提供する一連の技術ソリューションは、Web3 開発チームに広く支持されており、Cosmos SDK や IBC など、多くのソリューションが開発者の「車輪の再発明」の問題を解決するのに役立っています。
Cosmos は Web3 に多くの製品をもたらしましたが、そのコアである ATOM トークンは Cosmos エコシステムの拡張から恩恵を受けていませんでした。しかし、昨年の Cosmoverse 大会で Cosmos 2.0 ホワイトペーパーが発表され、ATOM に追加の価値がもたらされました。これには、「消費チェーン」に対する料金徴収のためのセキュリティ提供や MEV 収入の捕獲などが含まれます。簡単に言えば、Cosmos 2.0 が完全に実現すれば、ATOM も Cosmos エコシステムの継続的な拡張から恩恵を受けることになります。したがって、残る課題は Cosmos 2.0 の開発を迅速に実現し、Cosmos エコシステムをさらに拡張することです。
先月、Cosmos エコシステムの発展を促進することを目的とした Interchain 財団は、2024 年の Interchain スタックの開発計画を公開しました。このロードマップは、4 つの戦略目標を達成することを目指しています。
- 汎用ソフトウェアを通じてモジュール化の程度を高め、特定のユースケースにより適応しやすくする;
- 開発者体験を改善し、Interchain Stack を使った構築を容易にする;
- 技術的負債を返済し、より迅速に進展できるようにする;
- ユーザーの採用を促進する。
これらの計画の中には、Cosmos と ATOM の発展の見通しに対するあなたの判断を変えるかもしれないものがいくつかあります。
CometBFT
CometBFT は Interchain 状態機の複製エンジンであり、ネットワークのバリデーターがブロックの生成において合意に達することを保証し、ブロックチェーンネットワークの安全性と一貫性を確保します。
Interchain 財団は、CometBFT のカバレッジと適用性を拡大することで Interchain を発展させ、主権的な相互運用アプリケーションの構築を支援することを目指しています。さらに、CometBFT を含むクロスチェーン公共製品スタックは、Interchain におけるアプリケーションのますます多様化に適応し、機関レベルのサービスを提供し、さまざまな方法で競争するために、新たな柔軟性とモジュール化のレベルに達する必要があります。
Interchain 財団は 2023 年 2 月に CometBFT v0.34 をリリースし、3 月には v0.37 をリリースしました。このバージョンには ABCI++ の第一部が含まれています。3 月末には v0.38 の候補版がリリースされ、これは ABCI++ の最後の部分です。最終版がリリースされる前に、Interchain 財団はこれを Cosmos SDK と IBC-go に統合します。
Interchain 財団は、2023 年の終わりまでに準備中の v0.39 をリリースする予定であり、その更新には効率の改善(帯域幅とストレージ消費の削減)、最終的にインデクサーと RPC サブシステムを含む Data Companion API などが含まれ、2024 年初頭にリリースされる予定です。このバージョンは v1 と呼ばれる可能性もあります。
ABCI++ とは何かを理解するためには、まず ABCI について知る必要があります。ABCI はアプリケーションとコンセンサスの間のインターフェースであり、その主な役割はコンセンサスによって決定されたブロックを実行することです。ABCI があれば、アプリケーションは意思決定時にコンセンサスと対話するだけで済み、mempool からどのトランザクションを選択するかについてはほとんど制御権を持ちません。ABCI++ は、コンセンサスの各ステップにプログラム可能性を追加し、アプリケーションがトランザクションを再配置、変更、放棄、遅延、または追加することを許可し、最適化を導入することによってブロック生成時間を短縮する能力を提供します。
Sei はまさに ABCI++ を採用して、最適化されたブロック生成、スマートブロックブロードキャスト、およびオーダーの並行実行を実現し、チェーン上のトランザクション処理効率を向上させています。
要約すると、CometBFT はこのコンセンサスメカニズムに基づくチェーンに非常にカスタマイズされたブロック構築機能を提供し、異なるチェーンはそれぞれのニーズに応じてブロック生成やトランザクションの順序、実行方法を定めることができ、チェーンレベルの最適化の想像力を大いに高めます。 さらに、Interchain 財団は非常に壮大な構想を提案しました:アプリケーションが ABCI インターフェースを介して IBC の機能を直接利用できるようにすること、開発に使用される仮想マシン、フレームワーク、またはモジュールスタックに関係なく。 こうすることで、IBC を Cosmos SDK、OP Stack、Celestia などで開発されたチェーン上のアプリケーション間のクロスチェーン相互運用性の標準とする目標を実現できます。
Cosmos SDK
Cosmos SDK について言えば、大多数の人が馴染みがあると思います。Cosmos SDK はブロックチェーンや Rollup を開発するためのツールキットであり、多くの新しく立ち上げられたブロックチェーンが開発のコアツールとして使用しています。Cosmos エコシステムの多くのアプリケーションチェーンに加えて、Fairblock、dYdX V4、Berachain なども含まれています。
Cosmos SDK の開発計画において、Interchain 財団は新しい年の重点がモジュール化と新機能の導入にあると述べています。
まず、未解決の「技術的負債」について、Cosmos はストレージ、ABCI のコア層、モジュール、ステーキングなどを含むレイヤーで未完了の最適化作業を続ける予定です。具体的には以下の内容が含まれます:
ストレージ:性能、スケーラビリティ。
コア:モジュール化(異なるコンセンサスエンジンの使用:Rollkit、Dymint など);切り替え可能(コンポーネントの簡単な切り替え:ストレージ、異なるモジュールローダー(Wasm、FFI、gRPC およびローカル)、クライアントなど)。
モジュール:さまざまな仮想マシンでの証明が容易;コードの総行数を削減;モジュール化(アプリケーション開発者がビジネスロジックを変更できるようにする);従来のモジュール(Auth、Bank、Staking、Distribution、Mint、Slash など)を再構築。
暗号学:キー処理を再構築し、よりモジュール化し、他者がカスタム HSM を使用できるようにする;新しい暗号原理を導入。
次にモジュール化の面では、Interchain 財団は「モジュール化」という言葉がブロックチェーン分野で過度に使用されていると考えており、その焦点はソフトウェアのモジュール化レベルにあります。Interchain 財団は、今年の下半期に Cosmos SDK をコアレベルでよりモジュール化し、2024 年まで継続的に努力することを表明しています。具体的には以下の内容が含まれます:
コンセンサスのモジュール化:モジュール化(異なるコンセンサスエンジンの使用:Rollkit、Dymint など);切り替え可能(コンポーネントの簡単な切り替え:ストレージ、異なるモジュールローダー(Wasm、FFI、gRPC およびローカル)、クライアントなど)。
ストレージ:既存の構造を切り替えることを許可;モジュール間で異なる構造を使用することを許可;読み書きの並行化。
モジュールの組み合わせ可能性:ユーザーがカスタムロジックを分岐または挿入できるようにする(ユーザーのフィードバックに依存)。
第三に、メンテナンスに関しては特に注目すべき点はなく、第四に今後の計画として、Interchain 財団は以下の更新を計画しています:
クロス言語:モジュールローダー(WASM、FFI、GRPC);CosmWasm とのより密接な統合の可能性。
アップグレード:モジュールと VMS のビジネスロジックをコア/ノードのアップグレードから分離;シームレスなアップグレードを実現(ターゲットブロック高の前にアップグレードをデプロイ);創世状態からの同期を実現。
研究:モジュールの証明に使用される ZK 回路;詐欺と有効性の証明。
CosmJS
CosmJS は、開発者が JavaScript ベースのクライアントを Cosmos SDK ブロックチェーンと統合するのを助けるライブラリです。
Interchain 財団は、CosmJS ライブラリに新しいエンコーダーを追加し、ライブラリの効率を向上させ、コードの冗長性を減らし、ユーザーにより洗練された専門的な開発体験を提供することを計画しています。これらの更新は、ネイティブな視覚化の追加、パッケージサイズの最適化、自動エンコーディングプロセスの実現、複数のネットワークへの適応性の実現、より洗練され拡張可能なクライアントの作成を目指しています。
さらに、この作業の重要な側面は、Telescope の codegen 機能を利用して特定のターゲットを置き換え、自動化することです。たとえば、ライブラリをより洗練されたものにし、ハードコーディングされた補助メソッドを削除し、開発者が選択したモジュールや補助メソッドを使用してクライアントをカスタマイズできるようにします。
CosmJS の更新計画は主に基盤技術に関するものであり、具体的な詳細を知りたい読者は原文を参照してください。要約すると、主な内容には情報の「Proto Visual」エンコーディング、CosmJS と Cosmos SDK の同期更新、より洗練されたパッケージとコードの最適化、Amino エンコーダーの更新とモジュールの追加、異なるキーと署名を使用した複数ネットワークアダプター、より洗練され拡張可能な Telescope と Helpers クライアントが含まれます。
CosmWasm
CosmWasm は、Cosmos SDK のために構築されたスマートコントラクトフレームワークです。一方で、ユーザーが許可なしに分散型アプリケーションをデプロイできるようにし、他方でブロックチェーン開発者は製品開発サイクルをブロックチェーン開発から分離し、バリデーターのアップグレード回数を減らし、ブロックチェーンの運用コストを削減します。
Interchain 財団は、CometBFT を使用したアプリケーションチェーンモデル、Cosmos SDK、および Wasm コントラクトのほぼネイティブな実行速度のおかげで、Cosmos はスケーラビリティの問題を解決し、取引手数料を数セントに抑えましたが、同時に L1 で利用可能なブロックスペースは必要以上に広がっています。したがって、より多くのアプリケーションがより便利に開発できるように CosmWasm を最適化する必要があり、その重点はIBC の採用とアカウントのスマート化にあります。
Interchain 財団は、2024 年初頭までに CosmWasm 2.0 を納品し、ほとんどのチェーンにデプロイする予定です。これにより、2024 年中にリリースされる 2.1、2.2、2.3 バージョンの機能の基盤が築かれ、新バージョンの機能には以下が含まれます:
ゼロ知識証明の検証。コントラクト内のゼロ知識証明を検証することで、安全なチェーン外計算やさまざまなプライバシーアプリケーションを実現できます。アプリケーションインターフェースにペアリングフレンドリーな楕円曲線暗号技術を追加することで、CosmWasm はこれらのアプリケーションをサポートする準備が整いました:
アプリケーションインターフェースを定義し、適切な実装方法を見つける;
コントラクト内の API を使用する方法を示すフルスタックのサンプルアプリケーションを提供;
ベンチマークを設定し、Gas コストを設定。
IBC 機能のさらなるアップグレード。現在、IBC では実現できない高度なユースケースが出現しており、これらは IBC 更新の重点となります:
ADR-8 を全面的にサポートし、コントラクトがタイムアウトや送信されたパッケージの確認に反応できるようにする;
IBC 手数料をサポートし、コントラクトが自分のデータパッケージの料金を支払えるようにする;
オプションの遅延確認を作成し、コントラクト内で Packet Forward Middleware および ICQ ロングポーリングを実装できるようにする。
他の基盤技術に関連する更新や重要性が低い更新には、現在のソフトウェアスタックのメンテナンス、ストレージアクセス効率の向上、authz の強化、IBC アプリケーションの作成、2025 年春に AwesomWasm II ハッカソンを開催、DApp 開発者向けの CosmWasm ドキュメント、開発者がテストできるように CosmWasm テストネットを運営することが含まれます。
IBC プロトコル
ブロックチェーン間通信(IBC)プロトコルは、ブロックチェーンの相互運用性ソリューションであり、安全で許可なしにブロックチェーン間で任意のデータを転送し、ブロックチェーン、アプリケーション、スマートコントラクト間でシームレスにクロスチェーンでデータを送受信できるようにします。2022 年 1 月から 2023 年 2 月まで、ibc-go は 5200 万回の送金をサポートし、送金額は 290 億ドルに達しました。現在、100 を超えるチェーンが IBC ネットワークに接続されています。
IBC エコシステムは非常に豊富です。ICF が資金提供するチームが開発したアプリケーションに加えて、他のプロトコルには Osmosis のクロスチェーントランザクション、Stride と Neutron が広く使用するミドルウェア、ICA とクエリ、DAO DAO が作成した Polytone、Evmos が IBC プリコンパイラを構築して EVM 経由での転送を可能にしたもの、Injective がオラクルデータストリームモジュールを構築したものがあります。
Interchain 財団は、IBC が 2024 年に 2 つのテーマに基づいて更新されると述べています:スケーラビリティと可用性。
スケーラビリティ
IBC には現在、多くの課題があります。これまでのところ、Cosmos SDK と ibc-go を使用した CometBFT チェーンのみが実際に IBC プロトコルを使用できる状況です。さらに、非 Cosmos チェーンとの最初の接続には約 2 年かかりました。もし毎回統合にこれほどの時間がかかるのであれば、IBC のビジョンを実現することは根本的に不可能です。
さらに、ローカル IBC とリレイヤーの実装によってもたらされるメンテナンスコストは膨大です。IBC 転送とアプリケーションの実装にかかるメンテナンスコストに加え、新しいブロックチェーンアーキテクチャを接続するたびに関連するリレイヤーが生成され、メンテナンスと開発コストが発生します。リレイヤーには現在持続可能なキャッシュフローがなく、提供されるサービスに対して Gas 料金やインフラストラクチャ料金を支払う必要があります。これには、インフラストラクチャ料金を支払うためのチェーン外プロトコル、財団の許可、または Cosmos SDK の料金助成モジュールが含まれます。
これに基づき、スケーラビリティに必要な具体的な更新には以下が含まれます:
IBC 統合に必要な開発時間を最大限に短縮する;
IBC 統合のメンテナンスコストを削減する;
Layer1 と Rollup の IBC 接続フレームワークを構築する。
可用性
ICS-20(トークン転送)は、IBC-go が 2021 年 3 月に導入した最初のアプリケーションモジュールであり、それ以来最も使用されているアプリケーションです。アプリケーションがますます複雑になるにつれて、単にトークンを送信するだけでは相互運用性のニーズを満たすには明らかに不十分です。したがって、ICS-20 データパッケージにはメモフィールドが追加され、トークンを送信する際に他のデータも送信できるようになり、ミドルウェアと組み合わせることで、クロスチェーントランザクションやワンクリック流動性ステーキングなど、より複雑なワークフローを実現できます。しかし、ICS-30 で規定されたミドルウェア設計パターンは、しばしばメモフィールドと組み合わせて使用され、キー衝突に対する一般的な懸念を引き起こしています。さらに、複数のミドルウェアをスタックすることは、メモフィールドの正しいフォーマットを要求し、ミドルウェアはワークフローの正しい順序で実行する必要があります。
IBC denomination は、開発者が直面するもう一つの難題です。ユーザーインターフェースは人間が読みやすい形式で denomination を表示する必要があり、これを実現するためには各プロジェクトが維持するレジストリが必要です。トークンの流通経路が生成される IBC denomination を決定するため、異なるチェーンやチャネルを経由して目的地に到達するトークンは互換性がありません。既存のいくつかのアプリケーションは、データパッケージ転送ミドルウェアを利用してこの問題を解決していますが、これらのソリューションはトークンの原点から目的地までのチャネル ID を決定するためにチェーン外の設定に依存しています。長期的な解決策は、オンチェーン登録を利用するべきです。
2022 年 3 月に導入された ICS-27、すなわちチェーン間アカウント(ICA)は、現在 8 つのチェーンのみがコントローラー機能を採用しています。最初の設計では、この機能を使用するためにカスタム認証ミドルウェアを構築する必要があり、これがこの機能の広範な採用に対する直接的な障害となりました。ibc-go v6 のリファクタリングにより、この要求は排除されましたが、ICA にはまだ多くの痛点が残っており、ics-999 や polytone などの代替ソリューションがこれらの痛点を解決しようとしています:クロスチャネルの順序付けの欠如、多チャネルワークフローにおける原子性、原子性がない場合のエラーハンドリングの欠如。
全体として、IBC のすべてのコンポーネントは、アプリケーションやチェーン開発者にとってそれほど簡単に学び、完全に理解できるものではありません。これは、信頼できるデータパッケージ送信者の設計決定に表れ、IBC を介してエアドロップを受け取ったり、ミドルウェアを信頼したりすることで攻撃される可能性があります。さらに、最新の ibc-go バージョンへのアップグレードは優先事項ではないことが多く、約 60% のチェーンがサポートされていないバージョンを使用しています。
これらの既存の多くの問題を考慮すると、IBC の可用性を改善するために必要な点には以下が含まれます:
IBC ユーザーの開発体験を改善する -- 単一チェーン上でアプリケーションをデプロイする便宜性は、クロスチェーンアプリケーションのデプロイに近づくべきです;
ICS-20(トークン転送)に加えて、IBC 上で機能豊富なアプリケーションを使用できるようにする;
IBC を使用して開発されたアプリケーションは、他のプロトコルを使用したものと顕著に異なるべきです。
Strangelove の Interchain スタックへのサポート
Interchain 財団に加えて、IBC の普及と採用に貢献している暗号開発会社 Strangelove も、Interchain スタックをサポートするための計画を提案しています。その中でも、IBC の採用とマーケティング計画は特に注目に値します。内容には以下が含まれます:
IBC をサポートする Avalanche Subnet;
非 Cosmos SDK チェーンを含む 8 つのチェーンが WASM ライトクライアントをサポート;
8 つのチェーンがコントラクト間の IBC 接続を開始;
Composable 以外の別の Polkadot パラレルチェーンが IBC に直接接続;
NEAR に IBC サポートを追加;
Ethereum と Cosmos の間で cometBLS/ZK を介して IBC クロスチェーンを実現;
8 つのブロックチェーンが IBC-App とミドルウェアをサポート;
4 つのチェーンが ICS-721 形式の NFT を IBC クロスチェーンでサポート。