Tendermintの概要と仕組み、Cosmosとの関連性、取り巻くエコシステムに関してを解説
Shota
![Tendermintの概要と仕組み、Cosmosとの関連性、取り巻くエコシステムに関してを解説 Tendermintの概要と仕組み、Cosmosとの関連性、取り巻くエコシステムに関してを解説](https://crypto-times.jp/wp-content/uploads/2019/05/746b364989ae12c2e91be429315e8b6f.png)
異なるブロックチェーン間のインターオペラビリティに関しての問題を解決するプロジェクトである『Cosmos』は先日メインネットをローンチしました。
そんなCosmosは、Tendermintが提供するフレームワークを利用して開発されたブロックチェーンの一つです。
Tendermintはブロックチェーンの開発において必要とされる要素を提供し、開発をより容易にするだけでなく、異なるブロックチェーン間におけるインターオペラビリティも実現(Cosmos)することができるとされています。
本記事では、Tendermintとは一体何か? どのようにインターオペラビリティが実現されるのか? Cosmosとの関連性や周辺のエコシステムについてをまとめていきます。
目次
Tendermintとは?
Tendermintは、分散ネットワークにおける合意形成を安全に行うことを可能にするソフトウェアです。
これはブロックチェーンなどのアプリケーションと組み合わせることができますが、それによりスケーラビリティや開発の難しさといった問題を解決することもできます。
BitcoinやEthereumとTendermint
Tendermintをより深く理解するために、ブロックチェーン開発における基本的なアーキテクチャを見ていきます。
ブロックチェーンのアーキテクチャでは、以下の3つのレイヤー(アプリケーション・合意形成・P2Pネットワーキング)がその構成要素となります;
BitcoinやEthereumなどのブロックチェーンにおいて、この3つのレイヤーは深く相互に依存(Monolithic的)しており、これがブロックチェーンのアプリケーションの開発を難しくしています。
一方で、BitcoinやEthereumなどのコードベースを利用して開発を行う場合、スループットの問題などからアプリケーションの複雑さに制約がかかってしまいます。
Tendermintを利用すると?
Tendermintでは、この3つのレイヤーのうちP2Pネットワーキングと合意形成の部分を切り離し(Decouple?)、Tendermint Core(プラットフォーム)として提供します。
そしてABCI(Application BlockChain Interface)と呼ばれるソケットプロトコルを通じて、アプリケーションとTendermintの合意形成エンジンがトランザクションのメッセージをやり取りすることができるようになります。
Tendermintの合意形成はVoting Powerの総量(総数?)の1/3以上の(作為・不作為的な)故障が起きない限りセキュアで、かつVoting Powerを通貨という単位にDenominateしたProof of Stakeが利用されているため、アプリケーション開発の問題だけでなくスループットの問題も解決できるとされています。
TendermintとCosmos SDK
Cosmos SDKはPoS(Proof of Stake)やPoA(Proof of Authority)のブロックチェーンを開発するためのフレームワークです。
CosmosのCosmos Hubもこのフレームワークを利用して開発されたブロックチェーンの一つですが、Cosmos SDKではTendermintの合意形成エンジンが利用されています。
アプリケーションとTendermintはABCIのインターフェースが提供するAPIによってメッセージのやり取りを行いますが、これではインターオペラビリティは達成されません。
Cosmos SDKを利用して開発されたブロックチェーン(アプリケーション)は、ABCIとは別にIBC(Inter-Blockchain Communication)プロトコルと呼ばれるものを利用してメッセージのやり取りを行うことができるようになります。
つまり、構造的にはCosmos SDKはTendetmintの合意形成エンジンを利用し、開発者にこのフレームワークを提供するだけでなく、これを利用して開発されたブロックチェーン同士をつなげることができる感じになっています。
CosmosとTendermintが一緒に使われるというより、CosmosがTendermint Coreを利用することで、決定論的なファイナリティを持つチェーン同士を効率的に繋ぎ、インターオペラビリティを実現することができるといった関係性になっていることがわかります。
Cosmosの詳細に関しては以下の記事をご覧ください;
クロスチェーンプロトコル COSMOS(コスモス)に関して徹底解説 – CRYPTO TIMES
既存のブロックチェーンをTendermintに移植する仕組み
Tendermintには、ハードスプーンと呼ばれる仕組みがあり、これを利用することで、例えばEVMなどをTendermintに移植(Ethermint(後述))することができます。
基本的にはこれまで説明してきた仕組みと同様で、EthereumであればProof of Workの合意形成アルゴリズムが採用されていますが、これをTendermintの(BFT + PoS)に置き換えるイメージです。
ここでは、EVMのコードをそのまま移植しているため、スマートコントラクトやトークンの発行なども可能、かつこれがよりハイパフォーマンスで実現されていきます。
言うまでもなく、Cosmos Hubに接続することもできるため、インターオペラビリティやトランザクションに対する匿名性の付与などが容易に行われていくことになります。
Tendermintの特徴・利点
以上の点を踏まえたうえで、Tendermintには以下のような特徴・利点があるとされています;
- PoS(PoA)を利用するため、高いスループットが実現できる
- トランザクションの承認後即座にファイナリティが得られる
- フォークが起きない
- アプリケーションをブロックチェーンとして簡単に開発することができる
- PoWなどの合意形成を採用する既存のブロックチェーンを移植することができる
ブロックチェーンの開発やスループットなどに関する問題を解決することができるため、世界でもTendermintとCosmosに大きな期待が寄せられています。
Tendermint Coreを利用するCosmosのエコシステムと現状
記事冒頭でも触れた通り、CosmosのCosmos HubはTendermintの合意形成エンジンを利用して開発されたブロックチェーンの一つです。
Tendermintの合意形成エンジンを軸とするCosmosのエコシステムは、イメージのように大きく拡大を続けています。
こちらのCosmosのフォーラムによると、既に80以上のプロジェクトがCosmosのSDKを利用して開発を行っていることがわかります。
以下では、Cosmos SDKを利用して開発が行われており、注目を浴びているプロジェクトの一部(イメージのZonesの部分)を紹介していきます。
Cosmos Hub
CosmosHubは、Cosmos SDKを利用して開発されたCosmosの最初のZone(Hub)になります。
Inter-Blockchain Communication(IBC)プロトコルというもので、その他のZoneとメッセージのやり取りをすることができ、ここがエコシステムの中核であるとも言えるでしょう。
先日、メインネットがローンチされましたが、今後IBCが実装されそのエコシステムがさらに拡大していくことが期待されます。
Ethermint
Ethermintは、GoEthereum(Geth)とTendermintの組み合わせで、Ethereumのスマートコントラクトを高速で実現するプロジェクトです。
EthermintがCosmos Hubと一緒に使われていくことで、インターオペラブルかつ高速にEVMを動かすことができるようになります。
この仕組みは上述のハードスプーンの項目で説明した仕組みの通りです。
通常、GethではEthereumのProof of Workが利用されるため、スループットが低く確率的なファイナリティしか持ちませんが、Tendermintの合意形成によりProof of Stakeかつ高いスループットでEVMを動かすことができます。
Binance Chain
Binance Chainは、名前の通り仮想通貨取引所Binanceが発表した独自チェーンになります。
開発にはCosmos SDKが利用されているという点が明記されており、これによりCosmos Hubと接続することも十分に可能となります。
Binanceは大きな顧客ベースを持つだけでなく、このチェーンを利用したBinance DEXなども既にリリースされておりエコシステムの拡大に大きく貢献すると思われます。
Binance(バイナンス)がテストネットリリースを間近に控えるBinance Chainの詳細に関して
その他
その他、OmiseGoやHyperledger、Loom Networkなどの有名なプロジェクトも、Cosmosのエコシステムに参加しているとされています。
まとめ
Tendermintが提供する合意形成エンジンとその特徴、仕組み、またCosmosとの関連性と拡大を続けるエコシステムについて紹介しました。
今後もTendermintを採用するプロジェクトは増えていくことが予想されます。
現在、Cosmosを取り巻くエコシステムも非常に増えてきており、今後も要注目であるプロジェクトの一つです。