Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

odanado
September 16, 2019

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

odanado

September 16, 2019
Tweet

More Decks by odanado

Other Decks in Programming

Transcript

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

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

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


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

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


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

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

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

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

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

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

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

  7. 方法
 • 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

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

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