本稿について
本稿は、Tendermintホワイトペーパーの詳細版ともいえるTendermint現CTOであるEthan Buchman氏の執筆論文をもとにTendermintについて見ていくシリーズです。冒頭に筆者による「簡単まとめ」を入れ、その後にもととなった部分の日本語訳を載せるという順番で書いていきます。
論文「Tendermint: Byzantine Fault Tolerance in Age of Blockchain」の原文はこちら。
今回の対象範囲は第6章「Governance」のうち6.5「Crisis Recovery」と6.6「Conclusion」で、これを読むとTendermintの危機状況下からの復旧についてやや詳しい内容が分かります。
原文はこちらになります。
スポンサードサーチ
要点をまとめてみる
- Tenderminのコンセンサスはセーフティを侵害すると何らかの形で証拠が残るので特定することができるが、ネットワークの接続性と可用性が危機的状況下でも維持されていることを前提としている。
- この前提が成立しない状況下では、ソーシャルメディアや高可用性のサービスなどの代替手段を利用しなければ復旧できない。
- Governmintを他の特殊な危機的状況で利用することも考えられるが、セーフティ保証の基盤を壊さないよう注意深く考えねばならない。
- ブロックチェーンの復旧に関して、ブロックチェーンが組み込まれている社会経済的な文脈は重要である。
- Tendermintが危機的状況に陥った場合、復旧に成功するかどうかはクライアントとの連帯性に依存する。
以下、今回取り扱った箇所の日本語訳なので詳細を知りたければどうぞ。
Chapter6. Governance(続き)
6.5 危機的状況からの回復
トランザクションログのフォーク(分岐)やシステムが停止することになるなどの危機的状況が発生した場合、従来のコンセンサスシステムはほとんどあるいはまったく保証はなく、基本的に手動での介入が必要となる。
Tendermintは、少なくとも1つの誠実なバリデータにアクセスできるクライアントは全て暗号理論の確実さで不誠実なバリデータが誰であるのかをはっきりと見分けることができるため、セーフティの侵害の責任が誰にあるのかを特定でき、これによりビザンチンだったバリデータを除くバリデータ集合とともに誠実なバリデータに従って新しいチェーンに行くことを選択できる。
例えば、1/3以上のバリデータがロックルールに違反したとして、ブロック高Hで2ブロックのコミットがあったとする。誠実なバリデータは全ての投票をゴシップ伝送することで二重署名した者を判別することができる。この時点で、違反したバリデータはコンセンサスプロトコルを利用できない。というのも、基本的な障害仮定が侵害されているからである。この時点でブロック高Hに対する全投票を蓄積できるということは危機的状況の間もネットワークの接続性と可用性についての強い仮定があることを示唆していて、もしこれらをP2Pネットワークで提供できないのであれば、証拠を受け渡しするためにバリデータはソーシャルメディアや高可用性のサービス等の代替手段を利用しなくてはならなくなる可能性がある点には注意されたい。残る誠実なノードの少なくとも2/3が全ての証拠を集積し終えたら、そのノードの完全な集合は新しいブロックチェーンを開始することができる。
代わりに、事前コミットにポルカを必須とするようにTendermintのプロトコルを修正することは、確実に分岐の責のあるバリデータを速やかに罰することができ、追加的な懲罰期間が不要になるかもしれない。この修正は将来の課題として残しておく。
例えば恒久的なクラッシュ故障や秘密鍵の漏洩などの様々な危機的状況の特殊性に対して必要なものを提供するためにGovernmintのもっと複雑な使い方をすることもありうる。しかし、このようなアプローチは基盤プロトコルのセーフティ保証を壊してしまうかもしれないので、慎重に考えねばならない。これらの方法の調査は将来の課題として残しておくが、ブロックチェーンの危機的状況からの復旧能力の理解の観点から、ブロックチェーンが組み込まれる社会経済的な文脈の重要性には留意されたい。
いかに危機的状況からの復旧が進むかに関わらず、復旧の成功はクライアントとの統合に依存する。もしクライアントが新しいブロックチェーンを受け入れなければ、サービスは実際上オフラインになる。上述のようなセーフティ侵害が起きた場合も証拠を集積し、どのバリデータを除外するかを決定し、残ったバリデータで新しいステートを計算しなければならない。ライブネス侵害が発生した場合はGovernmintと歩調を合わせなければならない。
6.6 結論
有効なガバナンスシステムについて理解されている部分は多くないが、ガバナンスは分散型コンセンサスシステムの非常に重要な要素である。TendermintはGovernmintと呼ばれるTMSPモジュールとしてガバナンスを提供する。これは分散型システムに関するソフトウェアベースのガバナンスのさらなる実験を促すことを目的としている。
(EthanのTendermint論文14 ←← 前)|
免責
邦訳には誤りがある場合がございます。予めご承知おき下さい。
確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。