LINEで送る
Pocket

cosmos-network

現在、ビットコインやイーサリアムをはじめ、それぞれが別々の特徴を持つブロックチェーンが多数存在しているが、これらは相互運用性を持たないがためにネットワーク効果をうまく発揮できないでいる。それを解決しようとしているのが、コスモス(Cosmos)だ。コスモスは部分的同調性BFT合意アルゴリズムの実装であるテンダーミント(Tendermint-BFT)を基盤とし、ブロックチェーン間の相互運用性を実現するネットワークだ。

Cosmos Network

コスモスのネットワークは、ブロックチェーンのための仮想的なUDP/TCPであるブロックチェーン間通信プロトコル(IBCプロトコル)を実装したハブ(Cosmos Hub)と、個々の独立したブロックチェーンからなるゾーン(Cosmos Zone)の2つの並列したブロックチェーンで構成される。

ハブはその名のとおりブロックチェーンを中継するハブの役割を担うブロックチェーンであり、Tendermintアルゴリズムを基盤としている。ハブは複数のトークン(仮想通貨)を管理し、IBCプロトコルを通じてトークンをIBCパケットの形式に変換することで各ゾーンとコミュニケーションを行う。言うなれば、ハブは全ブロックチェーンを統制する中央台帳だ。一方のゾーンは、データベースのスケーリング手法として知られるシャーディングを用いてオリジナルのブロックチェーンの対となる多数のゾーンを構成する。例えば、BitcoinゾーンやEthereumゾーン、Zcashゾーンのようなかたちになる。ハブからゾーンを見ると、ゾーンはIBCパケットを通じてトークンの送受信ができるパーミッションレスなブロックチェーンであり、トランザクションはゾーンの維持管理ノードがTendermint-BFTで検証することになる。想像しやすくするため、ここでひとつの例を挙げてみよう。

ひとつのコスモス・ハブと、ハブに接続されたEthereumゾーンとZcashゾーンがあるとする。Ethereumゾーンはスマートコントラクトを動かせるEVM(イーサリアム仮想マシン)の機能を持ち、Zcashゾーンは非対話型ゼロ知識証明を用いてトランザクションのメタデータを暗号化(秘匿トランザクション)する機能を持つ。コスモスはここで、ハブを通じてトークンのパケットをやり取りすることで、Zcashゾーンの秘匿トランザクションで、Ethereumゾーンのスマートコントラクトを実行できるのだ。

ここで、IBCプロトコルにも少し触れておこう。例えば、「ゾーンA」「ゾーンB」、そして「ハブ」があると仮定する。IBCプロトコルから見ると、ハブは厳密にはゾーンの1つと認識される。

ゾーンAからゾーンBに対してトランザクションを送信する場合、まず、ゾーンAからハブへ、そしてハブからゾーンBに対してIBCパケットを送信することになる。ゾーンからゾーンへの移動はブロックチェーンをまたぐため、受信者はブロックヘッダーを確認し続け、トークンの移転がIBCパケットによって保証されていなければならない。これはサイドチェーンの仕組みと類似しており、並列したブロックチェーンが双方向通信が実装されている必要がある。IBCプロトコルは、(1)IBCBlockCommitTxと(2)IBCPacketTxの2つのトランザクションで構成される。(1)はトランザクションが送信元のブロックチェーンの最新ブロックハッシュを持っていることを証明し、(2)はIBCパケットを受信した監視者が実際に送信者のアプリケーションから送られたものであるかを証明する。

Tendermint-BFT

コスモスで使用されているTendermint-BFTは、バリデーターがマイニングの代わりにラウンドロビン形式の投票を行いトランザクションの検証を行う。ここでのバリデーターは、ブロックをコミットする責任を持つ専用マシンだ。そして、非バリデーター(デリゲーター)も、Cosmosのネイティブトークン・アトム(Atom)をバリデーターに対して委任(デリゲート)することで、ブロック報酬とトランザクション手数料の一部を受け取ることができる。もし委任されたバリデーターがプロトコル違反を犯した場合、ペナルティが科され(コスモスの用語で、スラッシュと呼ばれる)、デリゲーターもその影響を受けることになる。この仕組みにより、ネットワークのセキュリティを保とう、というわけだ。

