ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019

00766b8e1f9c2665cf7fd29f9cf558df?s=47 odanado
September 16, 2019

ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019

00766b8e1f9c2665cf7fd29f9cf558df?s=128

odanado

September 16, 2019
Tweet

Transcript

  1. ブロックチェーンアプリの
 トランザクションに
 対するデータ分析
 1
 @odan3240


  2. 自己紹介
 2


  3. 自己紹介
 • Twitter: @odan3240
 • ソフトウェアエンジニア
 
 • 会社: モバイルファクトリー


    ◦ チーム: ブロックチェーンチーム
 3

  4. 自己紹介
 • PyCon JP 参加 2回目
 4


  5. 目次
 • 発表の概要
 • ブロックチェーン (Ethereum) とは
 • NFT /

    NFT ゲーム とは
 • 本題
 ◦ 方法
 ◦ 分析例
 5

  6. 発表の概要
 6


  7. 発表の概要
 • 2018年はブロックチェーンを用いた
 アプリ/ゲームが数多くリリースされた
 • ブロックチェーン上のデータは基本的にパブリック
 
 • 普通のゲームは内部の取引は非公開
 •

    パブリックに公開されているデータに対して
 BigQuery を用いて集計処理を行っているところを
 伝えられると嬉しい
 7

  8. Ethereum とは
 8


  9. Ethereum とは
 • ブロックチェーンの1つ
 ◦ Bitcoin などと同じく仮想通貨を持ち流通している
 
 • ブロックチェーンアプリのプラットフォーム


    ◦ ブロックチェーン上にプログラムをデプロイできる
 ▪ AWS Lambda に関数をデプロイするイメージ
 ▪ 改ざんされない永続化 KVS 付き
 9

  10. Ethereum とは
 • コントラクト
 ◦ ブロックチェーン上にデプロイされたプログラム
 • トランザクション
 ◦ コントラクト上の関数呼び出し


    • ブロック
 ◦ 約15秒間隔の世界中のトランザクションの集まり
 • ノード
 ◦ トランザクションを集めてブロックを作る
 ◦ 世界中に存在して P2P で同期している
 • ユーザー
 ◦ 普通の一般人
 ◦ 固有の秘密鍵を持つ
 10

  11. Ethereum とは
 • Ethereum を利用する流れ
 ◦ ユーザーはトランザクションに対して秘密鍵で署名
 ◦ ユーザーはトランザクションをノードに送信
 ◦

    ノードはトランザクションを
 他のノードにブロードキャスト
 ◦ ノードはブロックを生成
 • 特徴
 ◦ 誰がどのトランザクションをいつ実行したかわかる
 11

  12. NFT とは
 12


  13. NFT とは
 • Non-Fungible Token = 代替不可能なトークン
 • お金は Fungible

    (代替可能)
 ◦ Alice が持つ 100円 と Bob が持つ 100円は同じ
 
 
 
 13

  14. NFT とは
 • NFT の使われ方
 ◦ ユーザーの一部アイテムの所有権の情報を
 ブロックチェーンに記録
 • NFT

    の取引
 ◦ 運営からの購入
 ◦ ユーザー間での売買
 
 • NFT の取引も誰がいつ何を行ったかがわかる
 
 14

  15. 本題
 15


  16. ブロックチェーンアプリのデータ分析
 • ブロックチェーンアプリの特徴
 ◦ 「誰がどのトランザクションをいつ実行したかわかる」
 ◦ 「ゲームアイテム (NFT) の取引内容がパブリック」
 


    • 第三者が分析や検証することが可能
 ◦ 普通のアプリだと運営かアプリの
 プラットフォーマーしかできないこと
 16

  17. 方法
 • BigQuery の Public Dataset 上に
 Ethereum の トランザクションの情報が公開

    されている
 ◦ https://cloud.google.com/blog/products/data-analytics/ether eum-bigquery-public-dataset-smart-contract-analytics
 ◦ https://github.com/blockchain-etl/ethereum-etl
 
 17

  18. 方法
 • データのスキーマ
 18


  19. 方法
 19


  20. 分析例
 20


  21. 各月ごとのトランザクション数
 • Ethereum 全体のトランザクション数
 21


  22. 各月ごとのトランザクション数
 22


  23. 各月ごとのトランザクション数
 23


  24. NFT の取引数
 24


  25. NFT の取引数
 25


  26. NFT の取引数
 26


  27. まとめ
 27


  28. まとめ
 • Ethereum はブロックチェーンの一種
 • Ethereum を用いたブロックチェーンアプリや
 ゲームがリリースされている
 • Ethereum

    のデータはパブリック
 ◦ 第三者が分析や検証を行える
 
 • 今回は方法を紹介した
 ◦ BigQuery を用いて集計
 ◦ Pandas で加工
 ◦ matplotlib で可視化
 28