メインネットをローンチしたことで、ブロックチェーンプラットフォームCosmos(コスモス)に対する注目が集まっています。コスモスは、分散化ネットワーク上で動作する独立ブロックチェーン間の仲介役となるソリューションを目指しています。
ATOMとは?
ATOMとは、コスモス・プラットフォーム上で存在する主要な暗号資産(仮想通貨)。ATOMは独立したチェーン間の通信、スケーリング、相互運用性を促進するように設計されているトークン。「ブロックチェーンのインターネット」と称されるCosmosは、さまざまなブロックチェーンを一つのプラットフォームに集結させ、ブロックチェーン技術黎明期以来の主要な課題を解決しようとしています。
・スケーラビリティ
・相互運用性
・使いやすさ
・独立性
コスモスネットワーク上に立ち上げられたプロジェクトは、トークンを簡単に交換できるようにする必要があります。ネットワークは、さまざまなタイプのアプリケーション固有のブロックチェーンを使用するためのモジュラーソリューションとして構築されており、これらのチェーンは、開発が容易であり、価値を相互に譲渡しつつも、互いの独立性を妨げません。
さらに、コスモスは、インターネットと関連する金融インフラの分散化に取り組む準備ができている開発者向けのツールキットとしても機能します。モジュール式で適応性のあるツールが提供されています。
コスモスが目指すスケーラビリティ
コスモス開発者たちは、従来のプルーフ・オブ・ワーク(PoW)プロトコルについて、速度が遅く、コストがかかり、環境に悪影響を与え、スケーラビリティに欠けるという問題を指摘しています。例えば、ビットコインの場合、トランザクション数の増加は、プラットフォーム全体の処理速度の著しい低下につながっています。また、イーサリアムの場合、その上に構築された分散型アプリケーション(dApps)は、1秒間に処理できるトランザクション数の制限と、ブロックチェーン上のリソースを奪い合うdAppsの存在によって制約を受けていると言われています。
コスモスは、これらの問題を解決するために、以下のツールを活用することを目指しています。
- Tendermint:Tendermint Coreは、ビザンチンフォールトトレランス(BFT)コンセンサスエンジンで、1秒のブロックタイムと、250バイトのトランザクションであれば1秒間に10,000トランザクションを処理できる理論的な能力を備えています。コスモス開発者たちは、PoWを排除し、垂直方向のスケーラビリティを向上させることで、アプリケーション自体が唯一のスケーラビリティのボトルネックになるという点に到達することを期待しています。Tendermint上での分散型アプリケーションの構築は、ブロックチェーンアプリケーション自体として開発を行うことで実現されます。必要なのは、アプリケーションに必要なトランザクションの種類と遷移関数を定義することであり、その過程でアプリケーションのパフォーマンスが向上します
- Cosmos SDK:Tendermint上で安全なブロックチェーンアプリケーションを作成するプロセスを簡略化するために設計された技術ツールセット。開発者たちは、Cosmos SDKを使用することで、ブロックチェーンの構築が数個のモジュールをコーディングする程度の難易度にまで簡略化できると主張しています
- Inter-Blockchain Communication Protocol (IBC):Tendermintと組み合わせることで、IBCは異種チェーン間の価値(トークンなど)やデータの交換を可能にします。複数のチェーンアーキテクチャで同じアプリケーションと共通のバリデーターセットを実行することで、ブロックチェーンは理論上無限のスケーラビリティを実現することができます
コスモスが目指すブロックチェーンの相互運用性
ブロックチェーン技術の発展に伴い、新たな課題が浮き彫りになっています。その一つが、異なるブロックチェーン間の相互運用性です。独立した経済圏のように孤立したブロックチェーンは、互いに資産を移転することができず、技術の真価を発揮できない状況となっています。
コスモスは、この課題を解決するために、IBCプロトコルと呼ばれる革新的な技術を導入しています。IBCは、異なるブロックチェーン間の通信を可能にするプロトコルであり、いわばブロックチェーン版のTCP/IPとも言えるもの。異なるアーキテクチャを持つブロックチェーン間で、トークンやデータの送受信をシームレスに実現します。
ブロックチェーンの使いやすさと独立性
コスモスは、ブロックチェーンの使いやすさと独立性という点にも着目しています。従来のプラットフォームは、開発者に多くの制約を課していました。例えば、Ethereum Virtual Machineのようなサンドボックス環境では、開発者は様々なユースケースに対応するためにアプリケーションを最適化する必要があり、特定の問題に特化した開発が難しかったのです。
Cosmos SDKは、開発者の自由度と選択肢を尊重するために設計されています。開発者は、独自のニーズに合わせたブロックチェーンを構築することができ、設計上の妥協を最小限に抑えることができます。さらに、IBCプロトコルによって、異なるアプリケーションやバリデーターセットを持つブロックチェーン間で、資産やデータの転送が自由に可能になります。これは、プライベートチェーンとパブリックチェーン間の連携にも適用されます。
コスモス:ハブとゾーンによる多様なブロックチェーンの共存
「ブロックチェーンのインターネット」を目指すコスモスは、独立性と相互運用性を両立するために、独自のネットワークアーキテクチャを採用しています。その中核を担うのが、ハブとゾーンと呼ばれる2つの要素です。
- ゾーン:独立したブロックチェーン
- ブロックチェーンを結ぶ中心的な役割を果たすハブ
コスモスネットワークにおけるHubは、独立した各チェーンの中央台帳のような役割を果たします。Hub上で保有されているトークンは、ハブの仲介によって他のトークンと交換することができます。
Cosmos Hub自身は、Tendermintアルゴリズムに基づくプルーフ・オブ・ステーク(PoS)ブロックチェーンです。これは、異なるブロックチェーンを1つの傘の下にまとめ、混沌とした運営状態に陥るのを防ぐ、ネットワークの主要な支柱としての役割を果たします。
このネットワークにおいて、HubはIBC(Inter-Blockchain Communication)と呼ばれる技術を用いて、チェーン間の相互作用を促進する重要な役割を担っています。
ハブはどのように動作するのか?
異なるチェーン間でトークンを交換する場合、トークンの信頼性とバリデーターの信頼性を同時に確保することが課題となります。チェーン間でトークンが移動するたびに、新しいトークンを受け取るチェーンは、それまでのすべてのバリデーターセットを信頼する必要があります。
Cosmosプラットフォームは、この問題を解決するために、ハブがゾーンを直接接続するのではなく、ハブがゾーンを接続する仕組みを採用しています。接続を他のハブに限定することで、二重支払い攻撃やトークンの凍結リスクを軽減できます。
つまり、ハブはチェーン間の信頼の中心となり、チェーン同士が直接信頼し合う必要がなくなり、トークン移動時に経由するチェーンを信頼する必要もなくなります。
ハブはコスモスネットワークの中心的存在であり、そのセキュリティは非常に重要です。ハブのセキュリティは、世界中に分散されたバリデーターグループによって管理されています。
ハブアーキテクチャの分散型特性は、オープンソース開発者をこの技術に引き込むことが期待されており、Cosmos Hub以外にも、いくつかのプロジェクトが進行中です。その一つが、2019年3月に立ち上げられた中国のIRISネットワークです。IRISネットワークは、様々なビジネスサービスや個別のチェーンをコスモスネットワークに接続することを目的としています。
Tendermintはどのように機能するのか
コスモスネットワークを構成するゾーンは、すべてのパrticipantの一貫したパフォーマンス、セキュリティ、説明責任を実現できる、堅牢な基盤システムを必要とします。この役割を担うのがTendermintプラットフォームであり、特に以下の2つの主要なコンポーネントが重要です。
1. Tendermint Core
Tendermint Coreは、すべてのノードで同じトランザクションが同じ順序で記録されることを保証します。これは、コンセンサスアルゴリズムとピアツーピアネットワークプロトコルを含むプロトコルとして機能します。トランザクションは、ゴシッププロトコルを使用してノード間で伝播されます。ピアディスカバリーとゴシッププロトコルは、Tendermintの暗号化システムによって保護されます。
2. ABCI (Application Blockchain Interface)
Tendermintシステムの2番目のコンポーネントは、ABCI (Application Blockchain Interface)と呼ばれるアプリケーションインターフェースです。これは、どのプログラミング言語でもトランザクションを処理できることを保証します。
Tendermintは、一般的なブロックチェーンアーキテクチャの3つの主要なレイヤーのうち、コンセンサスとネットワークの2つのレイヤーを統合します。これにより、開発者はアプリケーションレイヤーの定義にのみ集中できるため、開発に使えるコーディング時間を大幅に節約できます。
Tendermintは、モノリシックなアーキテクチャではなく、モジュールアーキテクチャを採用しています。これは、即時確定性、より高いセキュリティ、およびパフォーマンスを実現するためです。
ABCIとCosmos SDKの連携
ABCI(Application Blockchain Interface)は、Tendermint Coreとアプリケーション間の通信を可能にするプロトコルです。開発者は、ABCIを用いて、Tendermint Coreとアプリをシームレスに連携させることができます。ABCIは、3種類の接続を提供します。
- Mempool接続:トランザクションがコミットされる前にリレーする必要があるかどうかを確認します
- コンセンサス接続:コミットされたトランザクションの管理を支援します
- クエリ接続: アプリケーションの状態をプラットフォームがクエリできるようにします
Cosmos SDKは、ABCIフレームワーク上に構築されたソフトウェア開発キット。アプリケーション固有のブロックチェーンを構築したい開発者の負担を軽減することを目的としており、SDKは、モジュラー構造を採用しており、ABCIの上に複数のレイヤーが積み重なっています。各レイヤーには、開発者が利用できる様々なツールが用意されています。
IBCとペグゾーン
コスモスエコシステムの大きな目標の一つは、相互運用性を確保することです。これは、Tendermintベースのチェーンだけでなく、Tendermint以外のチェーンに対しても実現する必要があります。
まず、確定性が速いブロックチェーンは、IBCプロトコルに適応することでコスモスと接続できる一方で、POWなどの確率的な確定性を持つチェーンもサポートする必要があります。そのため、コスモス開発者は、ペグゾーンと呼ばれる特殊なタイプのプロキシチェーンを導入しました。
ペグゾーンは、別のブロックチェーンの状態を追跡するブロックチェーンです。カスタマイズ可能なペグゾーン自体が高速確定性をサポートしているため、IBCとすでに互換性があり、ブリッジ対象のブロックチェーンの確定性を確立します。例えば、ペグゾーンを利用することで、コスモス上のトークンをEthereumチェーンに送ることができます。
一方、IBCプロトコルは、ネットワーク内のさまざまなゾーンやハブを接続し、異なるレイヤーアーキテクチャ、独立したガバナンスモデル、ソフトウェアフレームワークを持つチェーン間 の価値交換をサポートします。IBCは、ユーザー間でのトークン交換を円滑化することで、コスモスを分散型取引所の強力なソリューションにする可能性があります。
トークン転送プロセスは次のようになります。
- サリーは、チェーンAからチェーンBに50トークンを送りたい
- 彼女のチェーンA上のトークンがロックされ、その証明がチェーンBに転送される
- チェーンBは、チェーンA上の検証者のうち3分の2以上が、ロックされたトークン量を確認するために署名したかどうかを検証します
- 証明が検証されると、サリーの50トークンはチェーンB上で利用可能になる
コスモスネットワークのトークン:ATOMとPhoton
コスモスネットワークは、2種類のトークンを導入しています。
- ATOMは、ガバナンスに主に使用されるステーキングコイン。ATOMをステークすることで、ゾーンのバリデーターはハブに参加することができ、ゾーン内で不正行為を行った場合は、ステークが減らされる可能性がある
- Photonは、コスモスプラットフォームエコシステム内のトランザクション手数料の支払いに使用されるコイン。ゾーンは独自のトークンを使用できるため、ハブのバリデーターは、どのトークン組み合わせでも手数料を受け取ることができます。手数料の2%はリザーブプールに計上され、残りはステークの大きさに応じてバリデーターに分配される
コスモスのICOは2017年4月に開催され、1700万米ドル以上の資金調達に成功しました。ATOMの総供給量は2億3600万ATOMに制限されています。2019年3月13日にコスモスメインネットが立ち上げられた後、ATOMは様々な仮想通貨取引所に上場されました。
コスモスプラットフォームの歴史
コスモスプラットフォームにとってTendermint Coreの重要性を考えると、この技術の背後にいるチームメンバーの多くが、コスモスの設計にも携わっていることは不思議ではありません。彼らはAll in Bitsという営利企業で働いており、コスモスプラットフォームの開発は、ブロックチェーンの相互運用性の促進を中心に活動している Interchain Foundation (ICF)によって支援されています。