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 Technology
Search
Kenji Saito
PRO
September 02, 2020
Technology
0
120
ビットコインの技術 / Bitcoin Technology
2020年9月2日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。
Kenji Saito
PRO
September 02, 2020
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
51
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
78
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
32
git と GitHub / git and GitHub
ks91
PRO
0
34
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
46
インターネットの特徴 / Features of the Internet
ks91
PRO
0
32
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
29
暗号学的ハッシュ関数 / Cryptographic Hash Function
ks91
PRO
0
35
デジタル署名 / Digital Signature
ks91
PRO
0
30
Other Decks in Technology
See All in Technology
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
350
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
900
Wasm元年
askua
0
150
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
440
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
3
120
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
550
本が全く読めなかった過去の自分へ
genshun9
0
550
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
470
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
190
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
140
Github Copilot エージェントモードで試してみた
ochtum
0
110
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Testing 201, or: Great Expectations
jmmastey
42
7.5k
GraphQLとの向き合い方2022年版
quramy
48
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Speed Design
sergeychernyshev
32
1k
Why Our Code Smells
bkeepers
PRO
337
57k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
Chief Science Officer /
[email protected]
— — 2020-09-02 – p.1/41
https://speakerdeck.com/ks91 — — 2020-09-02 – p.2/41
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 20 P2P (Peer-to-Peer) ( 9 ) 2011 2018 2019 2019 2020 2020 → ( ) — — 2020-09-02 – p.3/41
: Kalle Rosenbaum , , — (2020) : 1 —
— 2020-09-02 – p.4/41
Proof of Work SegWit — — 2020-09-02 – p.5/41
— — 2020-09-02 – p.6/41
(1) = ( ) ⇒ P2P ⇒ ( ) —
— 2020-09-02 – p.7/41
(2) (double spending) ( ) ⇒ ⇒ ( ) →
( ) ( ) ( ) ⇒ → → ⇒ → — — 2020-09-02 – p.8/41
/ — — 2020-09-02 – p.9/41
/ (1) 2,100 cm3 (cc) 1 1cm3 10 6.25cm3 ⇒
⇒ ( ) — — 2020-09-02 – p.10/41
/ (2) ( ) ( ) ( ) ( )
( ) ( ) → ( ) — — 2020-09-02 – p.11/41
∼ UTXO (= ) → — — 2020-09-02 – p.12/41
∼ ท൪߸O ท൪߸O ท൪߸O લทͷμΠδΣετ λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍ Έͩ͠ίʔφʔ μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔదͳ༰
( ) → — — 2020-09-02 – p.13/41
∼ ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ͬͪ͜ͷྺ࢙͕༗ޮ ( ) — — 2020-09-02 – p.14/41
= (virtually) = = = : → ( ) —
— 2020-09-02 – p.15/41
— — 2020-09-02 – p.16/41
ϏοτίΠϯωοτϫʔΫ ɾ ճͷʮ࠾۷ʯྔ ຖʹݮ ɾ߹ܭ ສ #5$
·Ͱ औҾͷొ खྉ खྉ औҾͷঝೝ ϚΠχϯά࣌ ϚΠχϯά ࠾۷ ֬తաఔ ฏۉ ͓͖ʹޭ ૹۚࢦ֤͕ࣔࣗͭ ϓϥΠϕʔτΩʔͰ ແͨ͘͠Β࠶ൃߦෆՄ ϚΠφʔ ࠾۷ऀ ࢧ͍ɾ྆ସ ͳͲͷܦࡁ׆ಈ ར༻ऀ ϒϩοΫνΣʔϯ ݩா Πϯλʔωοτ্ͷԾωοτϫʔΫ ʜ ˞#5$ϏοτίΠϯͷ୯Ґ #5$ ରԠ ϒϩοΫ ϒϩοΫ ϒϩοΫ औҾ ૹۚ औҾͷه ΞυϨε Ѽઌ ϓϥΠϕʔτΩʔ ຊਓͷূ໌ — — 2020-09-02 – p.17/41
— — 2020-09-02 – p.18/41
μΠδΣετ ϒϩοΫ O ϚΠχϯάใु ݻఆ खྉ ೖྗͷ߹ܭͱग़ྗͷ߹ܭͷࠩ .FSLMFΛܭࢉͯ͠ ͦͷϧʔτΛ֨ೲ
͍ͣΕऔҾه͕औΓग़͞Εɺ ͦͷ࣌ͷਖ਼࢙ʹೖ͍ͬͯͳ͍ͷͳΒ ৽ͨͳϒϩοΫͷதʹ֨ೲ͞ΕΔ ᶃਖ਼ੑͷอূ ϏοτίΠϯͰ 6590 ߏ ᶄଘࡏੑͷূ໌ ϏοτίΠϯͰ࡞ۀূ໌͖ϋογϡνΣʔϯ ᶅ།Ұੑͷ߹ҙ ϏοτίΠϯͰ φΧϞτɾίϯηϯαε ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ #5$ ੜ औҾ औҾ औҾ औҾ ʜʜ ΑΓ͍ ࡞ۀূ໌ ͷίετ͕ΑΓΘ Ε͍ͯΔ νΣʔϯ ͕༗ޮͱͳΔ μΠδΣετ㱡λʔήοτ 1SPPG0G8PSL ࡞ۀূ໌ աڈͷऔҾग़ྗͷࢀর σδλϧॺ໊ ެ։ݤ Ѽઌͱྔ ίΠϯ λʔήοτ ϊϯε ೖྗ ೖྗ ग़ྗ ग़ྗ 1. 10 ( ) 2. 3. 1 — — 2020-09-02 – p.19/41
/DLT ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస ɾ
τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ — — 2020-09-02 – p.20/41
- https://blockchain.com/ — — 2020-09-02 – p.21/41
0 and/or “The Times 03/Jan/2009 Chancellor on brink of second
bailout for banks” 2009 1 3 2 https://blockchain.com 0 BTC Block “Hex to ASCII Text Converter” — — 2020-09-02 – p.22/41
(1) (= ) → — — 2020-09-02 – p.23/41
(2) M A 60BTC ( ) SegWit — — 2020-09-02
– p.24/41
SegWit (Segregated Witness; ) (witness) ( ) ( TX )
— — 2020-09-02 – p.25/41
SegWit (malleability) https://bitcoincore.org/en/2016/01/26/segwit-benefits/ — — 2020-09-02 – p.26/41
— — 2020-09-02 – p.27/41
Merkle ( ) Digest = SHA-256 × SHA-256 TX (
) — — 2020-09-02 – p.28/41
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 — — 2020-09-02 – p.29/41
OP_RETURN PUSH 0xaa21a9ed 4 (witness) SHA-256 32 Merkle — —
2020-09-02 – p.30/41
Proof of Work ( ) ( ) . . .
: Hashcash (1997) SHA-1 20 ( ) 0 1 1 / — — 2020-09-02 – p.31/41
— — 2020-09-02 – p.32/41
CPU → GPU → FPGA → ASIC ( ) →
→ ( ) ⇒ BTC BTC — — 2020-09-02 – p.33/41
— — 2020-09-02 – p.34/41
POW ( ) Proof Of Work . . . —
— 2020-09-02 – p.35/41
(2009 1 ∼2020 8 ) 2 → 2 2 →
→ — — 2020-09-02 – p.36/41
https://bitcoin.org/en/developer-reference — — 2020-09-02 – p.37/41
1 1 ∼ 2 — — 2020-09-02 – p.38/41
A-B — — 2020-09-02 – p.39/41
2 2 ( ) Ripple Path — — 2020-09-02 –
p.40/41
— — 2020-09-02 – p.41/41