[論文レビュー] When Is Spring Coming? A Security Analysis of Avalanche Consensus
この論文は、Avalanche共有可能プロトコルの最初の形式的仕様およびセキュリティ分析を提供し、正直な参加者の投票行動における隠れた依存関係によって、攻撃者が投票依存攻撃を通じて取引を任意に遅延できる深刻なライブネス脆弱性を明らかにした。本論文は、これらの依存関係を解消することでライブネスを回復させつつ、セキュリティとレイテンシ・スループットを改善した、変更版プロトコルであるGlacierを提案する。
Avalanche is a blockchain consensus protocol with exceptionally low latency and high throughput. This has swiftly established the corresponding token as a top-tier cryptocurrency. Avalanche achieves such remarkable metrics by substituting proof of work with a random sampling mechanism. The protocol also differs from Bitcoin, Ethereum, and many others by forming a directed acyclic graph (DAG) instead of a chain. It does not totally order all transactions, establishes a partial order among them, and accepts transactions in the DAG that satisfy specific properties. Such parallelism is widely regarded as a technique that increases the efficiency of consensus. Despite its success, Avalanche consensus lacks a complete abstract specification and a matching formal analysis. To address this drawback, this work provides first a detailed formulation of Avalanche through pseudocode. This includes features that are omitted from the original whitepaper or are only vaguely explained in the documentation. Second, the paper gives an analysis of the formal properties fulfilled by Avalanche in the sense of a generic broadcast protocol that only orders related transactions. Last but not least, the analysis reveals a vulnerability that affects the liveness of the protocol. A possible solution that addresses the problem is also proposed.
研究の動機と目的
- オリジナルのホワイトペーパーに記載されていないか、曖昧に記述された部分を埋めるために、Avalanche共有可能プロトコルの完全で形式的な疑似コードによる仕様を提供すること。
- Avalancheが、整合性、部分順序、外部妥当性を含む、一般的ブロードキャストの主要な性質を満たしていることを形式的に検証すること。
- 正直な参加者の投票行動に隠れた依存関係が原因で生じる、Avalancheにおける深刻なライブネス脆弱性を特定および分析すること。
- 投票の依存関係を制限することで脆弱性を解消する、変更版プロトコルGlacierを提案し、形式的に検証すること。
- Glacierが、オリジナルのAvalanche設計よりもレイテンシやスループットといったパフォーマンス指標を維持または向上させることを実証すること。
提案手法
- 操作的なニュアンス(以前に文書化されていなかった動作を含む)をすべて捉えるために、詳細な疑似コードを用いてAvalancheプロトコルを形式化すること。
- 安全かつライブネスの性質に焦点を当て、取引の部分順序を考慮した一般ブロードキャストプリミティブとしてプロトコルをモデル化すること。
- 投票依存関係チェーンの分析を通じてライブネス欠陥を特定:子孫取引のクエリが失敗すると、その先祖の受容カウンタが間接的にリセットされ、戦略的なクエリ失敗によってサービス拒否攻撃が可能になる。
- 後続クエリからの投票受容を分離することで、関係のない障害によってカウンタがリセットされないよう、Glacierをプロトコルの変更として提案すること。
- Snowball共有可能プロトコルへの還元と形式的補題を用いて、Glacierが整合性、部分順序、外部妥当性、合意、妥当性を満たすことを証明すること。
- 期待受容レイテンシの解析的表現を用いて、AvalancheとGlacierのパフォーマンス特性を比較し、Glacierが低いまたは同等のレイテンシを達成することを示すこと。
実験結果
リサーチクエスチョン
- RQ1Avalanche共有可能プロトコルの完全かつ正確な動作ルールは何か? これは、オリジナルのホワイトペーパーに記載されていない動作を含む。
- RQ2Avalancheは、安全とライブネスの観点から、一般ブロードキャストプロトコルの形式的性質をどの程度満たしているか?
- RQ3Avalancheの投票メカニズムにどのような脆弱性があり、攻撃者が取引の受容を無期限に遅延できるのか?
- RQ4このライブネス脆弱性を解消するには、パフォーマンスや安全を損なわず、どのようにプロトコルを変更すればよいか?
- RQ5提案された変更、Glacierは、オリジナルのAvalancheプロトコルの低レイテンシおよび高スループット特性を維持または向上させるか?
主な発見
- オリジナルのAvalancheプロトコルには、1つの悪意ある参加者が、先祖と子孫取引間の投票の依存関係を悪用することで、標的取引の受容を遅延できる脆弱性が存在する。
- 攻撃が成功するのは、子孫取引のクエリが失敗した場合でも、その先祖の受容カウンタがリセットされるためである。これは、先祖自体のクエリが成功した場合でも同様に発生する。
- オリジナルのAvalancheプロトコルのカウンタリセットメカニズムは攻撃に利用可能である:ネットワークトポロジーの知識を持つ1人の悪意ある参加者により、繰り返しリセットが引き起こされ、受容が無期限に遅延される可能性がある。
- 提案されたGlacierプロトコルは、投票受容を子孫クエリから分離することで、これを防ぐ。これにより、関係のない障害によってカウンタがリセットされなくなる。
- Glacierはパフォーマンスを維持または向上させる:その受容カウンタは常にAvalancheのそれ以上であり、結果としてレイテンシは低いか同等、スループットは同等以上となる。
- 形式的証明により、敵がO(√n)の参加者を制御する状況下でも、Glacierが整合性、部分順序、外部妥当性、合意、妥当性のすべての一般ブロードキャストの性質を満たすことが示された。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。