Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
440
ブロックチェーンアプリのトランザクションに対するデータ分析 / 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
5.1k
@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
2.1k
nuxtjs-axios-error-handling
odanado
PRO
0
370
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
250
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
520
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
PRO
9
55k
Other Decks in Programming
See All in Programming
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
sbt 2
xuwei_k
0
300
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
100
AIコーディングエージェント(skywork)
kondai24
0
180
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
310
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
チームをチームにするEM
hitode909
0
340
ゲームの物理 剛体編
fadis
0
350
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Typedesign – Prime Four
hannesfritz
42
2.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Unsuck your backbone
ammeep
671
58k
Embracing the Ebb and Flow
colly
88
4.9k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
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