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
ビットコインとイーサリアムの技術 / Bitcoin and Ethereum Technology
Search
Kenji Saito
PRO
October 03, 2018
Technology
1
190
ビットコインとイーサリアムの技術 / Bitcoin and Ethereum Technology
2018年10月3日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「ビットコインとイーサリアムの技術」にて使用したスライドです。
Kenji Saito
PRO
October 03, 2018
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
デジタルトランスフォーメーションと民主主義 / Digital Transformation and Democracy
ks91
PRO
0
2
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
14
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
73
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
30
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
33
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
160
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
86
発表と総括 / Presentations and Summary
ks91
PRO
0
61
Other Decks in Technology
See All in Technology
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
160
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
150
Vault を基盤として整備し、 みんなに使ってもらえるようになるまで
takahiko
1
110
フィンテック養成勉強会#56
finengine
0
130
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
200
Grafana Meetup Japan Vol. 6
kaedemalu
1
330
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
370
2025年夏 コーディングエージェントを統べる者
nwiizo
0
110
dbt開発 with Claude Codeのためのガードレール設計
10xinc
1
440
2025年になってもまだMySQLが好き
yoku0825
8
4.2k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.5k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
GraphQLとの向き合い方2022年版
quramy
49
14k
Gamification - CAS2011
davidbonilla
81
5.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Building an army of robots
kneath
306
46k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Transcript
CSO / SFC
[email protected]
— — 2018-10-03 – p.1/66
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 18 P2P (Peer-to-Peer) 2011 SFC 2018 → ( ) — — 2018-10-03 – p.2/66
— — 2018-10-03 – p.3/66
Proof of Work SegWit — — 2018-10-03 – p.4/66
— — 2018-10-03 – p.5/66
(1) ( ) ⇒ P2P ⇒ ( ) — —
2018-10-03 – p.6/66
(2) (double spending) ( ) ⇒ ⇒ ( ) →
( ) ( ) ⇒ → → ⇒ → — — 2018-10-03 – p.7/66
/ — — 2018-10-03 – p.8/66
/ (1) 2,100 cm3 (cc) 1 1cm3 10 12.5cm3 ⇒
⇒ ( ) — — 2018-10-03 – p.9/66
/ (2) ( ) ( ) ( ) ( )
( ) → ( ) — — 2018-10-03 – p.10/66
∼ UTXO (= ) → — — 2018-10-03 – p.11/66
∼ ท൪߸O ท൪߸O ท൪߸O લทͷμΠδΣετ λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍ Έͩ͠ίʔφʔ μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔదͳ༰
( ) → — — 2018-10-03 – p.12/66
∼ ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ͬͪ͜ͷྺ࢙͕༗ޮ ( ) — — 2018-10-03 – p.13/66
= (virtually) = = = : → ( ) —
— 2018-10-03 – p.14/66
— — 2018-10-03 – p.15/66
— — 2018-10-03 – p.16/66
— — 2018-10-03 – p.17/66
1. 10 ( ) 2. 3. 1 — — 2018-10-03
– p.18/66
/DLT ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస ɾ
τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ — — 2018-10-03 – p.19/66
- https://blockchain.info/ — — 2018-10-03 – p.20/66
0 and/or “The Times 03/Jan/2009 Chancellor on brink of second
bailout for banks” 2009 1 3 2 https://blockchain.info SEARCH 0 — — 2018-10-03 – p.21/66
(1) (= ) → — — 2018-10-03 – p.22/66
(2) M A 60BTC ( ) SegWit — — 2018-10-03
– p.23/66
SegWit (Segregated Witness; ) (witness) — — 2018-10-03 – p.24/66
SegWit (malleability) https://bitcoincore.org/en/2016/01/26/segwit-benefits/ — — 2018-10-03 – p.25/66
— — 2018-10-03 – p.26/66
Merkle ( ) Digest = SHA-256 × SHA-256 TX (
) — — 2018-10-03 – p.27/66
Block Header Data Structure Field Description Size (bytes) Version 4
Digest Double SHA-256 value 32 Merkle root Double SHA-256 value 32 Time Seconds (since 1970-01-01T00:00 UTC) 4 Target Compressed format 4 Nonce Appropriate value 4 Merkle root is the digest of all TXs — — 2018-10-03 – p.28/66
OP_RETURN PUSH 0xaa21a9ed 4 (witness) SHA-256 32 Merkle — —
2018-10-03 – p.29/66
Proof of Work ( ) ( ) . . .
: Hashcash (1997) SHA-1 20 ( ) 0 1 1 / — — 2018-10-03 – p.30/66
— — 2018-10-03 – p.31/66
CPU → GPU → FPGA → ASIC ( ) →
→ ( ) BTC — — 2018-10-03 – p.32/66
— — 2018-10-03 – p.33/66
POW ( ) Proof Of Work . . . —
— 2018-10-03 – p.34/66
(2009 1 ∼2018 8 ) 2 → 2 2 →
— — 2018-10-03 – p.35/66
https://bitcoin.org/en/developer-reference — — 2018-10-03 – p.36/66
1 1 ∼ 2 — — 2018-10-03 – p.37/66
A-B — — 2018-10-03 – p.38/66
2 2 ( ) Ripple Path — — 2018-10-03 –
p.39/66
— — 2018-10-03 – p.40/66
(EVM) — — 2018-10-03 – p.41/66
(Ethereum) EVM (Ethereum Virtual Machine) — — 2018-10-03 – p.42/66
Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT
& DECENTRALIZED APPLICATION PLATFORM” 15 / — — 2018-10-03 – p.43/66
= run — — 2018-10-03 – p.44/66
Ether Ethereum EOA : Externally-Owned Account Ether EVM EVM —
— 2018-10-03 – p.45/66
EVM : Ethereum Virtual Machine Gas — — 2018-10-03 –
p.46/66
Frontier (2015) Homestead (2016) Metropolis Byzantium (2017) ← zkSNARKs (
) → Zcash on Ethereum (ZoE) Constantinople (2018 ) Serenity — — 2018-10-03 – p.47/66
— — 2018-10-03 – p.48/66
( ) ( ) ( vs. ) ( ) (
) ( ) ⇒ ( : BBc-1) DLT : : — — 2018-10-03 – p.49/66
( ) ⇒ (Casper) ( ) ⇒ ZoE (Zcash on
Ethereum) ( vs. ) ( ) ⇒ Plasma ( ) ⇒ ( ) (Benevolent Dictator For Life (BDFL)) ( ) ⇒ — — 2018-10-03 – p.50/66
Proof of Work + Proof of Stake + — —
2018-10-03 – p.51/66
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 (1 ) . .
. scrypt ( ) Ethash (Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) https://github.com/ethereum/wiki/wiki/Ethash — — 2018-10-03 – p.52/66
GHOST (Greedy Heaviest Observed Subtree) ⇒ GHOST ( ) “uncles”
proof of work ( ) uncle uncles 7 GHOST — — 2018-10-03 – p.53/66
IUUQTFOXJLJQFEJBPSHXJLJ3BEJY@USFF key OK PATRICIA (Practical Algorithm To Retrieve Information Coded
In Alphanumeric) Trie ( ) (key, value) RLP (recursive length prefix encoding) — — 2018-10-03 – p.54/66
Proof of Stake Casper — — 2018-10-03 – p.55/66
Proof of Stake ( ) ( ) — — 2018-10-03
– p.56/66
Proof of Stake ( ) H n (PD + id
+ t + . . .) ≤ 2n × balance d H n : n (ex. SHA-256 (n = 256)) PD : id : (ex. ) t : (ex. UNIX ( )) balance : d : (ex. ) PoW — — 2018-10-03 – p.57/66
Proof of Stake 3 1. 2. “Nothing at Stake” 3.
51% — — 2018-10-03 – p.58/66
: Proof of Stake Velocity Reddcoin — — 2018-10-03 –
p.59/66
Nothing at Stake - = — — 2018-10-03 – p.60/66
Nothing at Stake - 100% Proof of Stake — —
2018-10-03 – p.61/66
51% — — 2018-10-03 – p.62/66
Casper : Nothing at Stake (Slasher) 100 ⇒ — —
2018-10-03 – p.63/66
( ) PoS — — 2018-10-03 – p.64/66
µRaiden Raiden Network Plasma — — 2018-10-03 – p.65/66
— — 2018-10-03 – p.66/66