[論文レビュー] Rainblock: Faster Transaction Processing in Public Blockchains
RainBlockは、I/Oをクリティカルパスから分離し、カスタムストレージ設計によるI/Oアンプリフィケーションの低減によって、パブリックブロックチェーンにおけるトランザクション処理を高速化する画期的なブロックチェーンアーキテクチャを提案する。DSM-Tree(分散型シャーデッドメルクルツリー)を導入することで、コンSENSUS やブロック作成レートを変更せずに、高スループットで安全かつスケーラブルなトランザクション実行を実現し、グローバル分散環境でのデプロイで1秒間に20,000件のトランザクションを達成した。
Public blockchains like Ethereum use Merkle trees to verify transactions received from untrusted servers before applying them to the blockchain. We empirically show that the low throughput of such blockchains is due to the I/O bottleneck associated with using Merkle trees for processing transactions. We present RAINBLOCK, a new architecture for public blockchains that increases throughput without affecting security. RAINBLOCK achieves this by tackling the I/O bottleneck on two fronts: first, decoupling transaction processing from I/O, and removing I/O from the critical path; second, reducing I/O amplification by customizing storage for blockchains. RAINBLOCK uses a novel variant of the Merkle tree, the Distributed Sharded Merkle tree (DSM-TREE) to store system state. We evaluate RAINBLOCK using workloads based on public Ethereum traces (including smart contracts) and show that RAINBLOCK processes 20K transactions per second in a geo-distributed setting with four regions spread across three continents.
研究の動機と目的
- EthereumのようなパブリックブロックチェーンにおけるI/Oボトルネックを解消し、高い計算能力にもかかわらずトランザクションスループットが制限される問題に対処すること。
- RocksDBを用いたメルクルツリー基盤のステートストレージにおけるランダムI/OおよびI/Oアンプリフィケーションが引き起こすパフォーマンス劣化を克服すること。
- ローカルI/Oからトランザクション処理を分離することで、セキュリティを損なわず並列処理を高め、スループットを向上させること。
- シャーディングをサポートするスケーラブルで安全かつ効率的なストレージ抽象化—DSM-Tree—を設計し、シャーディングされたステート上で高スループットのトランザクション実行を可能にすること。
- ブロック作成レートを増加させることなく、1ブロックあたりのトランザクションパッケージングを増やし、全体のブロックチェーンスループットを向上させつつ、分散性とセキュリティを維持すること。
提案手法
- マイナーがローカルディスクI/Oを伴わずにトランザクションを実行できるように、ステートアクセスをリモートのメモリ内ストレージノードにオフロードすることで、I/Oをクリティカルパスから分離する。
- ブロックチェーンワークロードに最適化された、I/Oアンプリフィケーションを低減したメルクルツリーのカスタム変種、Distributed, Sharded Merkle Tree(DSM-Tree)を導入する。
- システムステートを複数のリモートストレージノードにパーティション化するシャーディングストレージモデルを採用し、並列アクセスを可能にするとともに競合を低減する。
- 認証されたデータ構造を維持することで暗号的整合性を確保し、分散シャーディングを越えて証明がコンパクトかつ検証可能であることを保証する。
- マイナーがリモートストレージからステートを取得し、トランザクションを処理し、ストレージノードを非同期に更新する、ステートレス実行モデルを採用する。
- ブロック作成やコンセンサスロジックを変更しないことで、Nakamotoコンセンサスなどの既存のコンセンサスプロトコルとの互換性を維持し、バックワードセキュリティ保証を確保する。
実験結果
リサーチクエスチョン
- RQ1メルクルツリー基盤のブロックチェーンストレージにおけるI/Oボトルネックは、セキュリティや分散性を損なわず排除可能か?
- RQ2トランザクション処理のクリティカルパスからI/Oを分離することで、パブリックブロックチェーンにおけるトランザクションスループットはどの程度向上するか?
- RQ3カスタムでシャーディングされたメルクルツリー設計(DSM-Tree)は、I/Oアンプリフィケーションの低減と高スループットのトランザクション実行にどの程度有効か?
- RQ4グローバル分散環境へのスケーリングにおいて、低レイテンシと高スループットを維持できるか?
- RQ5新しいストレージおよび実行モデル下でも、強力なセキュリティ保証(例:改ざん不能性、真正性)を維持できるか?
主な発見
- RainBlockは、3大陸にまたがる4地域のグローバル分散環境で、実際のEthereumワークロードを用いて、1秒間に20,000件のトランザクション処理を達成した。
- EthereumのRocksDBベースのメルクルツリーと比較して、I/Oアンプリフィケーションを10倍以上低減し、1ブロックあたりのランダムI/O操作を10,000件を超えるものから著しく削減した。
- ローカルI/Oをクリティカルパスから排除することで、RainBlockはより高い並列性を実現し、トランザクション実行におけるI/Oボトルネックを完全に解消した。
- DSM-Tree設計は、最小限の証明サイズと低レイテンシを実現しながら、シャーディングされたブロックチェーンステートへの効率的でスケーラブルかつ認証可能なアクセスを可能にした。
- このアーキテクチャは強力なセキュリティ保証を維持しており、Nakamotoコンセンサスなどの既存のコンセンサスプロトコルと完全に互換性があり、ブロック作成レートを変更せずに運用可能である。
- プロトタイプ実装は、ブロックチェーン自体をシャーディングせずとも高スループットを達成可能であることを示しており、グローバル一貫性と監査可能性を保持している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。