ビットコイン取引分析のための包括的なデータセット
新しいデータセットORBITAALは、2009年から2021年までのビットコイン取引を詳しく見せてくれるよ。
Célestin Coquidé, Rémy Cazabet
― 1 分で読む
目次
ビットコインの取引に関する研究は、経済学やネットワーク研究で人気だね。ビットコインは、誰でも取引の詳細を見られるシステムで動いてるけど、その生のブロックチェーンデータを有用な情報に変えるのはビットコインの複雑なルールやデータの大きさのせいで難しいんだ。研究者を助けるために、ORBITAALっていう新しいデータセットを紹介するよ。これは、時系列グラフという形式を使ってビットコインの取引を整理したもので、2009年1月から2021年1月までのすべてのビットコイン取引が含まれていて、時間をかけてこれらの取引を研究するのにわかりやすい方法を提供する。
背景
ビットコインは、広く知られている最初の暗号通貨で、2008年にサトシ・ナカモトって名前の個人またはグループが提案したんだ。彼らはその仕組みを説明する論文を書いたんだよ。銀行とは違って、過去のビットコイン取引は全てブロックチェーンに記録されているから、誰でも見ることができるんだ。2009年1月の最初のビットコイン取引以来、人々はそれを投資や商品・サービスの取引手段として見るようになって、ビットコインへの関心が高まってる。ユーザーは公的鍵と私的鍵のペアを使って取引を行い、一定の匿名性を提供するんだ。この匿名性は詐欺を働こうとする人たちを引き寄せることもある。
ビットコインの取引をネットワークで表現するのは理にかなってるように思えるけど、実際には簡単じゃない。各取引には多くの入力と出力があって、それを複雑なウェブとして考える必要があるんだ。それは、Directed and Weighted Hypergraphって呼ばれるものだよ。このネットワークのノードはビットコインアドレスを表していて、ビットコインユーザーとは同じじゃない。研究者たちは通常、1人のユーザーのために複数のアドレスを統合するために色々な方法を使わなきゃならないんだ。
現時点では、グラフ分析に焦点を当てている研究者向けの完全なビットコインデータセットは存在しない。既存のデータセットは多くの場合、サンプルや生データしか含んでなくて、使うためにはかなりの処理が必要なんだ。例えば、Kondorらのデータセットには詳しい情報があるけど、データを効果的に使うには技術的な変更が必要だし、Ellipticのデータセットは機械学習の研究で人気だけど、全体のビットコイン取引のごく一部しか含まれてない。研究者たちはビットコインデータを抽出するためにソフトウェアを使うことが多いけど、これにも有用なネットワークを作るためのさらなる処理が必要だよ。
ビットコイン取引を分析するための完全なデータセットがあれば、研究者は暗号通貨だけでなく、ユーザー間の経済関係も理解できるようになる。取引やユーザーが多いおかげで、ビットコインは動的グラフ構造を研究するのに適した題材なんだ。これにより、大規模データ分析への貴重な洞察が得られる。
この包括的なデータセットのニーズに応えるために、ORBITAAL(cOmpRehensive BItcoin daTaset for temorAl grAph anaLysis)を提案するよ。これはビットコインの深い知識がなくても簡単に分析できるように設計されていて、2009年から2021年までの取引を含む、13年のビットコインの歴史をキャッチしてる。ORBITAALは、ストリームグラフと異なる時間枠で撮られた様々なスナップショットの2種類の時系列グラフ表現を提供するよ-年単位、月単位、日単位、時間単位のものだ。取引は、日々の為替レートに基づいてビットコインと米ドルの値で記録されているし、ユーザーの合計ビットコイン残高や公共アドレスの詳細も含まれてる。
データ収集
データ収集プロセスは、完全なビットコインブロックチェーンをダウンロードすることから始まる。これにはビットコインコアソフトウェアをインストールしてブロックチェーンと同期する必要があるんだ。ダウンロード時には、このデータは約207GBだった。次に、生データを元のバイナリ形式から読みやすい形式に変換しなきゃならない。PythonライブラリのBitcoin-etlを使ってデータをJSON形式に変換して、データセットのサイズを1.6TBに拡大したよ。
次のステップでは、各取引の入力に責任を持つビットコインアドレスの情報を追加した。ビットコインでは、各入力は前の取引の出力から来ていて、誰が支払いを送ったのかを知る必要があったんだ。これが、ユーザーの活動を正確に表現するために重要だった。
ビットコインユーザーのグルーピング
たくさんのアドレスがビットコイン取引に関係している中で、ユーザーを特定する必要があった。そこで、一般的な手法であるコモン・インプット・ヒューリスティックを使用した。この方法では、各アドレスをノードとしたグラフを作るんだ。取引ごとに入力アドレスをエッジで接続して、同じユーザーに属していると仮定される接続アドレスのクラスターを特定するんだ。
この方法は効果的だけど、限界があって慎重に解釈しなきゃいけない。私たちはWalletExplorerってサイトも使って、ビットコインアドレスを実際のユーザーに結びつけて、データセットを改善した。これにより、360のユーザーアイデンティティを特定できたよ。取引所やマイニングプラットフォーム、ギャンブルサイトを含む、そして同じユーザーに属していることが知られているアドレスのクラスターを統合する助けにもなった。
アドレスをグループ化した後は、各ビットコイン取引が1対1または1対多で分析しやすくなった。つまり、ビットコインユーザーが他のユーザーにお金を送るとき、これらの取引をよりシンプルに扱うんだ。転送された合計額は変わらないけど、個々のアドレスの詳細は失われるかもしれない。この結果、一部の情報が失われるけど、データがクリーンで分析しやすくなると思ってる。
マイニング取引の含め方
マイナーは、取引を検証してブロックチェーンに追加する重要な役割を果たしてる。彼らは取引のブロックを成功裏に追加すると、新しいビットコインの報酬を得るんだ。それに加えて、マイナーはユーザーから取引手数料を受け取る。ビットコインシステムは、一度に処理できる取引の数を制限しているから、この手数料の構造はユーザーがマイナーに自分の取引を優先させるためにお金を払うことを促してる。
私たちのデータセットにこれらのマイナー取引を表現するために、マイナーノードっていう特別なノードを含めたよ。このノードは、マイナーが受け取る報酬と集める手数料を追跡するんだ。
ユーザー取引のデータセットを確立した後、これをストリームグラフとスナップショットの2つの標準形式に変換した。
ストリームグラフの構築
ストリームグラフ形式は、2018年に研究者が導入したもので、ユーザー間の支払いのような相互作用を表現するのに最適だよ。ストリームグラフは、取引が発生した特定の時間に基づいてる。このグラフは、取引に関与するユーザー、各取引の具体的な時間、交換されたビットコインの量を表示するんだ。ストリームグラフには、取引手数料とマイニング報酬を追跡する専用のマイナーノードも含まれてる。
ストリームグラフの粒度のおかげで、数分ごとなど短い期間のビットコイン取引を詳細に分析できる。
スナップショットの作成
ストリームグラフはビットコインデータを提示する自然な方法だけど、多くの研究者はスナップショット-特定の時点でのビットコインネットワークの状態を示す静的グラフを好むんだ。この需要に応えるために、私たちは設定された時間枠のデータを集約したスナップショット表現も提供しているよ。
各スナップショットは特定の期間を表していて、その期間にアクティブだったユーザーや、取引を示す方向性のあるリンクが含まれてる。このリンクの重みは、その期間に交換されたビットコインの合計を示してる。年単位から時間単位まで、様々な詳細レベルのスナップショットを提供してるよ。
追加のユーザー情報
ネットワーク表現に加えて、ユーザーに関する貴重な情報も含めた。ビットコインには正式な登録や削除がないから、ユーザーは取引活動に基づいて出入りしてる。各ユーザーについて、最初の取引から最後の取引またはデータセット期間の終わりまでの活動期間を提供した。ユーザーの関連公共アドレスのリストや、利用可能な場合のアイデンティティ、最終的なビットコイン残高も含まれてる。
ORBITAALデータセットへのアクセス
ORBITAALデータセットは公開されていて、無料の研究データリポジトリZenodoで見つけられるよ。データセットにはいくつかのファイルが含まれてる:
- orbitaal-stream graph.tar.gz: ストリームグラフ表現を含む、年単位のファイルに分かれてる。
- orbitaal-snapshot-all.tar.gz: すべてのデータを統合した静的グラフ。
- orbitaal-snapshot-year.tar.gz, orbitaal-snapshot-month.tar.gz, orbitaal-snapshot-day.tar.gz, orbitaal-snapshot-hour.tar.gz: 年、月、日、時間ごとに集約されたスナップショットを含む。
- orbitaal-nodetable.tar.gz: ユーザーの詳細、例えば推定寿命、最終残高、ビットコインアドレスのリストを含む。
データセットは.parquet形式で保存されていて、データ管理に効率的で、全てを読み込むことなく特定のデータ列にすぐにアクセスできるよ。
データセットの検証
データの正確性を確保するために、ORBITAALの主な統計を信頼できる外部ソースと比較するいくつかのチェックを行った。人気のある暗号通貨エクスプローラーと比較して、総日次取引手数料、総ビットコイン出力、および異なる取引の数を確認した結果、ORBITAALは参考データに非常に似ていることが確認できた。この検証プロセスは、私たちのデータセットが重要なビットコイン取引の側面を大きな情報の損失なくキャッチしていることを示したんだ。
ビットコイン取引グラフの分析
ORBITAALデータセットは、ビットコインの活動が時間と共にどのように変化しているかを分析するために設計されていて、その取引ネットワークを調べるんだ。この分析は、ストリームグラフとスナップショットの両方を使って行って、ビットコインの使用法がどのように進化しているかの洞察を得ることができるよ。
分析のための主な指標
ノード貢献度: この指標は、記録された全取引の総期間に対するユーザーの活動を評価するのに役立つ。
ノード度: この文脈では、ノード度はネットワーク内でのユーザーの接続性を測定して、送信または受信に関与している取引の数を示す。
強く接続された成分(SCC): この指標は、取引を通じて互いにリーチできるユーザーのグループを特定する。最大のSCCを分析することで、ネットワークの成長や接続性についての洞察が得られる。
直径と平均最短経路: これらの指標は、ネットワーク内のユーザー間の典型的な距離を示して、取引がシステム内でどれだけ早くまたは遅く広がるかを示してる。
ユーザー活動に関する観察
データセットを使えば、ビットコインの使用パターンを観察することができる。ほとんどのユーザーはビットコインを手に入れたらすぐに使ってしまう傾向があって、そのためにユーザーの早い段階での死亡率が高くなる。特定の期間中には活動の大きな変化が見られ、外部要因がビットコイン取引に影響を与えていることを示唆しているよ。
ORBITAALのデータの利用
ORBITAALデータセットを利用するには、研究者はPandasやPysparkなどの一般的なPythonパッケージを使ってデータを読み込むことができる。提供されたReadmeファイルには、研究者が始めるのを助けるための簡単なガイドラインが含まれてるよ。
結論
ORBITAALデータセットは、13年間のビットコイン取引の包括的なビューを提供する。分析しやすいように構造化されていて、ビットコインの経済ネットワークを研究するのに貴重なリソースなんだ。研究者は、広範な事前知識がなくてもデータを分析できるし、データセットはさまざまな形の時系列グラフ分析を可能にする。ORBITAALは、ビットコインの使用の複雑なダイナミクスや、暗号通貨市場や一般的な経済行動への影響を理解する新しい道を開いてくれるよ。
タイトル: ORBITAAL: A Temporal Graph Dataset of Bitcoin Entity-Entity Transactions
概要: Research on Bitcoin (BTC) transactions is a matter of interest for both economic and network science fields. Although this cryptocurrency is based on a decentralized system, making transaction details freely accessible, making raw blockchain data analyzable is not straightforward due to the Bitcoin protocol specificity and data richness. To address the need for an accessible dataset, we present ORBITAAL, the first comprehensive dataset based on temporal graph formalism. The dataset covers all Bitcoin transactions from January 2009 to January 2021. ORBITAAL provides temporal graph representations of entity-entity transaction networks, snapshots and stream graph. Each transaction value is given in Bitcoin and US dollar regarding daily-based conversion rate. This dataset also provides details on entities such as their global BTC balance and associated public addresses.
著者: Célestin Coquidé, Rémy Cazabet
最終更新: 2024-08-26 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2408.14147
ソースPDF: https://arxiv.org/pdf/2408.14147
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- https://github.com/blockchain-etl/bitcoin-etl
- https://doi.org/10.5281/zenodo.12581515
- https://doi.org/10.5061/dryad.qz612jmcf
- https://www.elliptic.co/
- https://doi.org/10.1145/3487351.3488326
- https://dl.acm.org/doi/10.5555/3489212.3489365
- https://doi.org/10.1038/s41597-022-01254-0
- https://www.blockchain.com/fr/
- https://coinmetrics.io/
- https://doi.org/10.1007/s13278-018-0537-7
- https://doi.org/10.1109/UIC-ATC-ScalCom-CBDCom-IoP-SmartWorld.2016.0071
- https://doi.org/10.1017/nws.2016.20
- https://doi.org/10.1093/cybsec/tyx007
- https://www.walletexplorer.com/
- https://pypi.org/project/pandas/
- https://github.com/apache/spark
- https://doi.org/10.1145/2898361
- https://www.raphtory.com/