Skip to main content
QUICK REVIEW

[論文レビュー] A Tendermint Light Client

Sean Braithwaite, Ethan Buchman|arXiv (Cornell University)|Oct 14, 2020
Electrochemical sensors and biosensors参考文献 35被引用数 6
ひとこと要約

この論文は、Tendermintブロックチェーンの形式的ライトクライアントプロトコルを提示しており、最小限のデータと計算でブロックチェーン状態を効率的かつ安全に検証することを可能にする。暗号的証明と動的バリデーター集合追跡メカニズムを活用することで、Tendermintのセキュリティモデル下で安全かつライブネスを保証しつつ、検証のオーバーヘッドを顕著に低減する。本プロトコルはTLA+とAPALACHEを用いて形式的に検証されている。

ABSTRACT

In Tendermint blockchains, the proof-of-stake mechanism and the underlying consensus algorithm entail a dynamic fault model that implies that the active validators (nodes that sign blocks) may change over time, and a quorum of these validators is assumed to be correct only for a limited period of time (called trusting period). The changes of the validator set are under control of the blockchain application, and are committed in every block. In order to check what is the state of the blockchain application at some height h, one needs to know the validator set at that height so that one can verify the corresponding digital signatures and hashes. A naive way of determining the validator set for height h requires one to: (i) download all blocks before h, (ii) verify blocks by checking digital signatures and hashes and (iii) execute the corresponding transactions so the changes in the validator sets are reproduced. This can potentially be very slow and computationally and data intensive. In this paper we formalize the dynamic fault model imposed by Tendermint, and describe a light client protocol that allows to check the state of the blockchain application that, in realistic settings, reduces significantly the amount of data needed to be downloaded, and the number of required computationally expensive signature verification operations. In addition to mathematical proofs, we have formalized the light client protocol in TLA+, and checked safety and liveness with the APALACHE model checker.

研究の動機と目的

  • Tendermintにおけるバリデーター集合の動的変更とバリデーターへの直接アクセス制限という課題に対処し、効率的なブロックチェーン状態の検証を実現すること。
  • 制限された環境(例:モバイルデバイス)に適した、データ転送量と高コストな署名検証を最小限に抑えたライトクライアントプロトコルの設計。
  • Tendermintの動的故障モデルを形式的にモデル化し、一時的なバリデーター集合の変更と時間経過に伴う信頼仮定を含めること。
  • TLA+とAPALACHEモデルチェッカーを用いた形式的検証により、ライトクライアントプロトコルの安全とライブネスを保証すること。
  • 同じ形式的フレームワーク内で、フォーク検出やバリデーターの責任追及といった将来的な拡張の基盤を提供すること。

提案手法

  • ブロックコミットをMerkleルートとバリデーター集合の変更を通じて連結する逐次検証メカニズムを採用し、1ブロックから次のブロックへと信頼を伝播可能にする。
  • バリデーター集合が変化しない間は複数ブロックを飛ばして検証できるスキッピング検証最適化を導入し、安定期間における検証ステップ数をO(n)からO(1)に削減する。
  • 暗号的証明に依存する:各ブロックには、現在のバリデーター集合における2/3以上の投票パワーを持つ署名付きコミットが含まれており、Merkleルートとハッシュチェーンを用いて検証可能である。
  • 動的故障モデルは、時間制限付きのQuorum正しさを持つ認証付きByzantineモデルとして形式化され、バリデーター集合はアプリケーション論理に従って進化する。
  • プロトコル全体がTLA+で形式的に指定されており、複雑な相互作用と故障シナリオの厳密なモデリングを可能にする。
  • 安全とライブネスの性質はAPALACHEモデルチェッカーを用いて形式的に検証され、最大7人のバリデーターまでの小規模システムで検証が実施された。

実験結果

リサーチクエスチョン

  • RQ1Tendermintブロックチェーンの状態を、すべての以前のブロックをダウンロードせずに効率的に検証する方法は何か?
  • RQ2TendermintのByzantine故障モデルにおける動的バリデーター集合の変更と信頼仮定を捉える形式的モデルは何か?
  • RQ3現実のネットワーク条件下でも、ライトクライアントプロトコルが安全(不正なブロックの受容を防ぐ)かつライブネス(最終的に同期化)を保証できるか?
  • RQ4特にByzantine故障と動的バリデーター集合を想定した状況下で、モデルチェックを用いた形式的検証により正しさを保証できるか?
  • RQ5バリデーター集合が安定している間、スキッピング検証によってどの程度のパフォーマンス向上が達成できるか?

主な発見

  • ライトクライアントプロトコルはTendermintセキュリティモデル下で安全を保証しており、悪意あるフルノードから問い合わせられても不正なブロックを受け入れない。
  • ライトクライアントが少なくとも1つの正常なフルノードと通信している限り、ライブネスが保証され、ブロックチェーンとの最終的な同期化が可能になる。
  • スキッピング検証最適化により、バリデーター集合が変化しない間は検証コストがO(n)からO(1)に削減され、パフォーマンスが顕著に向上する。
  • TLA+とAPALACHEによる形式的検証により、Byzantine動作やバリデーター集合の遷移を含むさまざまな故障シナリオでプロトコルの正しさが確認された。
  • 各ブロックのNextValidatorSetフィールドに依存することで、連続する集合間に空集合となる可能性がある場合でも、動的バリデーター集合の変更をサポートする。
  • モデルチェッカーは最大7人のバリデーターを持つシステムでプロトコルの検証に成功しており、任意のバリデーター数を想定したパrameterized検証へのスケーリング計画が立案されている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。