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
March 10, 2021
Technology
0
160
ビットコインの技術 / Bitcoin Technology
2021年3月10日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。
Kenji Saito
PRO
March 10, 2021
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
講師自己紹介 / Self-Introduction of the Lecturer
ks91
PRO
0
2
R をインストールする / Installing R
ks91
PRO
0
4
発表と総括 / Presentations and Summary
ks91
PRO
0
14
市民科学にAI はどう活用できるか / How AI Can Be Used for Citizen Science
ks91
PRO
0
13
グリーンマイニングが Bitcoin プロトコルに及ぼす影響 / Impact of Green Mining on the Bitcoin Protocol
ks91
PRO
0
21
FinTech 13-14 : Ideathon, Presentations and Conclusions
ks91
PRO
0
60
デザイン相談会 / Design Consultation
ks91
PRO
0
15
FinTech 11-12 : Cyber-Physical Society and Future of Finance
ks91
PRO
0
60
メタ自然選択と製品トレーサビリティー / Meta-Natural Selection and Product Traceability
ks91
PRO
0
18
Other Decks in Technology
See All in Technology
データカタログを自作したけど 運用しなかった話@Findy Lunch LT「データカタログ 事例から学ぶメタデータ管理の実態」
ryo_suzuki
1
250
2024年のAmazon Bedrockアップデート一挙おさらい 〜まだ間に合う! re:Invent直前までの重大ニュースを速習しよう〜
minorun365
PRO
3
120
セキュリティ運用って包括的にできていますか?SaaSを使って次のステップへ / Comprehensive Cyber Security Operations for Cloud Services Using SaaS
sakaitakeshi
0
230
複雑なState管理からの脱却
sansantech
PRO
1
190
OCI Vault 概要
oracle4engineer
PRO
0
9.8k
140年の歴史あるエンタープライズ企業の内製化×マイクロサービス化への航海
yussugi
0
2.7k
Hyperledger Fabric(再)入門
gakumura
3
6.6k
'24/11月開催 Visual Studio CodeのDev Containersを使って開発環境構築してみよう
devops_vtj
0
110
組織成長を加速させるオンボーディングの取り組み
sudoakiy
3
380
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
680
累計2500万着電を支える大規模 電話自動応答サービスのアーキテクチャ / Architecture of a Large-Scale Automated Phone Response Service Supporting 25 Million Cumulative Calls
ymachida
4
2.8k
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
2
2k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Ruby is Unlike a Banana
tanoku
97
11k
Statistics for Hackers
jakevdp
796
220k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
The Language of Interfaces
destraynor
154
24k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Optimizing for Happiness
mojombo
376
70k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Speed Design
sergeychernyshev
25
630
Transcript
Chief Science Officer /
[email protected]
— — 2021-03-10 – p.1/41
https://speakerdeck.com/ks91 — — 2021-03-10 – p.2/41
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 20 P2P (Peer-to-Peer) ( 2019 9 ) 2011 2018 2019 2019 2020 2020 → ( ) — — 2021-03-10 – p.3/41
: Kalle Rosenbaum , , — (2020) : 1 —
— 2021-03-10 – p.4/41
Proof of Work SegWit — — 2021-03-10 – p.5/41
— — 2021-03-10 – p.6/41
(1) = ( ) ⇒ P2P ⇒ ( ) —
— 2021-03-10 – p.7/41
(2) (double spending) ( ) ⇒ ⇒ ( ) →
( ) ( ) ( ) ⇒ → → ⇒ → — — 2021-03-10 – p.8/41
/ — — 2021-03-10 – p.9/41
/ (1) 2,100 cm3 (cc) 1 1cm3 10 6.25cm3 ⇒
⇒ ( ) — — 2021-03-10 – p.10/41
/ (2) ( ) ( ) ( ) ( )
( ) ( ) → ( ) — — 2021-03-10 – p.11/41
∼ UTXO (= ) → — — 2021-03-10 – p.12/41
∼ ท൪߸O ท൪߸O ท൪߸O લทͷμΠδΣετ λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍ Έͩ͠ίʔφʔ μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔదͳ༰
( ) → — — 2021-03-10 – p.13/41
∼ ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ͬͪ͜ͷྺ࢙͕༗ޮ ( ) — — 2021-03-10 – p.14/41
= (virtually) = = = : → ( ) —
— 2021-03-10 – p.15/41
— — 2021-03-10 – p.16/41
ϏοτίΠϯωοτϫʔΫ ɾ ճͷʮ࠾۷ʯྔ ຖʹݮ ɾ߹ܭ ສ #5$
·Ͱ औҾͷొ खྉ खྉ औҾͷঝೝ ϚΠχϯά࣌ ϚΠχϯά ࠾۷ ֬తաఔ ฏۉ ͓͖ʹޭ ૹۚࢦ֤͕ࣔࣗͭ ϓϥΠϕʔτΩʔͰ ແͨ͘͠Β࠶ൃߦෆՄ ϚΠφʔ ࠾۷ऀ ࢧ͍ɾ྆ସ ͳͲͷܦࡁ׆ಈ ར༻ऀ ϒϩοΫνΣʔϯ ݩா Πϯλʔωοτ্ͷԾωοτϫʔΫ ʜ ˞#5$ϏοτίΠϯͷ୯Ґ #5$ ରԠ ϒϩοΫ ϒϩοΫ ϒϩοΫ औҾ ૹۚ औҾͷه ΞυϨε Ѽઌ ϓϥΠϕʔτΩʔ ຊਓͷূ໌ — — 2021-03-10 – p.17/41
— — 2021-03-10 – p.18/41
μΠδΣετ ϒϩοΫ O ϚΠχϯάใु ݻఆ खྉ ೖྗͷ߹ܭͱग़ྗͷ߹ܭͷࠩ .FSLMFΛܭࢉͯ͠ ͦͷϧʔτΛ֨ೲ
͍ͣΕऔҾه͕औΓग़͞Εɺ ͦͷ࣌ͷਖ਼࢙ʹೖ͍ͬͯͳ͍ͷͳΒ ৽ͨͳϒϩοΫͷதʹ֨ೲ͞ΕΔ ᶃਖ਼ੑͷอূ ϏοτίΠϯͰ 6590 ߏ ᶄଘࡏੑͷূ໌ ϏοτίΠϯͰ࡞ۀূ໌͖ϋογϡνΣʔϯ ᶅ།Ұੑͷ߹ҙ ϏοτίΠϯͰ φΧϞτɾίϯηϯαε ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ #5$ ੜ औҾ औҾ औҾ औҾ ʜʜ ΑΓ͍ ࡞ۀূ໌ ͷίετ͕ΑΓΘ Ε͍ͯΔ νΣʔϯ ͕༗ޮͱͳΔ μΠδΣετ㱡λʔήοτ 1SPPG0G8PSL ࡞ۀূ໌ աڈͷऔҾग़ྗͷࢀর σδλϧॺ໊ ެ։ݤ Ѽઌͱྔ ίΠϯ λʔήοτ ϊϯε ೖྗ ೖྗ ग़ྗ ग़ྗ 1. 10 ( ) 2. 3. 1 — — 2021-03-10 – p.19/41
/DLT ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస ɾ
τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ — — 2021-03-10 – p.20/41
- https://blockchain.com/ — — 2021-03-10 – 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” — — 2021-03-10 – p.22/41
(1) (= ) → — — 2021-03-10 – p.23/41
(2) M A 60BTC ( ) SegWit — — 2021-03-10
– p.24/41
SegWit (Segregated Witness; ) (witness) ( ) ( TX )
— — 2021-03-10 – p.25/41
SegWit (malleability) https://bitcoincore.org/en/2016/01/26/segwit-benefits/ — — 2021-03-10 – p.26/41
— — 2021-03-10 – p.27/41
Merkle ( ) Digest = SHA-256 × SHA-256 TX (
) — — 2021-03-10 – 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 — — 2021-03-10 – p.29/41
OP_RETURN PUSH 0xaa21a9ed 4 (witness) SHA-256 32 Merkle — —
2021-03-10 – p.30/41
Proof of Work ( ) ( ) . . .
: Hashcash (1997) SHA-1 20 ( ) 0 1 1 / — — 2021-03-10 – p.31/41
— — 2021-03-10 – p.32/41
CPU → GPU → FPGA → ASIC ( ) →
→ ( ) ⇒ BTC BTC — — 2021-03-10 – p.33/41
— — 2021-03-10 – p.34/41
POW ( ) Proof Of Work . . . —
— 2021-03-10 – p.35/41
(2009 1 ∼2021 3 ) 2 → 2 2 →
→ — — 2021-03-10 – p.36/41
https://bitcoin.org/en/developer-reference — — 2021-03-10 – p.37/41
1 1 ∼ 2 — — 2021-03-10 – p.38/41
A-B — — 2021-03-10 – p.39/41
2 2 ( ) Ripple Path — — 2021-03-10 –
p.40/41
— — 2021-03-10 – p.41/41