コスモス(Cosmos)のコンセンサスアルゴリズムTendermintはどのように機能するか

Cosmos HUBのブロックチェーンはテンダーミント(Tendermint)というコンセンサスアルゴリズムで稼働します。本稿ではTendermintに関して、どのように稼働するのかを解説します。

Tendermintは、基本的には、BFT系PoSであり、イオス(EOS)などの形式に近いものだと捉えていただければ問題ありません。EOSの場合、投票で選ばれた上位21のノードでバリデートしますが、Cosmosは現時点で100のノードでバリデートする予定です。PoS形式ですので、高速なトランザクションが処理できます。下記が、ブロックが生成される順序になります。

COSMOS HUBにおいてブロックが構築される手順

Propose(提案)

100のバリデーターは交代しながらブロックをPropose(提案)します。ステーク量に応じて選出されたバリデータセットによってブロックの提案が行われます。

異なるバリデータによって交代で提案が行われるようにラウンドロビン方式で提案者が選ばれ、このラウンドロビン方式の選出は関数として実装されており、参加ノードのうち、誰がブロック作成者となるのかは決定論的に証明可能で、ステークしているトークンの量によって決定されます。

Pre-vote(前投票)

選出されなかったノードは、提案されたブロックに不正なトランザクションがないかを検証し、署名するリレーを行います。3分の2以上の合意署名が行われる必要があります。

Vote(投票)

もう一度リレーをして、同じくさらに3分の2以上のノードに署名をされればブロックが生成されます。ブロックを生成した提案者は、ブロック作成報酬のトークンとトランザクション手数料を得れます。そして、この時点でファイナリティを得たことになります。

上記のようにバリデータノードに提案されたブロックの署名を求めるリレーを行う必要があります。基本的にこれはEOSも同様であり、これを1,000や2,000のノードでリレーをするわけにはいかずセキュリティやサーバー設備の要件を満たした限定的な数のノードがブロック生成に参加をします。

BFT形式のPoSは、バリデータノードは少数に固定をする必要があり、 Cosmosは100のバリデータノードで稼働をしています。

Cosmos HUBのノード数は将来増える予定も

Cosmos HUBは現在100のノード数ですが、将来的には300ノードまで拡張をする予定だとしています。毎年10-13%のノード数を増加させて、10年後に300まで増やすようなスケジュールを描いています。

将来的にノード数を増やせる理由は、5Gをはじめとした通信システムの発展で帯域幅などが向上され、リレーが容易になるだろうと目論んでいるからです。もちろん、このノード数は、少ないより多いほうがブロックを作成できるプレーヤーが増え、分散性の観点では望ましいです。ローンチ時点では、バリデーターになる意思を宣言したアドレスのうち最も多くのステークを持つ上位100のアドレスだけがバリデーターとなります。

その他のトークン保有者はデリゲーター(Delegator)となり、バリデーター候補のうちの誰かに投票をして、ステーキングプロセスに参加をすることができます。投票したノードが上位100ノードに選ばれた場合は、そのノードのブロック作成に応じて、デリゲーターもブロック報酬を得られます。

ただし、デリゲートをして支援をするノードが悪意を持つノードで二重署名など不正を起こした場合は、そのノードが保有するトークンはもちろん、投票をしていたデリゲータのトークンも没収されます。

これがCosmos上で稼働しているBFT-DPoSの仕組みです。この投票をステーキングと呼び、トークン保有者はトークンをロックアップすることでブロックチェーンのコンセンサスに参加して間接的に報酬を得られるようになります。

ステーキングについてはこちらのコラムで解説をしています。

【こんな記事も読まれています】
「ブロックチェーンのインターネット」を実現するコスモス(COSMOS)を簡単解説
コスモス(COSMOS)のHUBローンチから見るブロックチェーンと企業の関係性
プルーフ・オブ・ステーク(PoS)の経済圏【前篇】:その周辺のビジネスレイヤーとその影響


Sanaka Networkは、仮想通貨のステーキングのポータルサイトです。対応のPoSトークンをステーキングすると、年利に換算し8-15%程度の報酬を得ることができます。仮想通貨で資産を築く新しい手法です。日本語サポートと細心のセキュリティ体制によって運営されているステーキングサービスです。仮想通貨の長期投資家は是非ご利用検討ください。

▼Sanka Networkのご利用はこちらから!
https://www.sanka.network/

おすすめの記事