Slide 1

Slide 1 text

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


Slide 2

Slide 2 text

自己紹介
 2


Slide 3

Slide 3 text

自己紹介
 ● Twitter: @odan3240
 ● ソフトウェアエンジニア
 
 ● 会社: モバイルファクトリー
 ○ チーム: ブロックチェーンチーム
 3


Slide 4

Slide 4 text

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


Slide 5

Slide 5 text

目次
 ● 発表の概要
 ● ブロックチェーン (Ethereum) とは
 ● NFT / NFT ゲーム とは
 ● 本題
 ○ 方法
 ○ 分析例
 5


Slide 6

Slide 6 text

発表の概要
 6


Slide 7

Slide 7 text

発表の概要
 ● 2018年はブロックチェーンを用いた
 アプリ/ゲームが数多くリリースされた
 ● ブロックチェーン上のデータは基本的にパブリック
 
 ● 普通のゲームは内部の取引は非公開
 ● パブリックに公開されているデータに対して
 BigQuery を用いて集計処理を行っているところを
 伝えられると嬉しい
 7


Slide 8

Slide 8 text

Ethereum とは
 8


Slide 9

Slide 9 text

Ethereum とは
 ● ブロックチェーンの1つ
 ○ Bitcoin などと同じく仮想通貨を持ち流通している
 
 ● ブロックチェーンアプリのプラットフォーム
 ○ ブロックチェーン上にプログラムをデプロイできる
 ■ AWS Lambda に関数をデプロイするイメージ
 ■ 改ざんされない永続化 KVS 付き
 9


Slide 10

Slide 10 text

Ethereum とは
 ● コントラクト
 ○ ブロックチェーン上にデプロイされたプログラム
 ● トランザクション
 ○ コントラクト上の関数呼び出し
 ● ブロック
 ○ 約15秒間隔の世界中のトランザクションの集まり
 ● ノード
 ○ トランザクションを集めてブロックを作る
 ○ 世界中に存在して P2P で同期している
 ● ユーザー
 ○ 普通の一般人
 ○ 固有の秘密鍵を持つ
 10


Slide 11

Slide 11 text

Ethereum とは
 ● Ethereum を利用する流れ
 ○ ユーザーはトランザクションに対して秘密鍵で署名
 ○ ユーザーはトランザクションをノードに送信
 ○ ノードはトランザクションを
 他のノードにブロードキャスト
 ○ ノードはブロックを生成
 ● 特徴
 ○ 誰がどのトランザクションをいつ実行したかわかる
 11


Slide 12

Slide 12 text

NFT とは
 12


Slide 13

Slide 13 text

NFT とは
 ● Non-Fungible Token = 代替不可能なトークン
 ● お金は Fungible (代替可能)
 ○ Alice が持つ 100円 と Bob が持つ 100円は同じ
 
 
 
 13


Slide 14

Slide 14 text

NFT とは
 ● NFT の使われ方
 ○ ユーザーの一部アイテムの所有権の情報を
 ブロックチェーンに記録
 ● NFT の取引
 ○ 運営からの購入
 ○ ユーザー間での売買
 
 ● NFT の取引も誰がいつ何を行ったかがわかる
 
 14


Slide 15

Slide 15 text

本題
 15


Slide 16

Slide 16 text

ブロックチェーンアプリのデータ分析
 ● ブロックチェーンアプリの特徴
 ○ 「誰がどのトランザクションをいつ実行したかわかる」
 ○ 「ゲームアイテム (NFT) の取引内容がパブリック」
 
 ● 第三者が分析や検証することが可能
 ○ 普通のアプリだと運営かアプリの
 プラットフォーマーしかできないこと
 16


Slide 17

Slide 17 text

方法
 ● 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


Slide 18

Slide 18 text

方法
 ● データのスキーマ
 18


Slide 19

Slide 19 text

方法
 19


Slide 20

Slide 20 text

分析例
 20


Slide 21

Slide 21 text

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


Slide 22

Slide 22 text

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


Slide 23

Slide 23 text

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


Slide 24

Slide 24 text

NFT の取引数
 24


Slide 25

Slide 25 text

NFT の取引数
 25


Slide 26

Slide 26 text

NFT の取引数
 26


Slide 27

Slide 27 text

まとめ
 27


Slide 28

Slide 28 text

まとめ
 ● Ethereum はブロックチェーンの一種
 ● Ethereum を用いたブロックチェーンアプリや
 ゲームがリリースされている
 ● Ethereum のデータはパブリック
 ○ 第三者が分析や検証を行える
 
 ● 今回は方法を紹介した
 ○ BigQuery を用いて集計
 ○ Pandas で加工
 ○ matplotlib で可視化
 28