Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
Search
odanado
PRO
September 16, 2019
Programming
0
420
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
September 16, 2019
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
4.4k
@nestjs/bull の活用について
odanado
PRO
0
1.5k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.2k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
350
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
240
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
500
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
PRO
9
54k
Other Decks in Programming
See All in Programming
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
150
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
1k
新世界の理解
koriym
0
140
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
570
CSC305 Summer Lecture 06
javiergs
PRO
0
100
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
200
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
140
tool ディレクティブを導入してみた感想
sgash708
1
150
decksh - a little language for decks
ajstarks
4
21k
Laravel Boost 超入門
fire_arlo
1
120
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
240
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
330
Featured
See All Featured
Navigating Team Friction
lara
189
15k
Code Review Best Practice
trishagee
70
19k
How GitHub (no longer) Works
holman
315
140k
Statistics for Hackers
jakevdp
799
220k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Done Done
chrislema
185
16k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Facilitating Awesome Meetings
lara
55
6.5k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Producing Creativity
orderedlist
PRO
347
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Transcript
ブロックチェーンアプリの トランザクションに 対するデータ分析 1 @odan3240
自己紹介 2
自己紹介 • Twitter: @odan3240 • ソフトウェアエンジニア • 会社: モバイルファクトリー
◦ チーム: ブロックチェーンチーム 3
自己紹介 • PyCon JP 参加 2回目 4
目次 • 発表の概要 • ブロックチェーン (Ethereum) とは • NFT /
NFT ゲーム とは • 本題 ◦ 方法 ◦ 分析例 5
発表の概要 6
発表の概要 • 2018年はブロックチェーンを用いた アプリ/ゲームが数多くリリースされた • ブロックチェーン上のデータは基本的にパブリック • 普通のゲームは内部の取引は非公開 •
パブリックに公開されているデータに対して BigQuery を用いて集計処理を行っているところを 伝えられると嬉しい 7
Ethereum とは 8
Ethereum とは • ブロックチェーンの1つ ◦ Bitcoin などと同じく仮想通貨を持ち流通している • ブロックチェーンアプリのプラットフォーム
◦ ブロックチェーン上にプログラムをデプロイできる ▪ AWS Lambda に関数をデプロイするイメージ ▪ 改ざんされない永続化 KVS 付き 9
Ethereum とは • コントラクト ◦ ブロックチェーン上にデプロイされたプログラム • トランザクション ◦ コントラクト上の関数呼び出し
• ブロック ◦ 約15秒間隔の世界中のトランザクションの集まり • ノード ◦ トランザクションを集めてブロックを作る ◦ 世界中に存在して P2P で同期している • ユーザー ◦ 普通の一般人 ◦ 固有の秘密鍵を持つ 10
Ethereum とは • Ethereum を利用する流れ ◦ ユーザーはトランザクションに対して秘密鍵で署名 ◦ ユーザーはトランザクションをノードに送信 ◦
ノードはトランザクションを 他のノードにブロードキャスト ◦ ノードはブロックを生成 • 特徴 ◦ 誰がどのトランザクションをいつ実行したかわかる 11
NFT とは 12
NFT とは • Non-Fungible Token = 代替不可能なトークン • お金は Fungible
(代替可能) ◦ Alice が持つ 100円 と Bob が持つ 100円は同じ 13
NFT とは • NFT の使われ方 ◦ ユーザーの一部アイテムの所有権の情報を ブロックチェーンに記録 • NFT
の取引 ◦ 運営からの購入 ◦ ユーザー間での売買 • NFT の取引も誰がいつ何を行ったかがわかる 14
本題 15
ブロックチェーンアプリのデータ分析 • ブロックチェーンアプリの特徴 ◦ 「誰がどのトランザクションをいつ実行したかわかる」 ◦ 「ゲームアイテム (NFT) の取引内容がパブリック」
• 第三者が分析や検証することが可能 ◦ 普通のアプリだと運営かアプリの プラットフォーマーしかできないこと 16
方法 • 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
方法 19
分析例 20
各月ごとのトランザクション数 • Ethereum 全体のトランザクション数 21
各月ごとのトランザクション数 22
各月ごとのトランザクション数 23
NFT の取引数 24
NFT の取引数 25
NFT の取引数 26
まとめ 27
まとめ • Ethereum はブロックチェーンの一種 • Ethereum を用いたブロックチェーンアプリや ゲームがリリースされている • Ethereum
のデータはパブリック ◦ 第三者が分析や検証を行える • 今回は方法を紹介した ◦ BigQuery を用いて集計 ◦ Pandas で加工 ◦ matplotlib で可視化 28