Sliver.tvを提供するTHETAネットワークのホワイトペーパーの翻訳 #5

コンセンサス・メカニズム

Multi-Level BFT

Theta Ledgerは、Multi-level BFT コンセンサス メカニズムの上に構築されており、これは、数千ものノードがコンセンサスに参加することを可能にしつつ、秒間1,000件以上の処理能力をもつ。

コアのアイデアは、少数のノードが、バリデーターコミッティを形成し、PBFTと同様のプロセスで、ブロックの更新を行う。そして、十分なバリデーター数(10から20)で、バリデーターコミッティは、ブロックを高速に生成する。しかし、まだ、ブロックチェーンを外部攻撃者から守るには十分とは言えない。フォークのリスクが残っている。そして、数千ものコンセンサスへの参加者は、ガーディアンといい、バリデーターコミッティが生成したブロックをファイナライズする。このファイナライズの概念は、2/3以上のガーディアンがその同じブロックを承認した場合に達成されることと定義している。

バリデーターよりもガーディアンの数が多いため、バリデーターコミッティが新しいブロックを生成するよりも、ガーディアンがそのブロックにファイナライズを与える方が時間がかかる。これを同時に実現できるようにするためには、ガーディアンが認証するブロックの粒度がバリーデーターのそれよりも粗ければよい。詳しくいうと、たとえば、チェックポイントブロックのハッシュに対してのみ合意を必要とするなどである。この跳躍的なファイナライズ戦略は、ブロックチェーンの改ざん耐性に強いデータ構造を活用したものである。2つのガーディアンがあるブロックのデータが同じであることを確認していれば、確率的に改ざんされていないと判断する発想である。チェックポイントブロックのみをファイナライズの対象にすることで、数千ものガーディアンが高速にコンセンサスを得ていくことができる。故にこの戦略によって、ブロックの生成とファイナライズが同じペースで進めていくことができる。

通常の状態では、各ガーディアンは、チェックポイントブロックをローカル環境にすでにストアしている状態になるため、一つのチェックポイントブロックをファイナライズするということは、いわゆるPBFTにおける”commit”のステップに近い。さらに、チェックポイントブロックは、バリデーターコミッティによって著名されるため、全ての正直がガーディアンは、同じチェックポイントをもつ確率が高い。故に、我々は、正直なガーディアンが、全ガーディアンのうち2/3が同じチェックポイントハッシュを持っていれば、コンセンサスをえることができる。

このプロトコルを実行するには、そのチェックポイントブロックのハッシュを全ノードにブロードキャストすることが機能する必要がありながら、コミュニケーションのオーバーヘッドが生じるため、大規模なガーディアンにスケールさせていくことができない。代わりに、我々は、aggregated signature gossipのスキームを採用し、これによって、メッセージの複雑さを減らす。コアのアイデアはシンプルである。各ガーディアン・ノードは、近い距離にいる同ノードから著名を集め、集合的な著名を別に生成し、よりコンパクトなビットマップを生成するのである。このgossipプロトコルを使うことで、一気に処理スピードが上がる。ネットワーク分断攻撃がない場合、このアプローチであれば、o(lgo n)のインタラクションで、処理することが可能になる。加えて、著名アグリゲーションは、ノード間のメッセージのサイズを小さくすることができるため、コミュニケーションのオーバーヘッドを相当減らすことができる。

ガーディアンプールは、バリデーターコミッティのSupersetであり、バリーデーターもガーディアンの役割を兼務している。一定量のトークンをロックアップすることで、全てのノードがガーディアンになることができる。大量のノードが参加できるようにすることで、トランザクションのセキュリティレベルは更に上がるように設計している。ガーディアンプールが、コンセンサスに到達したブロックのことをファイナライズされたブロックといい、そのブロックをファイナライズするプロセスのことをブロックファイナライゼーションプロセスと呼ぶ。

Multi-level BFT コンセンサス メカニズムのアプローチは、バリデーターやガーディアンによる何段階ものセキュリティ保証を作り上げる。先に述べたバリデーターのコンセンサスモデルは、各ノードが、個人である限りは、DPoSのセキュリティ水準と同等レベルである。そして、ガーディアンプールが、第2の防御壁である。数千ものノードがそこに参加しているため、攻撃することはますます難しくなる。仮に、バリデーターコミッティが、ハッカーに乗っ取られた場合は、ガーディアンは、ガーディアンプールから別のバリデーターを選出し、最新のファイナライズされたブロックから更新を再開する。そして、例のチェックポイントブロック認証を受けたファイナライズブロックが含まれた時点で、逆戻りは不可能になる。我々は、このメカニズムは、Impossible Triangleと呼ばれるトランザクションスループット、データコンシステンシー、そして、非中央集権性においてよいバランスになると考えている。

そして、このMulti-level セキュリティスキームは、ビデオアプリケーションとの親和性が高い。まず、多くのトランザクションがマイクロペイメントである点である。だから、ユーザーは、毎回、少量の取引しか行わないために、高速なトランザクション処理を求めるのである。一方、大規模な取引を行う場合、ユーザーは、数分は待てる。

つづく。

関連記事