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
サイバーフィジカル社会、金融の未来とアイデアソン / Cyber Physical Society, Future of Finance, and Ideathon
ks91
PRO
0
50
マニフェスト: 人類の知のフロンティアに向けた拡張的足場へ / Manifesto: Toward Expansive Scaffolding for Humanity's Knowledge Frontier
ks91
PRO
0
9
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance, Continued
ks91
PRO
0
48
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
64
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
98
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
37
git と GitHub / git and GitHub
ks91
PRO
0
36
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
50
インターネットの特徴 / Features of the Internet
ks91
PRO
0
34
Other Decks in Technology
See All in Technology
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
160
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
250
shake-upを科学する
rsakata
7
960
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
VS CodeとGitHub Copilotで爆速開発!アップデートの波に乗るおさらい会 / Rapid Development with VS Code and GitHub Copilot: Catch the Latest Wave
yamachu
2
390
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
4
440
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
240
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
280
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
510
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
1
140
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
430
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
970
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
YesSQL, Process and Tooling at Scale
rocio
173
14k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Rails Girls Zürich Keynote
gr2m
95
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Side Projects
sachag
455
42k
Fireside Chat
paigeccino
37
3.5k
Practical Orchestrator
shlominoach
189
11k
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