Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
September 16, 2019
Programming
0
240
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
September 16, 2019
Tweet
Share
More Decks by odanado
See All by odanado
Vue.observable で状態管理 / vue-observable-state-management
odanado
4
1.2k
nuxtjs-axios-error-handling
odanado
0
140
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
0
110
最近のweb3.js事情 / bc.tokyo-19
odanado
2
330
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
1
1.8k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
9
51k
nuxt-i18nを使ったWebサイトの多言語化 / i18n-of-web-site-using-nuxt-i18n
odanado
1
5.3k
aws-cdk触ってみた / try-aws-cdk
odanado
0
97
【poke2vec】ポケモンの役割ベクトルの 学習とその分析・可視化 / pyconjp-poke2vec
odanado
3
4.8k
Other Decks in Programming
See All in Programming
Swift Regex
usamik26
0
170
Amazon ECSのネットワーク関連コストの話
msato
0
640
Angular‘s Future without NgModules: Architectures with Standalone Components @enterJS
manfredsteyer
PRO
0
230
[월간 데이터리안 세미나 6월] 스스로 성장하는 분석가 커리어 이야기
datarian
0
210
Beyond Micro Frontends: Frontend Moduliths for the Enterprise @wad2022
manfredsteyer
PRO
0
130
CakePHPの内部実装 から理解するPSR-7
boro1234
0
190
Running Laravel/PHP on AWS (AWS Builders Day Taiwan 2022)
dwchiang
0
140
【Scrum Fest Osaka 2022】スクラムチームに放り込まれた若手エンジニアの皆さん、どのように技術のキャッチアップをしていくかイメージはついていますか?
miiiki
0
110
Jetpack Compose best practices 動画紹介 @GoogleI/O LT会
takakitojo
0
330
Scrum Fest Osaka 2022/5年で200人になったスタートアップの アジャイル開発の歴史とリアル
atamaplus
1
890
1時間半で克服するJavaScriptの非同期処理/async_javascript_kokufuku
marchin1989
2
620
IE Graduation (IE の功績を讃える)
jxck
20
12k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1M
A Modern Web Designer's Workflow
chriscoyier
689
180k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
Writing Fast Ruby
sferik
612
57k
Mobile First: as difficult as doing things right
swwweet
213
7.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
Debugging Ruby Performance
tmm1
65
10k
GitHub's CSS Performance
jonrohan
1020
420k
Typedesign – Prime Four
hannesfritz
34
1.4k
Done Done
chrislema
174
14k
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