[論文レビュー] CloudChain: A Cloud Blockchain Using Shared Memory Consensus and RDMA
CloudChain は、RDMA を用いた共有メモリ通信を活用することで、許可型クラウド環境における低遅延合意形成を実現する、高性能でクラウドネイティブなブロックチェーンを提案する。従来のメッセージ渡しを置き換えることで、OS カーネルのバッファリングや遅延を回避し、直接メモリアクセスを可能にした。その結果、8 MB ブロックで最大 6,347 TPS まで達し、1 秒未満のブロック確認時間を達成した。また、Byzantine 故障に対しても永続性と活性性を維持した。
Blockchain technologies can enable secure computing environments among mistrusting parties. Permissioned blockchains are particularly enlightened by companies, enterprises, and government agencies due to their efficiency, customizability, and governance-friendly features. Obviously, seamlessly fusing blockchain and cloud computing can significantly benefit permissioned blockchains; nevertheless, most blockchains implemented on clouds are originally designed for loosely-coupled networks where nodes communicate asynchronously, failing to take advantages of the closely-coupled nature of cloud servers. In this paper, we propose an innovative cloud-oriented blockchain -- CloudChain, which is a modularized three-layer system composed of the network layer, consensus layer, and blockchain layer. CloudChain is based on a shared-memory model where nodes communicate synchronously by direct memory accesses. We realize the shared-memory model with the Remote Direct Memory Access technology, based on which we propose a shared-memory consensus algorithm to ensure presistence and liveness, the two crucial blockchain security properties countering Byzantine nodes. We also implement a CloudChain prototype based on a RoCEv2-based testbed to experimentally validate our design, and the results verify the feasibility and efficiency of CloudChain.
研究の動機と目的
- 密結合なクラウド環境における従来のブロックチェーンの非効率性を、RDMA や共有メモリといったクラウドネイティブ機能を活用することで解消すること。
- クラウドベースの同期ネットワーク環境において、Byzantine ノードが存在する状況でも永続性と活性性を保証する合意プロトコルの設計。
- OS カーネルのボトルネックを回避するため、RDMA を用いてカーネルをバイパスし、直接メモリアクセスを可能にする。
- 従来のメッセージ渡しブロックチェーンよりも遅延とスルーレートで優れた、クラウド最適化ブロックチェーンシステムのプロトタイプ開発と評価。
- ブロックチェーンをクラウドインフラと深く統合することで、分散性やセキュリティを損なわず、高パフォーマンスを実現できることの実証。
提案手法
- CloudChain は、ネットワーク層、合意層、ブロックチェーン層の 3 層構造を採用し、異なるデバイス能力を持つ多様なクライアントをサポートするモジュラーなアーキテクチャを採用している。
- RDMA を用いた共有メモリ通信モデルを実装し、ノード間で同期的かつ低遅延な通信を実現。OS カーネルをバイパスすることで、通信の高速化を実現している。
- 共有メモリ合意アルゴリズム(SMCA)は、共有メモリ上でのリーダー主導型の投票メカニズムを用い、Byzantine 条件下でも永続性と活性性を保証するように設計されている。
- SMCA は、RDMA を活用して高速かつ信頼性の高い通信と調整を実現し、ノード間でのブロック順序付けと検証を迅速に処理できる。
- RoCEv2 ベースのテストベッド上で複数のサーバーを用い、RDMA 対応 NIC を使用することで、最大 400 Gb/s の帯域幅と低遅延を達成した。
- パフォーマンス評価では、ネットワークサイズ(5〜15 ノード)とブロックサイズ(2〜8 MB)を変化させた実世界のワークロードを用い、遅延、スルーレート、耐故障性を測定した。
実験結果
リサーチクエスチョン
- RQ1低遅延で同期的な通信をサポートする密結合なクラウドベースの環境において、ブロックチェーン合意形成をどのように最適化できるか?
- RQ2RDMA を用いた共有メモリが、従来のメッセージ渡しを置き換えることで、ブロックチェーン合意形成における遅延低減とスルーレート向上を達成できるか?
- RQ3共有メモリ合意アルゴリズム(SMCA)は、クラウド環境下で Byzantine 条件下でも、どの程度の永続性と活性性を維持できるか?
- RQ4ネットワークサイズとブロックサイズは、CloudChain のようなクラウド最適化ブロックチェーンの遅延とスルーレートにどのように影響を与えるか?
- RQ5クラウドネイティブなブロックチェーンは、分散性や Byzantine 攻撃に対するセキュリティを損なわず、高パフォーマンスを達成できるか?
主な発見
- 15 ノードで 2 MB ブロックを処理した場合、CloudChain は約 992.277 ms のブロック確認遅延を達成し、大規模ネットワークにおけるスケーラビリティを示した。
- ネットワークサイズが 5 から 15 ノードに増加した際、投票スキャンとチャネル競合の増加により、スルーレートは 5,379 TPS から 3,628 TPS に低下した。
- 8 MB ブロックサイズの場合、CloudChain は 4,512.822 ms の遅延と 6,347 TPS のスルーレートを達成し、大きなブロックサイズが伝送遅延を増加させずにスルーレートを向上させることを示した。
- 2 MB ブロックの場合、CloudChain は 4,404 TPS のスルーレートと 1,649.237 ms の検証遅延を達成し、従来のブロックチェーンよりも顕著にパフォーマンスが優れていた。
- リーダーが誠実な場合、Byzantine 比率(6.25% から 37.50%)が変化しても合意遅延はほぼ一定(約 60〜360 ms)を保ち、Byzantine ノードに対して高い耐性を示した。
- プロトタイプは、RDMA を用いた共有メモリが 1 秒未満のブロック確認時間を実現し、効率的なノード間通信を可能にすることを実証した。設計の実現可能性が裏付けられた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。