Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
110
ビットコインの技術 / Bitcoin Technology
2020年9月2日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。
Kenji Saito
PRO
September 02, 2020
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
講師自己紹介 / Self-Introduction of the Lecturer
ks91
PRO
0
3
R をインストールする / Installing R
ks91
PRO
0
8
組織とデータ分析/統計的仮説検定 / Organization, data analysis and statistical hypothesis testing
ks91
PRO
0
9
データフレームと代表値 / Data frame and representative values
ks91
PRO
0
3
発表と総括 / Presentations and Summary
ks91
PRO
0
18
市民科学にAI はどう活用できるか / How AI Can Be Used for Citizen Science
ks91
PRO
0
14
グリーンマイニングが Bitcoin プロトコルに及ぼす影響 / Impact of Green Mining on the Bitcoin Protocol
ks91
PRO
0
22
FinTech 13-14 : Ideathon, Presentations and Conclusions
ks91
PRO
0
60
デザイン相談会 / Design Consultation
ks91
PRO
0
15
Other Decks in Technology
See All in Technology
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
190
今はまだ小さい東京ガス内製開発チームが、これからもKubernetesと共に歩み続けるために
yussugi
1
180
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
0
220
データカタログを自作したけど 運用しなかった話@Findy Lunch LT「データカタログ 事例から学ぶメタデータ管理の実態」
ryo_suzuki
1
290
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
690
4年で17倍に成長したエンジニア組織を支えるアーキテクチャの過去と未来
sansantech
PRO
1
3.7k
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
1
130
OpenLLMetry-Hands-On 生成AIアプリを観測してみよう!OpenLLMetryハンズオン編
tkhresk
0
120
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
2
2k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
7
760
Yahoo! JAPANトップページにおけるマイクロフロントエンド - 大規模組織におけるFE開発を加速させるには
lycorptech_jp
PRO
0
1.5k
Continuous Integration! Raising the Bar
tdpauw
1
110
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Documentation Writing (for coders)
carmenintech
65
4.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
4 Signs Your Business is Dying
shpigford
181
21k
The Invisible Side of Design
smashingmag
298
50k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
0
27
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Building Applications with DynamoDB
mza
90
6.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
RailsConf 2023
tenderlove
29
910
Rails Girls Zürich Keynote
gr2m
94
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
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