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 11, 2019
Technology
0
180
ビットコインの技術 / Bitcoin Technology
2019年9月11日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。
Kenji Saito
PRO
September 11, 2019
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
コバヤシマルテスト ─ 勝ち目のないゲームに抗いながら旅する心の旅路 / Kobayashi Maru Test - a mental journey of defiance against a game that cannot be won
ks91
PRO
0
3
セキュリティ戦略・発表と総括 / Security Strategies, Presentation and Conclusions
ks91
PRO
1
32
暗号資産の経済学・イントロダクション / Economics of Cryptocurrencies (Introduction)
ks91
PRO
0
20
AI とデジタルトランスフォーメーション / AI and Digital Transformation
ks91
PRO
0
10
インシデントレスポンス演習 II / Incident Response Exercise II
ks91
PRO
0
36
A思考の自動化とX 思考の行方 / Automation of A Thinking and the Future of X Thinking
ks91
PRO
0
23
サイバー戦の現在と未来 / Present and Future of Cyber Warfare
ks91
PRO
0
70
サイバー攻撃・防御とサイバー法 / Cyber Attacks, Defenses and Cyber Law
ks91
PRO
0
50
インシデントレスポンス演習I / Incident Response Exercise I
ks91
PRO
0
65
Other Decks in Technology
See All in Technology
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
480
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
AOAI Dev Day - Opening Session
yoshidashingo
2
470
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
190
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
390
Featured
See All Featured
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
GraphQLとの向き合い方2022年版
quramy
36
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Bash Introduction
62gerente
607
210k
BBQ
matthewcrist
82
9k
How to Think Like a Performance Engineer
csswizardry
4
590
Designing for Performance
lara
604
67k
Visualization
eitanlees
139
14k
Practical Orchestrator
shlominoach
185
10k
Transcript
ϏοτίΠϯͷٕज़ ϒϩοΫνΣʔϯج൫ٕज़ʲԾ௨՟ͷݪܕΛΖ͏ʂʳ ϒϩοΫνΣʔϯϋϒ Chief Science Officer / ૣҴాେֶ େֶӃܦӦཧݚڀՊ ڭत
੪౻ ݡ࣐
[email protected]
ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.1/40
͜ͷεϥΠυ https://speakerdeck.com/ks91 ʹஔ͔Ε͍ͯ·͢ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.2/40
؆୯ͳࣗݾհ ੪౻ ݡ࣐ (͍͞ͱ͏ ͚Μ͡) ૣҴాେֶ େֶӃܦӦཧݚڀՊ ڭत ܚጯٛक़େֶ SFC
ݚڀॴ ্੮ॴһɾڥใֶ෦ ߨࢣ (ඇৗۈ) גࣜձࣾϒϩοΫνΣʔϯϋϒ CSO (Chief Science Officer) Ұൠࣾஂ๏ਓϏϤϯυϒϩοΫνΣʔϯ දཧࣄ Ұൠࣾஂ๏ਓΞΧσϛʔΩϟϯϓ දཧࣄ ܦྺ 1993 ɺίʔωϧେֶΑΓֶम࢜߸औಘ (ίϯϐϡʔλαΠΤϯε) 2006 ɺܚጯٛक़େֶΑΓσδλϧ௨՟ͷݚڀͰത࢜߸औಘ (ࡦɾϝσΟΞ) ܚጯٛक़େֶ େֶӃ ࡦɾϝσΟΞݚڀՊ SFC ݚڀॴʹͯ 19 ؒʹΘͨΓ P2P (Peer-to-Peer) ͓Αͼσδλϧ௨՟ͷݚڀʹैࣄ 2011 ՆΑΓౡͷ͜ͲͨͪͷͨΊͷʮΞΧσϛʔΩϟϯϓʯΛؒΒͱ։࠵ ࡢՆ SFC ʹͯ ΞΧσϛʔΩϟϯϓ 2018 ՆʮΦοέʔάʔάϧɺ॓ͬͱ͍ͯʂʯΛ࣮ࢪ ࠓՆ SFC Ͱ ΞΧσϛʔΩϟϯϓ 2019 ՆʮੈքΛ࠶ൃ໌ͤΑ ∼ REINVENT THE WORLDʯΛ࣮ࢪ → ࢲͷ಄ͷதͰͭͳ͕͍ͬͯ·͢ (͜Ε͔ΒͷࣾձͷσβΠϯ͜ͲͨͪͱҰॹʹ) ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.3/40
ࠓճͷςʔϚ ϏοτίΠϯɾϒϩοΫνΣʔϯͷ Έɺ σʔλߏͷಛɺ Proof of Work ͱϚΠχϯάͷҙຯɺ SegWitɺ ϖΠϝϯτνϟωϧɺ
ߟ͑͏Δ੬ऑੑͱରࡦ ͳͲʹ͍ͭͯղઆ͠·͢ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.4/40
ϏοτίΠϯͱʁ σδλϧ௨՟ͳͷͩΖ͏͚Ͳɺಛʁ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.5/40
ϏοτίΠϯͷʮ͍ʯͱʮ͑ʯ(1) ϏοτίΠϯͷʮ͍ʯ ʮ͕͍ࣗ࣋ͬͯΔ͓ۚΛ͍ͭͰࣗͷ͖ʹૹۚ͢Δ͜ͱΛ ୭ʹࢭΊͤ͞ͳ͍ʯͨΊʹʁ ΦϯϥΠϯϖΠϝϯτͰʮࢧ͍ = ૹۚʯ (தԝ) ۜߦϚωʔͷෆ৴ ϏοτίΠϯͷʮ͑ʯ
ಛఆͷαʔϏεఏڙऀ͕͍Δ෩ʹͰ͖ͳ͍ ⇒ σδλϧͳίΠϯΛ P2P ͰΓऔΓ͢Δ ίΠϯΛૹͬͨ͜ͱΛ൱ఆ͞ΕͨΒʁ ⇒ σδλϧॺ໊Λ༻͍Δ (ݕূՄೳੑͱ༰ͷ൱ೝෆՄೳੑͷ୲อ) ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.6/40
ϏοτίΠϯͷʮ͍ʯͱʮ͑ʯ(2) σδλϧॺ໊͚ͩͰղ͚ͳ͍͕͋Δ ೋॏফඅ (double spending) Λ͙ඞཁ͕͋Δ (ଘࡏͷ൱ೝෆՄೳੑΛ୲อ͍ͨ͠) ⇒ औҾͷূڌΛ৽ฉʹࡌͤΕΑ͍ ܝࡌڋ൱σΟείϯͷڪΕʁ
⇒ ܈ऺ͕ (ग़དྷࣄͷূڌͱͯ͠) ൃߦ͢Δʮ৽ฉʯʹऔҾͷূڌΛࡌͤΔ ϒϩοΫνΣʔϯɺ͔͋ͨʮۭதʹଋΛݻఆ͢Δʯ ʮଋʯͷܗࣜΛͭهΛݻఆͰ͖Δ → ՟ฎʮଋʯͰ͋Γɺެڞࡒ (͍ҙຯͷ) ެڞࡒΛެਖ਼ʹѻ͏͜ͱ͕Ͱ͖Δͱ͍͏ظ (શͰͳ͍) ͜ͷߟ͑ํʹجͮ͘ίΠϯͷ౪Ұ࿈ͷࣄ݅ͷΑ͏ͳహΛ୧Δ ʮ͕͍ࣗ࣋ͬͯΔ͓ۚΛ͍ͭͰࣗͷ͖ʹૹۚ͢Δ͜ͱΛ୭ʹࢭΊͤ͞ͳ͍ʯ ⇒ ຊਓͰ͋Δ͜ͱΛ͚ࣗࣗͩͰূ໌͢Δ → ൿີݤͷॴ࣋ͷθϩࣝূ໌ → ൿີݤΛ͑ΔͳΒ୭Ͱ͋Εຊਓ ⇒ औҾສਓ͕ݕূՄೳ͕ͩऔΓফͤͳ͍ → ౪·ΕͨίΠϯͰ͖Δ͕औΓͤͳ͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.7/40
ϏοτίΠϯͷγεςϜ ϏʔΧʔ / ৽ฉϞσϧͰߟ͑Δ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 –
p.8/40
ϏʔΧʔ / ৽ฉϞσϧͷੈք(1) ϏοτίΠϯͷϒϩοΫνΣʔϯΛཧϞσϧͰઆ໌͠·͢ 2,100 ສ cm3 (cc) ͷɺਓྨʹͱͬͯແՁͳӷମ͕͋Δ λϯΫʹೖ͍ͬͯΔ
1 ԯͷ 1cm3 ·ͰܭྔͰ͖ΔϏʔΧʔΛ֤͕͍ࣗͭ͘Ͱ ࣋ͯΔ ެڞۭؒʹஔ͔ΕΔ ϏʔΧʔʹݤ͖ͷ֖͕͍͍ͭͯΔ ฏۉ 10 ͓͖ʹબΕͨਓ͚͕ͩɺࣗͷϏʔΧʔʹࠓͳΒ 12.5cm3 ͘Έग़ͤΔ ಛघͳ͘͡Ҿ͖ͰબͿ ͨΓ͘͡ɺ֤ࣗͷശͷதʹ͋ΓɺͦΕͧΕ͕શྗͰ ͘͡ΛҾ͖·͘Δ ⇒ ͘Ҿ͚ͨํ͕༗ར ⇒ ʮγεςϜ͕ఀ·Βͳ͍ (ϥΠϒωε)ʯੑ࣭ΛຬͨͤΔ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.9/40
ϏʔΧʔ / ৽ฉϞσϧͷੈք(2) ϏʔΧʔؒͰൺֱతࣗ༝ʹӷମΛΓऔΓͰ͖Δ (ਖ਼ੑͷอূ) ֖Λ։͚ΒΕΔͷݤΛ͍࣋ͬͯΔຊਓ͚ͩ Ұ։͚ͨΒɺଞͷ (ෳͷ) ϏʔΧʔʹ͗Δ ઌͷʮબΕͨਓʯɺΓऔΓΛʮࠪʯ͠ɺ৽ฉͷࢴ໘Λ
ͭͬͯ͘هΛ͢ʮهਓʯͰ͋Δ (ଘࡏੑͷূ໌) ΓऔΓͷ͓͜΅Ε (खྉ) Β͑Δ ಉ͡ϖʔδ൪߸͕ඃͬͨΒɺϖʔδྻͷ͍ํͷཤྺ͕༗ޮ (།Ұੑͷ߹ҙ) ͱ͖Ͳ͖ɺϏʔΧʔͷݤΛແ͘͢ਓ͕͍Δ ͦΜͳΈΛσδλϧͰͭ͘Γɺ௨՟ͱݟͳͯ͠Έͨ → ϏοτίΠϯ (ݟͳ͠Λඞཁͱ͠ͳ͍՟ฎɾ௨՟๏՟ؚΊଘࡏ͠ͳ͍) ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.10/40
ਖ਼ੑͷอূ ∼ ͍ΘΏΔ UTXO ߏ ࢀরࡁΈͷग़ྗ (=ίΠϯ) ফඅࡁΈ → ೋॏফඅ͞Εͳ͍
ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.11/40
ଘࡏੑͷূ໌ ∼ ࡞ۀূ໌͖ϋογϡνΣʔϯ ท൪߸O ท൪߸O ท൪߸O લทͷμΠδΣετ λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍
Έͩ͠ίʔφʔ μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔదͳ༰ ϖʔδͷμΠδΣετ (҉߸ֶతϋογϡؔʹΑΔग़ྗ) λʔήοτҎԼͰͳ͚ΕͳΒͳ͍ ݩͷσʔλΛͲ͏͍͡ΕͲΜͳμΠδΣετʹͳΔͷ͔༧ΊΘ͔Βͳ͍ → ్ํͳ͍ʮ࡞ۀ ͱͦͷ ূ໌ʯΛཁ͢Δ ͜Ε͕͘͡Ҿ͖ͷݪཧͰ͋Γɺಉ͚ͩ͡ͷίετΛ͔͚ͳ͚Εվ͟ΜͰ͖ͳ͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.12/40
།Ұੑͷ߹ҙ ∼ φΧϞτɾίϯηϯαε ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ͬͪ͜ͷྺ࢙͕༗ޮ ΄΅ಉ࣌ʹผʑͷ୭͔͕͘͡ʹͨͬͯϖʔδྻ͕͔Εͯ͠·͏ݱͨ·ʹ͋Δ ʮ୭ʹࢭΊͤ͞ͳ͍ʯͨΊʹࣗɾࢄͰಈ࡞͢ΔͨΊෆՄආ ͘͡Ҿ͖ʹྦྷੵͰ࠷େ͖ͳίετ͕͔͔͍ͬͯΔྺ࢙͕࠷վ͟Μ͠ʹ͍͘ ͦΕ͕ਖ਼࢙Ͱ͋Δͱશһ͕߹ҙ͢Δ (ݫີͳίϯηϯαε࣮ݱͰ͖͍ͯͳ͍) ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.13/40
ʮ௨՟ͱݟͳͯ͠Έͨʯ ՟ฎɾ௨՟ʹɺݟͳ͠Λඞཁͱ͠ͳ͍ʮϗϯϞϊʯଘࡏ͠ͳ͍ ௨՟ = ࣄ্࣮ (virtually) ՟ฎͱͯ͠௨༻͍ͯ͠ΔԿ͔ɾԾ՟ฎ = ͓ۚ ՟ฎ
= ৴༻ͷ༻ɾԾ৴༻ = ͓ۚ ͯ͢ͷ՟ฎɾ௨՟ɺͦΕΛʮ՟ฎɾ௨՟ͱݟͳ͢ʯ͜ͱʹΑΓଘࡏ͢Δ ྫ : ຊۜߦ͕ൃߦ͢Δ݊Λ௨՟ͱݟͳͯ͠Έͨ → ຊԁ ͕ͨͬͯ͠ɺͯ͢ͷ௨՟ԾతͳଘࡏͳͷͰɺ ʮԾ௨՟ʯͱ͍͏ݴ༿ɺ͋Δҙຯφϯηϯε (๏༻ޠʹ͍ͬͨΜͳͬͪΌ ͚ͬͨͲ) ʮԾ௨՟ʯͬͯݴͬͪΌ͏ͱʮԾԾԾ৴༻ʯʹͳͬͪΌ͏ ຊԁผʹʮ࣮௨՟ʯͰͳ͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.14/40
ϏοτίΠϯͷٕज़ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.15/40
ϏοτίΠϯͷγεςϜͷ֓ཁ ϏοτίΠϯωοτϫʔΫ ɾ ճͷʮ࠾۷ʯྔ ຖʹݮ ɾ߹ܭ ສ
#5$ ·Ͱ औҾͷొ खྉ खྉ औҾͷঝೝ ϚΠχϯά࣌ ϚΠχϯά ࠾۷ ֬తաఔ ฏۉ ͓͖ʹޭ ૹۚࢦ֤͕ࣔࣗͭ ϓϥΠϕʔτΩʔͰ ແͨ͘͠Β࠶ൃߦෆՄ ϚΠφʔ ࠾۷ऀ ࢧ͍ɾ྆ସ ͳͲͷܦࡁ׆ಈ ར༻ऀ ϒϩοΫνΣʔϯ ݩா Πϯλʔωοτ্ͷԾωοτϫʔΫ ʜ ˞#5$ϏοτίΠϯͷ୯Ґ #5$ ରԠ ϒϩοΫ ϒϩοΫ ϒϩοΫ औҾ ૹۚ औҾͷه ΞυϨε Ѽઌ ϓϥΠϕʔτΩʔ ຊਓͷূ໌ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.16/40
ΥϨοτԿΛ͍ͯ͠Δ͔ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.17/40
ϏοτίΠϯϒϩοΫνΣʔϯͷ֓ཁ μΠδΣετ ϒϩοΫ O ϚΠχϯάใु ݻఆ खྉ ೖྗͷ߹ܭͱग़ྗͷ߹ܭͷࠩ .FSLMFΛܭࢉͯ͠
ͦͷϧʔτΛ֨ೲ ͍ͣΕऔҾه͕औΓग़͞Εɺ ͦͷ࣌ͷਖ਼࢙ʹೖ͍ͬͯͳ͍ͷͳΒ ৽ͨͳϒϩοΫͷதʹ֨ೲ͞ΕΔ ᶃਖ਼ੑͷอূ ϏοτίΠϯͰ 6590 ߏ ᶄଘࡏੑͷূ໌ ϏοτίΠϯͰ࡞ۀূ໌͖ϋογϡνΣʔϯ ᶅ།Ұੑͷ߹ҙ ϏοτίΠϯͰ φΧϞτɾίϯηϯαε ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ #5$ ੜ औҾ औҾ औҾ औҾ ʜʜ ΑΓ͍ ࡞ۀূ໌ ͷίετ͕ΑΓΘ Ε͍ͯΔ νΣʔϯ ͕༗ޮͱͳΔ μΠδΣετ㱡λʔήοτ 1SPPG0G8PSL ࡞ۀূ໌ աڈͷऔҾग़ྗͷࢀর σδλϧॺ໊ ެ։ݤ Ѽઌͱྔ ίΠϯ λʔήοτ ϊϯε ೖྗ ೖྗ ग़ྗ ग़ྗ 1. ֤ϚΠφʔɺաڈ 10 ΄Ͳͷؒʹऩूͨ͠औҾσʔλΛϒϩοΫʹ֨ೲ͠ɺϚΠχϯά (͘͡Ҿ͖) Λߦ͏ 2. ޭͨ͠ΒωοτϫʔΫʹϒϩʔυΩϟετ͢Δ 3. ֤ϚΠφʔɺͦΕΛνΣʔϯͷ৽͍͠ඌͱೝΊΔͳΒɺͦͷޙΖʹϒϩοΫΛܨ͛Δ͘ 1 ʹΔ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.18/40
ϒϩοΫνΣʔϯ/DLT Λཧղ͢Δ ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస
ɾ τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ ػೳ͕Լ͔ΒੵΈ্͕͍ͬͯ·͢ ྫ͑ΞηοτΛʮϏοτίΠϯʯ ɺτϥϯβΫγϣϯΛʮͦͷചങʯͱஔ͖͑ͯಡΜͰΈ͍ͯͩ͘͞ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.19/40
ϏοτίΠϯͷٕज़ - ͪΐ ͬͱৄࡉ ϏοτίΠϯϒϩοΫνΣʔϯͷதΛݟͳ͕Β https://blockchain.com/ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-01-29 – p.20/40
ϒϩοΫ 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 ͱਐΉ ग़͖ͯͨϒϩοΫͷ།ҰͷऔҾͷதΛݟΔ ͲΜͳҙਤ͔ʁ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.21/40
औҾͱσδλϧॺ໊(1) ࢀরࡁΈͷग़ྗ (=ίΠϯ) ফඅࡁΈ → ೋॏফඅ͞Εͳ͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-01-29 – p.22/40
औҾͱσδλϧॺ໊(2) M ͔Β A ʹ 60BTC ૹΔྫͰɺ݅ॺ໊࣮ࡍʹεΫϦϓτͷ͔ͨͪͰهड़͞ΕΔ (ॳͷઃܭ) औҾσʔλຊମͱॺ໊ͷηΫγϣϯ͕͔Ε͍ͯͳ͍ͷࠜຊతͳઃܭϛεͳͷͰɺSegWit Ͱվमͨ͠
ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.23/40
SegWit (Segregated Witness; ূ໌ํࣜ) ೖྗεΫϦϓτΛऔΓΊɺग़ྗεΫϦϓτ؆қԽ͢Δ ೖྗʹ͓͚Δূ໌ (witness) ͷํ๏ΛύλʔϯԽ͠ɺূ໌ͷϦετΛͭ͘Δ (෦ॲཧैདྷ௨Γ) ैདྷํࣜʹରͯ͠લํޓੑΛอূ
(ैདྷϊʔυ͔Βݟͯ TX ϒϩοΫਖ਼͍͠) ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.24/40
SegWit ͷϝϦοτʁ ୈҰʹόάϑΟΫε లੑ (malleability) ΛࠜઈͰ͖Δ ͝ࢀߟ https://bitcoincore.org/en/2016/01/26/segwit-benefits/ Ͱ͞Ε͍ͯΔϒϩοΫαΠζӠʑɺϝϦοτͷϦετͷԼͷํ ϏοτίΠϯͷٕज़
— ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.25/40
औҾͷ࿈ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.26/40
Merkle (ϏοτίΠϯͷ߹) Digest = SHA-256 × SHA-256 TX ͷଘࡏɺͦΕؚ͕·ΕΔ෦
(֤ͰྡʹདྷΔμΠδΣετ) ͕ఏڙ͞ΕΔͱݕূͰ͖Δ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.27/40
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 ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.28/40
ίϛοτϝϯτ ϒϩοΫͷσʔλʹର͢Δ৽͍͠ϧʔϧ ੜऔҾͷग़ྗεΫϦϓτʹͯɺ OP_RETURN ʹଓ͚ͯҎԼͷϖΠϩʔυΛ PUSH ߲ ҙຯ αΠζ ϔομʔ
0xaa21a9ed 4 όΠτ ূ໌ (witness) ϧʔτ ೋॏ SHA-256 32 όΠτ ͨͩ͠ূ໌ϧʔτɺ֦ு͞ΕͨऔҾσʔλશମͷμΠδΣετʹ͍ͭͯɺ औҾͷ Merkle ϧʔτͱಉ༷ʹܭࢉ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.29/40
Proof of Work (࡞ۀূ໌) ͱʁ ܭࢉίετΛೖͨ͜͠ͱͷূ໌ (ʮίϯηϯαεΛ࣮ݱ͢ΔΈʯͰͳ͍) ࡞ۀࠔ͕ͩɺͦͷ݁Ռͷݕূ༰қ ͦΕʹΑΓɺεύϜෆਖ਼ߦҝΛࢭ͢Δͱ͍͏͕ .
. . ྫ : Hashcash (1997) ϝʔϧϔομʹ SHA-1 ϋογϡͷ࠷ॳͷ 20 Ϗοτ (࣌) ͕ 0 ʹͳΔΑ͏ͳཚΛ༻͍ͨ ελϯϓΛࡌͤΔ 1 ௨ͷϝʔϧͷૹ৴४උʹ 1 ඵ΄Ͳ͔͔Δ ड৴ଆͰͷ֬ೝҰॠͰɺελϯϓ͕ແޮͳΒεύϜͱѻ͏ ϋογϡ/μΠδΣετΛ༻͍Δ߹ͷҰൠԽ ͋ΔλʔήοτҎԼʹͳΔΑ͏ͳμΠδΣετͱͳΔσʔλΛݟ͚ͭΑ ϋογϡͳͷͰେখΛൺֱͰ͖Δ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.30/40
ϚΠχϯά ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.31/40
ϚΠφʔͷৼΔ͍ ޮΛٻ͢Δ ઐ༻ϋʔυΣΞͷग़ݱ CPU → GPU → FPGA → ASIC
ϚΠχϯάʹ (ిྗ) ίετ͕͔͔Δ ͠ɺظ͞ΕΔརӹ͕ίετΑΓେ͖͚Ε → ΑΓଟ͘ͷϚΠφʔ͕ࢀೖ͠ϋʔυΣΞʹࢿ͢Δ ͠ɺظ͞ΕΔརӹ͕ίετΑΓখ͚͞Ε → ϚΠφʔఫୀ͢Δ (·ͣిݯΛམͱ͢) ϚΠχϯάूஂతʹͳΓɺαʔϏεʹͳΔ ݸਓ͕ΑΓ؆୯ʹࢀೖ͠ఫୀ͘͢͠ͳΔ ϚΠφʔͷूஂͱͯ͠ͷৼΔ͍͕ BTC ͷऔҾࢢͷܦࡁݪཧʹࠨӈ͞ΕΔ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.32/40
λʔήοτͷௐ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.33/40
POW ʹΑΔอޢ औҾվ͟ΜͰ͖ͳ͍͕আɾՃՄೳ (ϒϩοΫվ͟ΜͰ͖Δ) Proof Of Work Λ՝͢͜ͱͰվ͟ΜΛࢭ͢Δͱ͍͏͕ . .
. ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.34/40
ϋογϡϨʔτͷਪҠ (20091݄∼20199݄) ѱҙ͕ͷϋογϡϨʔτΛ୲͏ͱɺਖ਼͠͞ΛอূͰ͖ͳ͘ͳΔ ٸܹʹ 2 ഒҎ্ʹͳΕΔͱͨ͠Βɺݪཧతʹة͏͍ → ͦͯ͠ٸܹʹ 2 ഒҎ্ʹͳΓͳ͕ΒਐΜͰ͍Δ
ٯʹɺٸܹʹ 2 ഒҎ্ʹͳ͍͔ͬͯͳ͍ͱͨ͠Βʁ→ ѱҙʹࢀೖͷ༨Λ༩͑ͯ͠·͏ͱ͍͏δϨϯϚ ٸܹʹʹͳͬͨΒʁ → ݪཧతʹͱͯة͏͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.35/40
ΑΓৄࡉʹ͍ͭͯ https://bitcoin.org/en/developer-reference ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.36/40
ϖΠϝϯτνϟωϧ τϥϯβΫγϣϯ 1 ճຖʹϚΠφʔʹखྉΛࢧ͏ͱϚΠΫϩϖΠϝϯτʹ ͳΒͳ͍ 1 ԁ͚͍͍ͩͨͷʹखྉ͕े ∼ ඦԁͱ͔ʹͳΔ 2
ऀؒͰσϙδοτΛஔ͖ɺࢧ͍ͷͨΊͷνϟωϧΛ։͖ɺด͡Δ·Ͱͷؒͷ ෳճͷࢧ͍ΛΦϑνΣʔϯͰ࣮ࢪ͢Δͱ͍͏ΞΠσΞ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.37/40
ϖΠϝϯτνϟωϧ A-B ؒʹ௨৴νϟωϧ͕ແ͚ΕͳΒͳ͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.38/40
ϥΠτχϯάωοτϫʔΫ ϖΠϝϯτνϟωϧಛఆͷ 2 ऀ͚ؒ ෳͷϖΠϝϯτνϟωϧΛލ͍Ͱࢧ͏͜ͱͰɺҙͷ 2 ऀؒͷߴ (ֹ͔ͭ) ͷࢧ͍Λ࣮ݱ Ripple
Path ͷΑ͏ͳͷ ͜͜·ͰདྷΔͱނো͕૿͑ΔͷͰ҆ఆಈ࡞͢Δ͔ෆ҆ Πϯλʔωοτࣗମͷӡ༻ͷΑ͏ͳϊϋͱਓख͕ඞཁʹͳΔͷͰʁ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.39/40
࣭ٞ͝Λ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.40/40