Skip to main content
QUICK REVIEW

[論文レビュー] A general framework for blockchain analytics

Massimo Bartoletti, Andrea Bracciali|arXiv (Cornell University)|Jan 1, 2017
Blockchain Technology Applications and Security参考文献 17被引用数 10
ひとこと要約

この論文では、BitcoinとEthereumのデータを外部データソースと統合し、SQLまたはNoSQLデータベースに格納することで、柔軟で再利用可能でスケーラブルな分析を可能にする、汎用的でオープンソースのScalaライブラリフレームワークを提示する。主な貢献は、多様なユースケースをサポートし、表現力と保守性において一時的なツールを上回る、モジュラーで拡張可能な抽象化レイヤーである。

ABSTRACT

Modern cryptocurrencies exploit decentralised blockchains to record a public and unalterable history of transactions. Besides transactions, further information is stored for different, and often undisclosed, purposes, making the blockchains a rich and increasingly growing source of valuable information, in part of difficult interpretation. Many data analytics have been developed, mostly based on specifically designed and ad-hoc engineered approaches. We propose a general-purpose framework, seamlessly supporting data analytics on both Bitcoin and Ethereum - currently the two most prominent cryptocurrencies. Such a framework allows us to integrate relevant blockchain data with data from other sources, and to organise them in a database, either SQL or NoSQL. Our framework is released as an open-source Scala library. We illustrate the distinguishing features of our approach on a set of significant use cases, which allow us to empirically compare ours to other competing proposals, and evaluate the impact of the database choice on scalability.

研究の動機と目的

  • 内部のブロックチェーンデータと外部データを統合する再利用可能で汎用的なツールの不足に対処する。
  • 機能の重複と拡張性の欠如を抱える一時的な分析ツールの制限を克服する。
  • BitcoinとEthereumを両方サポートする統一的でモジュラーなフレームワークを提供し、柔軟なデータベースバックエンド(SQLおよびNoSQL)をサポートする。
  • 研究者が標準クエリ言語とコミュニティ主導の開発を用いて、分析を構築・検証・拡張できるようにする。
  • ブロックチェーン分析ワークロードにおけるSQLとNoSQLデータベースの間のパフォーマンストレードオフを評価する。

提案手法

  • 2段階のワークフローを設計する:(1) ブロックチェーンの生データを受信し、外部データ(例:為替レート、アドレスタグ、メタデータ)で拡張することで統一されたブロックチェーンビューを構築する。 (2) そのビューをSQLまたはNoSQLデータベースに格納する。
  • BitcoinおよびEthereumの両方をサポートするドメイン固有のScalaライブラリを実装し、ブロックチェーンデータのパースと外部データ統合を抽象化する。
  • プラグイン可能なモジュールを介して、スキーマの拡張性と外部リソース(例:ブロックチェーンエクスプローラー、API、フォーラム)への動的リンクをサポートする。
  • 標準のSQLまたはNoSQLクエリ言語(例:MySQL、MongoDB)を用いて分析を実行し、低レベルプログラミングを回避して複雑なクエリを可能にする。
  • メモリ内処理ではなくディスクベースのストレージを採用することで、コンsumerハードウェアでも実行可能にし、アクセシビリティを向上させる。
  • パフォーマンスの異なるデータベースバックエンドを対象とした、実装例を含むオープンソースリリースを提供する。

実験結果

リサーチクエスチョン

  • RQ1汎用的で合成可能なフレームワークは、現在一時的で再利用不可のツールに依存している多様なブロックチェーン分析タスクを統合できるか?
  • RQ2外部データ(例:為替レート、アドレスタグ)の統合は、ブロックチェーン分析の表現力とスケーラビリティにどのように影響するか?
  • RQ3SQLとNoSQLデータベースは、ブロックチェーン分析ビューの格納とクエリ処理において、どのようなパフォーマンス特性を示すか?
  • RQ4柔軟性、保守性、拡張性の観点から、既存のツールに比べてこのフレームワークはどの程度優れているか?
  • RQ5トランザクション手数料分析、メタデータ追跡、アドレスタグ付けといった実世界のユースケースを、同等またはそれ以上のパフォーマンスでサポートできるか?

主な発見

  • フレームワークにより、テキストベースのスクリプト表現と外部データの統合のおかげで、ネイティブのBitcoinブロックチェーンの2倍以上のサイズのブロックチェーンビューが構築可能である。
  • SQLおよびNoSQLデータベースにおけるクエリパフォーマンスは実行時間の観点で同等であり、SQLの主なパフォーマンスボトルネックは複雑なジョイン操作に起因する。
  • NoSQLアプローチはスキーマレスな性質のおかげで、Scalaスクリプトの記述を簡素化し、ボilerplateコードを削減し、開発のアジリティを向上させる。
  • フレームワークはメタデータ分析、為替レート追跡、トランザクション手数料、アドレスタグ付けといった幅広いユースケースをサポートし、その汎用性と再利用可能性を実証している。
  • BlockSci や blockparser のようなRAMベースのツールとは異なり、ディスクベースのアプローチにより、コンsumerグレードのハードウェアでも実行可能となり、アクセシビリティが向上した。
  • 許可が緩いライセンスの下でのオープンソースリリースにより、コミュニティによる検証・拡張・長期的な保守性が促進され、特許権やモノリシックツールの主な限界を克服した。

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

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

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

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