他方、Tendermint-BFTによるバリデーションは、ノード数に制限を加えることで成立しうる、というところには注意を向けなければならないだろう。バリデーター数は、ローンチ時点で100に制限され(驚くべきことに、100を超えている)毎年13%増加し10年後に300まで増やす計画になっている。

バリデーターの入れ替えは、デリゲーターを含む非バリデーターがBondTxを用いてトランザクションを提出し、Atomで担保を差し入れることで実現する。もしバリデーターノードに空きがあれば、誰もがバリデーターになることができる。空きはプロトコル違反を行ったバリデーターがスラッシュされることで作り出されるか、年次のバリデーターノード数拡張に合わせて作り出されることになる。

罰則

スラッシュの判定は、説明するだけなら簡単だ。つまり、電力障害やネットワーク障害、デバイス障害を除くビザンチン障害の可能性が高い場合、バリデーターによる投票でノードが強制除外される仕組みになる。自動的な判定ケースでは、例えばタイムアウトがあまりにも多い場合、バリデーターはペナルティを受け、事前に差し入れた担保が失われる。

コスモスは注意書きとして、3分の1を超えるノードが共謀して不正を働こうとした場合、それを防ぐにはハードフォークが必要になるだろうと書いている。

コスモスのガバナンス

ハブのバリデーターとデリゲーターは、通常事前に設定するパラメータを変更するため、アップグレードの調停をするため、あるいは分散型台帳の憲法(コンセンサス層)を改憲するための提案に対し、投票を行うことでプロトコルに変更を加える。これは、The DAO事件の教訓から一度行ったリリースを取り下げて加えられた変更の顕著な例だ。

各ゾーンは、それぞれ独自の憲法と統治制度を持つ。たとえばイミュータブルであることを原則とするか、ロールバックを含めエディタブルであることを許容するかは、ゾーンの自由である。現実世界において県が異なれば条例が異なるのと同じで、デジタル世界においてもルールの自由は享受できてしかるべきだ。

コスモスはこれを実現することによって、「ユーザーに無限の可能性と究極の自由を与える」と述べている。

ユースケース

さて、ここまでコスモスの全体像を概説したが、サイドチェーンのように相互運用性を高めたブロックチェーンを構築することでどのようなユースケースがもたらされるのだろうか?

最も簡単な例は、分散型の取引所だ。異なるトークン(仮想通貨)の交換をマッチングする取引所は、インターネット経由、あるいはソーシャルエンジニアリングによる古典的な攻撃を受け、トークンを流出させてきた事例も少なくない。これは、取引所がユーザーの所有するトークンを直接受取り、中央集権的に管理しているためだ。ブロックチェーン間で自由にトークンを移動できるということは、ユーザーが注文を行い、取引がマッチングしトークンの受取りと受渡しが行われるその時までユーザーは自身が所有権を持つトークンの権利を手放さないことと同義である。

分散型取引所において注文はスマートコントラクトで状態が管理され、取引がマッチングされるまで注文と紐ついたマルチシグネチャアドレス(複数人の秘密鍵でトランザクションの署名を行う仮想通貨の一般的なプロトコル)にデポジットされている。二者間で値段に合意が取れれば、例えばテスラ・トークンとアップル・トークンを仲介者なしに交換することもできる。市場に充分な流動性があれば、あらゆるトークンを支払いに使うこともできよう。そうすれば、通貨の概念は大きく変わるかもしれない。


Cosmos.network

  • ビットコインニュースを毎日お届け!

    BTCNの最新ニュースを毎日お昼ごろお届けします!

  • BTCN公式アカウントをフォロー

    follow us in feedly
シェアする

この記事を書いた人

ざきやま(山崎大輔)
ざきやま(山崎大輔)from Cryptocurrency world
ビットコイン専門記者 BTCN編集長
ブロックチェインの可能性を、知的財産の保護やゲーミングカルチャーへ応用できないかと考えてます。
monacoin:MTn7hiNovBHyN7gjtvD1Hh7W96Zmghp41B
bitcoin:1NK8S4ep9ZUZ9H9AmTAfvrCVVAKLbpmi36