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
February 07, 2020
Technology
1
170
ビットコインの技術 / Bitcoin Technology
2020年2月7日(金)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。
Kenji Saito
PRO
February 07, 2020
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトデザイン / Smart Contract Design
ks91
PRO
0
5
FinTech 7-8 : Blockchain
ks91
PRO
0
70
スマートコントラクトプログラミング / Smart Contract Programming
ks91
PRO
0
19
AI が研究する時代に、人はどう育つのか? — GAMER PAT にみる "シリアスゲームとしての知的訓練" / In an era where AI conducts research, how will humans develop? — "Intellectual Training as a Serious Game" Seen in GAMER PAT
ks91
PRO
0
51
FinTech 5-6 : The World of Apps
ks91
PRO
0
100
生成AI による論文執筆サポート・ワークショップ ─ サーベイ/リサーチクエスチョン編 / Workshop on AI-Assisted Paper Writing Support: Survey/Research Question Edition
ks91
PRO
0
81
ブロックチェーン概論とインストール大会 / Introduction to Blockchain and Installation Workshop
ks91
PRO
0
10
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
83
民主主義と博愛(Humanitarianism) / Democracy and Humanitarianism
ks91
PRO
0
15
Other Decks in Technology
See All in Technology
AI AgentをLangflowでサクッと作って、1日働かせてみた!
yano13
1
160
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
760
20251027_findyさん_音声エージェントLT
almondo_event
2
480
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
140
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
6
1.3k
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
220
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
1.6k
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
140
頭部ふわふわ浄酔器
uyupun
0
230
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
720
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
160
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
450
Featured
See All Featured
Side Projects
sachag
455
43k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Gamification - CAS2011
davidbonilla
81
5.5k
For a Future-Friendly Web
brad_frost
180
10k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
650
A Tale of Four Properties
chriscoyier
161
23k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Building Applications with DynamoDB
mza
96
6.7k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Transcript
Chief Science Officer /
[email protected]
— — 2020-02-07 – p.1/41
https://speakerdeck.com/ks91 — — 2020-02-07 – p.2/41
( ) SFC CSO (Chief Science Officer) 1993 ( )
2006 ( ) SFC 19 P2P (Peer-to-Peer) ( 9 ) 2011 2018 2019 ∼ 2019 ∼ REINVENT THE WORLD → ( ) — — 2020-02-07 – p.3/41
( ) “Grokking Bitcoin” ∼ ( ) ( ) —
— 2020-02-07 – p.4/41
Proof of Work SegWit — — 2020-02-07 – p.5/41
— — 2020-02-07 – p.6/41
(1) = ( ) ⇒ P2P ⇒ ( ) —
— 2020-02-07 – p.7/41
(2) (double spending) ( ) ⇒ ⇒ ( ) →
( ) ( ) ⇒ → → ⇒ → — — 2020-02-07 – p.8/41
/ — — 2020-02-07 – p.9/41
/ (1) 2,100 cm3 (cc) 1 1cm3 10 12.5cm3 ⇒
⇒ ( ) — — 2020-02-07 – p.10/41
/ (2) ( ) ( ) ( ) ( )
( ) → ( ) — — 2020-02-07 – p.11/41
∼ UTXO (= ) → — — 2020-02-07 – p.12/41
∼ ท൪߸O ท൪߸O ท൪߸O લทͷμΠδΣετ λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍ Έͩ͠ίʔφʔ μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔదͳ༰
( ) → — — 2020-02-07 – p.13/41
∼ ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ͬͪ͜ͷྺ࢙͕༗ޮ ( ) — — 2020-02-07 – p.14/41
= (virtually) = = = : → ( ) —
— 2020-02-07 – p.15/41
— — 2020-02-07 – p.16/41
ϏοτίΠϯωοτϫʔΫ ɾ ճͷʮ࠾۷ʯྔ ຖʹݮ ɾ߹ܭ ສ #5$
·Ͱ औҾͷొ खྉ खྉ औҾͷঝೝ ϚΠχϯά࣌ ϚΠχϯά ࠾۷  ֬తաఔ ฏۉ ͓͖ʹޭ ૹۚࢦ֤͕ࣔࣗͭ ϓϥΠϕʔτΩʔͰ ແͨ͘͠Β࠶ൃߦෆՄ ϚΠφʔ ࠾۷ऀ ࢧ͍ɾ྆ସ ͳͲͷܦࡁ׆ಈ ར༻ऀ ϒϩοΫνΣʔϯ ݩா Πϯλʔωοτ্ͷԾωοτϫʔΫ ʜ ˞#5$ϏοτίΠϯͷ୯Ґ #5$ ରԠ ϒϩοΫ ϒϩοΫ ϒϩοΫ औҾ ૹۚ औҾͷه ΞυϨε Ѽઌ ϓϥΠϕʔτΩʔ ຊਓͷূ໌ — — 2020-02-07 – p.17/41
— — 2020-02-07 – p.18/41
μΠδΣετ ϒϩοΫ O ϚΠχϯάใु ݻఆ खྉ ೖྗͷ߹ܭͱग़ྗͷ߹ܭͷࠩ .FSLMFΛܭࢉͯ͠ ͦͷϧʔτΛ֨ೲ
͍ͣΕऔҾه͕औΓग़͞Εɺ ͦͷ࣌ͷਖ਼࢙ʹೖ͍ͬͯͳ͍ͷͳΒ ৽ͨͳϒϩοΫͷதʹ֨ೲ͞ΕΔ ᶃਖ਼ੑͷอূ ϏοτίΠϯͰ 6590 ߏ ᶄଘࡏੑͷূ໌ ϏοτίΠϯͰ࡞ۀূ໌͖ϋογϡνΣʔϯ ᶅ།Ұੑͷ߹ҙ ϏοτίΠϯͰ φΧϞτɾίϯηϯαε ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ #5$ ੜ औҾ औҾ औҾ औҾ ʜʜ ΑΓ͍ ࡞ۀূ໌ ͷίετ͕ΑΓΘ Ε͍ͯΔ νΣʔϯ ͕༗ޮͱͳΔ μΠδΣετ㱡λʔήοτ 1SPPG0G8PSL ࡞ۀূ໌ աڈͷऔҾग़ྗͷࢀর σδλϧॺ໊ ެ։ݤ Ѽઌͱྔ ίΠϯ λʔήοτ ϊϯε ೖྗ ೖྗ ग़ྗ ग़ྗ 1. 10 ( ) 2. 3. 1 — — 2020-02-07 – p.19/41
/DLT ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస ɾ
τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ — — 2020-02-07 – p.20/41
- https://blockchain.com/ — — 2020-02-07 – 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 → Hash “Hex to ASCII Text Converter” — — 2020-02-07 – p.22/41
(1) (= ) → — — 2020-02-07 – p.23/41
(2) M A 60BTC ( ) SegWit — — 2020-02-07
– p.24/41
SegWit (Segregated Witness; ) (witness) ( ) ( TX )
— — 2020-02-07 – p.25/41
SegWit (malleability) https://bitcoincore.org/en/2016/01/26/segwit-benefits/ — — 2020-02-07 – p.26/41
— — 2020-02-07 – p.27/41
Merkle ( ) Digest = SHA-256 × SHA-256 TX (
) — — 2020-02-07 – 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-02-07 – p.29/41
OP_RETURN PUSH 0xaa21a9ed 4 (witness) SHA-256 32 Merkle — —
2020-02-07 – p.30/41
Proof of Work ( ) ( ) . . .
: Hashcash (1997) SHA-1 20 ( ) 0 1 1 / — — 2020-02-07 – p.31/41
— — 2020-02-07 – p.32/41
CPU → GPU → FPGA → ASIC ( ) →
→ ( ) ⇒ BTC BTC — — 2020-02-07 – p.33/41
— — 2020-02-07 – p.34/41
POW ( ) Proof Of Work . . . —
— 2020-02-07 – p.35/41
(2009 1 ∼2020 2 ) 2 → 2 2 →
→ — — 2020-02-07 – p.36/41
https://bitcoin.org/en/developer-reference — — 2020-02-07 – p.37/41
1 1 ∼ 2 — — 2020-02-07 – p.38/41
A-B — — 2020-02-07 – p.39/41
2 2 ( ) Ripple Path — — 2020-02-07 –
p.40/41
— — 2020-02-07 – p.41/41