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
190
ビットコインの技術 / Bitcoin Technology
2019年9月11日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。
Kenji Saito
PRO
September 11, 2019
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
14
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
73
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
30
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
33
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
160
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
86
発表と総括 / Presentations and Summary
ks91
PRO
0
61
サイバーフィジカル社会、金融の未来とアイデアソン / Cyber Physical Society, Future of Finance, and Ideathon
ks91
PRO
0
78
Other Decks in Technology
See All in Technology
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
300
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
210
AIエージェントの活用に重要な「MCP (Model Context Protocol)」とは何か
masayamoriofficial
0
300
Agile PBL at New Grads Trainings
kawaguti
PRO
1
310
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
580
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
420
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
130
[RSJ25] Feasible RAG: Hierarchical Multimodal Retrieval with Feasibility-Aware Embodied Memory for Mobile Manipulation
keio_smilab
PRO
0
110
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
220
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
120
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.5k
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
600
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
How to train your dragon (web standard)
notwaldorf
96
6.2k
A better future with KSS
kneath
239
17k
Site-Speed That Sticks
csswizardry
10
810
How STYLIGHT went responsive
nonsquared
100
5.8k
A Tale of Four Properties
chriscoyier
160
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Scaling GitHub
holman
463
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Being A Developer After 40
akosma
90
590k
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