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
DEXのデータを分析してインサイトを掘り出す / DEX Analysis
Search
Nao Hanamura
July 25, 2019
Technology
1.2k
1
Share
DEXのデータを分析してインサイトを掘り出す / DEX Analysis
7/25 Ethereum Hack Tokyo 登壇資料
EthereumブロックチェーンからDEXのデータを分析してインサイトを掘り出します。
Nao Hanamura
July 25, 2019
More Decks by Nao Hanamura
See All by Nao Hanamura
PMFを生み続ける意志力 #pmconf2022
naomasabit
6
12k
寄り道禁止!LayerX インボイスの爆速開発を支えるロードマップ作り / how-to-create-layerx-invoice-roadmap
naomasabit
7
28k
デジタル空間でのブロックチェーン応用事例 / Blockchain use cases in digital space
naomasabit
0
780
SHIEDLにおけるGKE, CircleCIを活用したサービス、フルノードの基盤開発 / SHIEDL-blockchain-full-node-infrastructure
naomasabit
1
810
セキュリティインシデント事例とブロックチェーンモニタリング・分析サービスcatabiraのご紹介 / Case of security incidents of cryptocurreny and introduction of blockchain monitoring and analysis service "catabira"
naomasabit
0
880
Yellow Paper から読み解くEthereumブロックチェーンの詳細仕様 / Reading out specifications from Ethereum Yellow Paper
naomasabit
10
11k
有名なスマートコントラクト脆弱性・ハックについての復習 / Widely known vulnerability of smart contract
naomasabit
2
1.4k
ブロックチェーンサービスのセキュリティを考える
naomasabit
12
8.3k
Other Decks in Technology
See All in Technology
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
150
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
350
AI와 협업하는 조직으로의 여정
arawn
0
560
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
120
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
320
揺るがないAIを開発するためのアノテーション設計
sansantech
PRO
1
100
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
140
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
210
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
6.4k
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.2k
Keeping Ruby Running on Cygwin
fd0
0
190
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
200
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Crafting Experiences
bethany
1
130
Technical Leadership for Architectural Decision Making
baasie
3
340
So, you think you're a good person
axbom
PRO
2
2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Are puppies a ranking factor?
jonoalderson
1
3.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Chasing Engaging Ingredients in Design
codingconduct
0
180
The SEO identity crisis: Don't let AI make you average
varn
0
450
The Cult of Friendly URLs
andyhume
79
6.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Transcript
1 DEXのデータを分析してインサイトを掘り出す 2019/7/25 Ethereum Hack Tokyo Nao Hanamura
2 これまでやってきたこと 自己紹介:ブロックチェーンのエンジニアをしており、データアナリストの 仕事も過去やってきました(2017/5〜) 開発・コンサ ル • ブロックチェーンデータの分析基盤構築 • ブロックチェーン領域のモニタリングSaaS開発
(Go, Python, CI/CD, Kubernetes etc.) • 会計、財務データのデータアナリティクス コミュニティ活 動 • 技術ブログ「Neutrinoで働くブロックチェーンエンジニアのブロ グ」(www.blockchainengineer.tokyo/) • CGTF「暗号資産カストディアンのセキュリティについての考え 方」 暗号通貨 監査 • 暗号通貨監査の技術アドバイザリー ✓ 特に取引所の監査手続開発 ✓ ブロックチェーンデータの分析 ✓ 特定通貨の監査手法などのリサーチ 花村直親(Naochika Hanamura) @naomasabit
noteでブロックチェーンの分析レポートの試みを始めています 3 https://note.mu/naohanamura
4 DEXはどれくらい使われているのか?
5 EtherscanのDEX trackerによると、過去7日間で65,000件ほどトランザ クションが生まれています
6 EtherscanのDEX trackerによると、IDEXが約6割のトランザクションを 占めており、こちらを掘り下げます https://etherscan.io/stat/dextracker
7 IDEXのトランザクション数のほとんどはETHとの交換です
8 IDEXのトランザクション数のほとんどはETHとの相対取引です
ETHとの相対取引については取引高をETHの時価を使えば USD建てで取引高を算出できます 9
1 取引高推移を見ると、概ね日に20,000ETH(6,000,000USD)程度取引 されています
6月時取引高は140,000,000USD(150億円程度)で、CEX含めた 月間取引高ランキングでは100位程度です 11
6月度人気取引トークンランキング(ETHで購入されているトーク ン) 12
ETHと相対取引されているトークン割合はQuantというコインが多 くを占めています 13
参考:Quantチャート 14
15 https://note.mu/naohanamura/m/md88688a3936b 「ブロックチェーンをデータから見るマガジン」で今年の1月〜など より長期間のIDEX取引分析を書きます。(宣伝)
IDEX分析の方法 16
IDEXのコントラクトを見てみます https://etherscan.io/address/0x2a0c0dbecc7e4d658f48e01e3 fa353f44050c208#code 17
IDEXのコントラクトは基本的にデポジット型のDEXです 18 デポジット型のDEXの流れ
IDEXのスマートコントラクトではfunction tradeで取引が実行され ています // ユーザーの残高台帳 mapping (address => mapping (address
=> uint256)) public tokens; //mapping of token addresses to mapping of account balances /* tradeAddressses [0] tokenBuy [1] tokenSell [2] maker [3] taker */ // 交換部分。引いてから足している tokens[tradeAddresses[1]][tradeAddresses[2]] = safeSub(tokens[tradeAddresses[1]][tradeAddresses[2]], safeMul(tradeValues[1], tradeValues[4]) / tradeValues[0]); tokens[tradeAddresses[1]][tradeAddresses[3]] = safeAdd(tokens[tradeAddresses[1]][tradeAddresses[3]], safeMul(safeMul(((1 ether) - tradeValues[7]), tradeValues[1]), tradeValues[4]) / tradeValues[0] / (1 ether)); function tradeの交換部 19
Ethereum transaction には”data”項目として呼び出す関数と引 数がバイト配列でのっており、これを解析します 20
Ethereum transactionに乗っているデータ解析例 input function amountBuy amountSell expires nonce amount trade_nonce
fee_make fee_take ef343588 000000000000 000000000000 000000000000 000000000000 05e6caf7b5556 158 000000000000 000000000000 000000000000 000000000039 b4407e159583 a3e0 000000000000 000000000000 000000000000 000000000000 000000000000 2710 000000000000 000000000000 000000000000 000000000000 000000000c0e5 fdb 000000000000 000000000000 000000000000 000000000000 05e6caf7b5556 158 000000000000 000000000000 000000000000 000000000000 0000000334b7 4b7e 000000000000 000000000000 000000000000 000000000000 00038d7ea4c68 000 000000000000 000000000000 000000000000 000000000000 000cc952fa7e8 d41 function amountBuy amountSell expires_decimal nonce_decimal amount_decimal trade_nonce_deci mal fee_make_decim al fee_take_decimal trade(uint256[8], address[4],uint8[ 2],bytes32[4]) 425,250,380,08 1,095,000.00 106445293215 7948797920 10000 202268635 425,250,380,08 1,095,000 13769329534 100000000000 0000 359905794762 6817 0xef34358800000000000000000000000000000000000000000000000005e6caf7b5556158000000000000000000000000000000000000000000000039b4407e 159583a3e0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000 0000c0e5fdb00000000000000000000000000000000000000000000000005e6caf7b555615800000000000000000000000000000000000000000000000000000 00334b74b7e00000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000c c952fa7e8d410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000543ff227f64aa17ea132bf9886cab 5db55dcaddf0000000000000000000000007f37b7cc0c8b9dd50a337c412486acf3a7de81930000000000000000000000007059010320d07a47d2ad54db88bb89 ea644c3e6f000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000 0000000001bbb26985aa4111d7028f569be09b88476735a22747109b673c917976c7ed4f31424d2af8ba4439954a479aa6a07e6ba41e61fd0fff9846bc94fa7972f 0a85d6e6bb0c02f1a093f0ec95f6876726288b98db80700439455d4585c1fb0276b65aa63511e05be8b5d173d4efbd4e554c930188fd80e8a3f17db2ef5a16c203c bedbe 21
トランザクションを一つずつ解析した結果がこのようになります input 0xef34358800000000000000000000000000000000000000000000000005e6caf7b5556158000000000000000000000000000000000000000000000039b4407e 159583a3e0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000 0000c0e5fdb00000000000000000000000000000000000000000000000005e6caf7b555615800000000000000000000000000000000000000000000000000000 00334b74b7e00000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000c c952fa7e8d410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000543ff227f64aa17ea132bf9886cab 5db55dcaddf0000000000000000000000007f37b7cc0c8b9dd50a337c412486acf3a7de81930000000000000000000000007059010320d07a47d2ad54db88bb89 ea644c3e6f000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000 0000000001bbb26985aa4111d7028f569be09b88476735a22747109b673c917976c7ed4f31424d2af8ba4439954a479aa6a07e6ba41e61fd0fff9846bc94fa7972f
0a85d6e6bb0c02f1a093f0ec95f6876726288b98db80700439455d4585c1fb0276b65aa63511e05be8b5d173d4efbd4e554c930188fd80e8a3f17db2ef5a16c203c bedbe 22
• IDEXがDEX全体のトランザクションの6割を占めている(etherscan調べ) • IDEXのトランザクションを解析したところ、月間取引高はおよそ 140,000,000USD(150億円程度)で、CEX含めた月間取引高ランキングでは100位 程度 • データはスマートコントラクトの呼び出しトランザクション解析に基づいている まとめ 23