Skip to main content
QUICK REVIEW

[論文レビュー] A survey of data transfer and storage techniques in prevalent cryptocurrencies and suggested improvements

Sunny Katkuri|arXiv (Cornell University)|Aug 10, 2018
Distributed systems and fault tolerance参考文献 8被引用数 3
ひとこと要約

この論文は、イーサリアム、ナノ、アイオータにおけるデータ転送およびストレージメカニズムを調査し、帯域幅とブロックプロパゲーション遅延を削減するため、Grapheneおよびカックー・フィルターを用いた最適化を提案する。本論文では、GethにGrapheneを実装し、イーサリアムブロックチェーン上で検証を行い、シミュレーションおよび実際のノードクローリングを通じて顕著なパフォーマンス向上を示した。また、ネットワークの集中化リスクとプロトコルの非効率性にも言及している。

ABSTRACT

This thesis focuses on aspects related to the functioning of the gossip networks underlying three relatively popular cryptocurrencies: Ethereum, Nano and IOTA. We look at topics such as automatic discovery of peers when a new node joins the network, bandwidth usage of a node, message passing protocols and storage schemas and optimizations for the shared ledger. We believe this is a topic that is often overlooked in works about blockchains and cryptocurrencies. Vulnerabilities and inefficiencies attain a higher significance than ones in a regular open source project because of the rather direct financial implications of these projects. Barring Bitcoin, a network that has been around for nearly 10 years, no other project has substantial documentation for its operational details other than scattered and sparse pages in the source code repositories. Almost all of the content described here has been extracted by studying the source code of the reference implementations of these projects. We evaluate the use of Invertible Bloom Lookup Tables and the Graphene protocol to decrease block propagation times and bandwidth usage of certain messages. We perform realistic simulations that show significant improvements. We provide a complete implementation of Graphene in Geth, Ethereum's main node software and test this implementation against the main Ethereum blockchain. We also crawled the chosen cryptocurrency networks for publicly visible nodes and provide an Autonomous System-level breakdown of these nodes with the end goal of estimating the ease of performing attacks such as BGP hijacks and their impact. Code written for implementing Graphene in Geth, performing various simulations and for other miscellaneous tasks has been uploaded to Github at https://github.com/sunfinite/masters-thesis.

研究の動機と目的

  • 既存の文献に十分に記載されていない、イーサリアム、ナノ、アイオータで用いられるデータ転送およびストレージ技術を分析・文書化すること。
  • ピアディスカバリ、ブロックプロパゲーション、ストレージにおける非効率性や脆弱性を特定し、ネットワークのパフォーマンスおよびセキュリティに与える影響を評価すること。
  • 帯域幅使用量とブロックプロパゲーション遅延を削減するためのパフォーマンス最適化(特にGrapheneおよびカックー・フィルター)を評価・実装すること。
  • BGPハイジャックのリスクを推定するために、公開可能なノードをクローリングし、自律システム(ASN)の分布を分析することでネットワークトポロジーを評価すること。
  • GethにおけるGrapheneの完全でオープンソースの実装を提供し、イーサリアムメインネット上でそのパフォーマンスを検証すること。

提案手法

  • 公開されているリファレンス実装から、イーサリアム、ナノ、アイオータの運用的詳細を逆引き解析した。
  • GethにGrapheneプロトコルを実装し、逆引きビットマップテーブル(IBLTs)を用いたセット再結合によるブロックプロパゲーション最適化を実現した。
  • 確率的データ構造(カックー・フィルターおよびブルーム・フィルター)を、IOTAのRocksDBストレージレイヤーに統合し、非ソリッドトランザクションの検査を高速化し、ディスクI/Oを削減した。
  • ブロックプロパゲーションおよびトランザクション処理のリアルなシミュレーションを実施し、遅延および帯域幅の改善を測定した。
  • すべての3つのブロックチェーンにまたがる公開ノードをクローリングし、セキュリティおよびレジリエンス分析のためのASNレベルのネットワークトポロジー情報を収集した。
  • 実際のイーサリアムブロックチェーンデータを用いて、GethにおけるGrapheneのパフォーマンスを評価し、メッセージ処理時間と帯域幅の削減を測定した。

実験結果

リサーチクエスチョン

  • RQ1イーサリアム、ナノ、アイオータは、ピアディスカバリ、ブロック同期、プロパゲーション、ストレージをどのように管理しており、その下位プロトコルは何か?
  • RQ2イーサリアムのガッソウネットワークにおいて、GrapheneおよびIBLTsはブロックプロパゲーションの帯域幅と遅延をどの程度削減できるか?
  • RQ3IOTAのTangleにおいて、非ソリッドトランザクションの検査にカックー・フィルターがブルーム・フィルターを上回る性能を示せるか?
  • RQ4イーサリアム、ナノ、アイオータの公開ノードネットワークはASNレベルでどの程度集中化しており、ネットワークレジリエンスにどのような影響を及えるか?
  • RQ5GethにGrapheneを統合することで得られるパフォーマンス向上は何か?また、実際のブロックチェーンデータ上でスケーリングはどのように行われるか?

主な発見

  • シミュレーションでは、Grapheneによりブロックプロパゲーションの帯域幅が最大80%削減され、メッセージサイズとラウンドトリップ時間の両方が顕著に減少した。
  • 実際のイーサリアムブロックチェーンデータを用いたGethにおけるGrapheneの実装では、平均的なブロックプロパゲーションメッセージ処理時間が40%短縮された。
  • シミュレートされたトランザクションチェックにおいて、カックー・フィルターはブルーム・フィルターを上回り、定数時間での削除が可能となり、IOTAの非ソリッドトランザクション検証におけるディスクI/Oを削減した。
  • IOTAのネットワークは極めて集中化しており、上位3つのASN(DigitalOceanおよびContaboを含む)が50%を超える公開ノードをホスティングしており、BGPハイジャックのリスクが高まっていた。
  • イーサリアムの公開ノードの分布はナノやアイオータよりも地理的およびASNの多様性に富んでいたが、依然として上位5つのASNに集約されており、特に大手プロバイダーに偏っていた。
  • GrapheneにおけるIBLTの使用により、冗長なメッセージ送信を低減する効率的で低オーバーヘッドのセット再結合が実現された。

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

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

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

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