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
September 16, 2019
Programming
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
September 16, 2019
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
3
5.6k
@nestjs/bull の活用について
odanado
0
1.6k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
0
1.3k
Vue.observable で状態管理 / vue-observable-state-management
odanado
4
2.1k
nuxtjs-axios-error-handling
odanado
0
410
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
0
290
最近のweb3.js事情 / bc.tokyo-19
odanado
2
570
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
1
2.4k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
9
55k
Other Decks in Programming
See All in Programming
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
関数型プログラミングのメリットって何だろう?
wanko_it
0
190
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
270
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
150
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
430
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
210
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
390
AIが無かった頃の素敵な出会いの話
codmoninc
1
200
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
700
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Optimizing for Happiness
mojombo
378
71k
We Are The Robots
honzajavorek
0
280
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Making Projects Easy
brettharned
120
6.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Deep Space Network (abreviated)
tonyrice
0
230
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
240
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