[論文レビュー] Flow: Separating Consensus and Compute -- Block Formation and Execution
本論文は、異種のノードに特化した役割を割り当てることで、取引順序の合意形成と取引実行を分離する、パイプライン処理型ブロックチェーンアーキテクチャ「Flow」を提案する。コンセンサスと計算を分離することにより、誤動作に対する検証実行とスラッシュメカニズムを用いることで、強力な安全性和およびライブネス保証を維持しながら、均質的ブロックチェーンと比較して56倍のスループット向上を達成する。
Most current blockchains require all full nodes to execute all tasks limits the throughput of existing blockchains, which are well documented and among the most significant hurdles for the widespread adoption of decentralized technology. This paper extends out presentation of Flow, a pipelined blockchain architecture, which separates the process of consensus on the transaction order from transaction computation. As we experimentally showed in our previous white paper, our architecture provides a significant throughput improvement while preserving the security of the system. Flow exploits the heterogeneity offered by the nodes, in terms of bandwidth, storage, and computational capacity, and defines the roles for the nodes based on their tasks in the pipeline, i.e., Collector, Consensus, Execution, and Verification. While transaction collection from the user agents is completed through the bandwidth-optimized Collector Nodes, the execution of them is done by the compute-optimized Execution Nodes. Checking the execution result is then distributed among a more extensive set of Verification Nodes, which confirm the result is correct in a distributed and parallel manner. In contrast to more traditional blockchain architectures, Flow's Consensus Nodes do not execute the transaction. Instead, Verification Nodes report observed faulty executions to the Consensus Nodes, which adjudicate the received challenges and slash malicious actors. In this paper, we detail the lifecycle of the transactions from the submission to the system until they are getting executed. The paper covers the Collector, Consensus, and Execution role. We provide a protocol specification of collecting the transactions, forming a block, and executing the resulting block. Moreover, we elaborate on the safety and liveness of the system concerning these processes.
研究の動機と目的
- すべてのフルノードが合意形成、実行、取引収集を実行することを要件としている従来のブロックチェーンにおけるスループットのボトル neck を解消すること。
- 帯域幅、ストレージ、計算能力の差異を活用することで、高スループットなブロックチェーンスケーリングを実現すること。
- 主観的(合意形成依存)と客観的(決定論的)な処理を分離することで、システムのセキュリティおよび分散性を維持すること。
- 検証可能な実行とスラッシュチャレンジを用いて、悪意ある行動の検出可能性と耐障害性を確保すること。
- 分散型検証と合意形成の仲裁を活用することで、Byzantineノードが存在する状況でもライブネスと安全성을達成すること。
提案手法
- 異なる役割を割り当てる:収集ノード(Collector Nodes)は帯域幅最適化された通信により取引収集を担当する。合意形成ノード(Consensus Nodes)は取引を実行せずにブロック順序を確定する。
- 実行ノード(Execution Nodes)は並列に決定論的な取引実行を実行し、暗号的証明(SPoCK)を添付した実行レシートを生成する。
- 検証ノード(Verification Nodes)は、実行トレースのランダムに抽出されたチャンクを検証することで、分散的かつ並列的に実行結果を検証する。
- ブロック確定にはHotStuffベースの合意形成を用い、合意形成ノードは検証者からのスラッシュチャレンジを仲裁する。
- ノード選定とブロック形成の予測可能性を防ぐために、分散型ランダムビーコン(DRB)を導入する。
- 各ブロックをチャンクに分割するチャンク化実行モデルを採用し、実行トレースを暗号的にコミットし、段階的に検証する。
実験結果
リサーチクエスチョン
- RQ1コンセンサスと実行を分離することで、セキュリティおよび分散性を維持したまま、著しく高いスループットを達成できるか?
- RQ2帯域幅、計算能力、ストレージの差異を有するノードの能力を、安全かつスケーラブルなブロックチェーンアーキテクチャで効果的に活用できるか?
- RQ3少数の専用実行ノードが実行を担当し、多数の検証ノードが検証を行う場合、安全性和およびライブネスを保証するメカニズムは何か?
- RQ4誤動作した実行結果を高い確率で検出し、効果的にスラッシュできる仕組みは何か?
- RQ5分散型ランダムビーコンは、ブロック形成プロセスのセキュリティを高め、悪意ある操作を防ぐ役割を果たすか?
主な発見
- Flowは、コンセンサスと実行のワークロードを分離することで、均質的ブロックチェーンアーキテクチャと比較して56倍のスループット向上を達成する。
- システムは強力な安全성을維持する:最大n−1個のByzantine実行ノードが存在しても、誤動作した実行結果が封印される確率は1−ε以下であり、調整されたシステムパラメータではε≤10−12となる。
- 少なくとも1つの誠実な実行ノードが利用可能であればライブネスが保証され、実行レシートが最終的に生成される。
- 誤動作した計算結果は検証ノードによってほぼ確実に検出され、悪意ある参加者に対する効果的なスラッシュが可能になる。
- Byzantineクラスタは検出可能性と帰属可能性によって緩和される:誤動作した収集ノードはスラッシュされ、欠落した収集は仲裁のためのチャレンジを引き起こす。
- SPoCK(特化型機密知識証明)の使用により、最小限の信頼仮定で効率的で検証可能かつ責任追及可能な実行が可能になる。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。