Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ビットコインの技術 / Bitcoin Technology

Kenji Saito
September 11, 2019

ビットコインの技術 / Bitcoin Technology

2019年9月11日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ビットコインの技術」にて使用したスライドです。

Kenji Saito

September 11, 2019
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. ϏοτίΠϯͷٕज़
    ϒϩοΫνΣʔϯج൫ٕज़ʲԾ૝௨՟ͷݪܕΛ஌Ζ͏ʂʳ
    ϒϩοΫνΣʔϯϋϒ Chief Science Officer / ૣҴాେֶ େֶӃܦӦ؅ཧݚڀՊ ڭत
    ੪౻ ݡ࣐
    [email protected]
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.1/40

    View full-size slide

  2. ͜ͷεϥΠυ͸
    https://speakerdeck.com/ks91
    ʹஔ͔Ε͍ͯ·͢
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.2/40

    View full-size slide

  3. ؆୯ͳࣗݾ঺հ
    ੪౻ ݡ࣐ (͍͞ͱ͏ ͚Μ͡)
    ૣҴాେֶ େֶӃܦӦ؅ཧݚڀՊ ڭत
    ܚጯٛक़େֶ 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

    View full-size slide

  4. ࠓճͷςʔϚ
    ϏοτίΠϯɾϒϩοΫνΣʔϯͷ
    ࢓૊Έɺ
    σʔλߏ଄ͷಛ௃ɺ
    Proof of Work ͱϚΠχϯάͷҙຯɺ
    SegWitɺ
    ϖΠϝϯτνϟωϧɺ
    ߟ͑͏Δ੬ऑੑͱରࡦ
    ͳͲʹ͍ͭͯղઆ͠·͢
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.4/40

    View full-size slide

  5. ϏοτίΠϯͱ͸ʁ
    σδλϧ௨՟ͳͷͩΖ͏͚Ͳɺಛ௃͸ʁ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.5/40

    View full-size slide

  6. ϏοτίΠϯͷʮ໰͍ʯͱʮ౴͑ʯ(1)
    ϏοτίΠϯͷʮ໰͍ʯ
    ʮࣗ෼͕͍࣋ͬͯΔ͓ۚΛ͍ͭͰ΋ࣗ෼ͷ޷͖ʹૹۚ͢Δ͜ͱΛ
    ୭ʹ΋ࢭΊͤ͞ͳ͍ʯͨΊʹ͸ʁ
    ΦϯϥΠϯϖΠϝϯτͰ͸ʮࢧ෷͍ = ૹۚʯ
    (தԝ) ۜߦϚωʔ΁ͷෆ৴
    ϏοτίΠϯͷʮ౴͑ʯ
    ಛఆͷαʔϏεఏڙऀ͕͍Δ෩ʹ͸Ͱ͖ͳ͍
    ⇒ σδλϧͳίΠϯΛ P2P Ͱ΍ΓऔΓ͢Δ
    ίΠϯΛૹͬͨ͜ͱΛ൱ఆ͞ΕͨΒʁ
    ⇒ σδλϧॺ໊Λ༻͍Δ (ݕূՄೳੑͱ಺༰ͷ൱ೝෆՄೳੑͷ୲อ)
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.6/40

    View full-size slide

  7. ϏοτίΠϯͷʮ໰͍ʯͱʮ౴͑ʯ(2)
    σδλϧॺ໊͚ͩͰ͸ղ͚ͳ͍໰୊͕͋Δ
    ೋॏফඅ (double spending) Λ๷͙ඞཁ͕͋Δ (ଘࡏͷ൱ೝෆՄೳੑΛ୲อ͍ͨ͠)
    ⇒ औҾͷূڌΛ৽ฉʹࡌͤΕ͹Α͍
    ܝࡌڋ൱΍σΟείϯͷڪΕ͸ʁ
    ⇒ ܈ऺ͕ (ग़དྷࣄͷূڌͱͯ͠) ൃߦ͢Δʮ৽ฉʯʹऔҾͷূڌΛࡌͤΔ
    ϒϩοΫνΣʔϯ͸ɺ͔͋ͨ΋ʮۭதʹ໿ଋΛݻఆ͢Δʯ
    ʮ໿ଋʯͷܗࣜΛ΋ͭه࿥ΛݻఆͰ͖Δ → ՟ฎ͸ʮ໿ଋʯͰ͋Γɺެڞࡒ
    (޿͍ҙຯͷ) ެڞࡒΛެਖ਼ʹѻ͏͜ͱ͕Ͱ͖Δͱ͍͏ظ଴ (׬શͰ͸ͳ͍)
    ͜ͷߟ͑ํʹجͮ͘ίΠϯͷ౪೉͸Ұ࿈ͷࣄ݅ͷΑ͏ͳహ຤Λ୧Δ
    ʮࣗ෼͕͍࣋ͬͯΔ͓ۚΛ͍ͭͰ΋ࣗ෼ͷ޷͖ʹૹۚ͢Δ͜ͱΛ୭ʹ΋ࢭΊͤ͞ͳ͍ʯ
    ⇒ ຊਓͰ͋Δ͜ͱΛࣗ෼ࣗ਎͚ͩͰূ໌͢Δ → ൿີݤͷॴ࣋ͷθϩ஌ࣝূ໌ → ൿີݤΛ࢖͑ΔͳΒ୭Ͱ͋Εຊਓ
    ⇒ औҾ͸ສਓ͕ݕূՄೳ͕ͩऔΓফͤͳ͍ → ౪·ΕͨίΠϯ͸௥੻Ͱ͖Δ͕औΓ໭ͤͳ͍
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.7/40

    View full-size slide

  8. ϏοτίΠϯͷγεςϜ
    ϏʔΧʔ / ৽ฉϞσϧͰߟ͑Δ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.8/40

    View full-size slide

  9. ϏʔΧʔ / ৽ฉϞσϧͷੈք(1)
    ϏοτίΠϯͷϒϩοΫνΣʔϯΛ෺ཧϞσϧͰઆ໌͠·͢
    2,100 ສ cm3 (cc) ͷɺਓྨʹͱͬͯແՁ஋ͳӷମ͕͋Δ
    λϯΫʹೖ͍ͬͯΔ
    1 ԯ෼ͷ 1cm3 ·ͰܭྔͰ͖ΔϏʔΧʔΛ֤͕͍ࣗͭ͘Ͱ΋
    ࣋ͯΔ
    ެڞۭؒʹஔ͔ΕΔ
    ϏʔΧʔʹ͸ݤ෇͖ͷ֖͕͍͍ͭͯΔ
    ฏۉ 10 ෼͓͖ʹબ͹Εͨਓ͚͕ͩɺࣗ෼ͷϏʔΧʔʹࠓͳΒ
    12.5cm3 ͘Έग़ͤΔ
    ಛघͳ͘͡Ҿ͖ͰબͿ
    ౰ͨΓ͘͡͸ɺ֤ࣗͷശͷதʹ͋ΓɺͦΕͧΕ͕શྗͰ
    ͘͡ΛҾ͖·͘Δ
    ⇒ ଎͘Ҿ͚ͨํ͕༗ར
    ⇒ ʮγεςϜ͕ఀ·Βͳ͍ (ϥΠϒωε)ʯੑ࣭ΛຬͨͤΔ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.9/40

    View full-size slide

  10. ϏʔΧʔ / ৽ฉϞσϧͷੈք(2)
    ϏʔΧʔؒͰൺֱతࣗ༝ʹӷମΛ΍ΓऔΓͰ͖Δ (ਖ਼౰ੑͷอূ)
    ֖Λ։͚ΒΕΔͷ͸ݤΛ͍࣋ͬͯΔຊਓ͚ͩ
    Ұ౓։͚ͨΒɺଞͷ (ෳ਺ͷ) ϏʔΧʔʹ஫͗੾Δ
    ઌͷʮબ͹Εͨਓʯ͸ɺ΍ΓऔΓΛʮ؂ࠪʯ͠ɺ৽ฉͷࢴ໘Λ
    ͭͬͯ͘ه࿥Λ࢒͢ʮ௥هਓʯͰ΋͋Δ (ଘࡏੑͷূ໌)
    ΍ΓऔΓͷ͓͜΅Ε (ख਺ྉ) ΋΋Β͑Δ
    ಉ͡ϖʔδ൪߸͕ඃͬͨΒɺϖʔδྻͷ௕͍ํͷཤྺ͕༗ޮ
    (།Ұੑͷ߹ҙ)
    ͱ͖Ͳ͖ɺϏʔΧʔͷݤΛແ͘͢ਓ͕͍Δ
    ͦΜͳ࢓૊ΈΛσδλϧͰͭ͘Γɺ௨՟ͱݟͳͯ͠Έͨ
    → ϏοτίΠϯ
    (ݟͳ͠Λඞཁͱ͠ͳ͍՟ฎɾ௨՟͸๏՟΋ؚΊଘࡏ͠ͳ͍)
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.10/40

    View full-size slide

  11. ਖ਼౰ੑͷอূ ∼ ͍ΘΏΔ UTXO ߏ଄
    ࢀরࡁΈͷग़ྗ (=ίΠϯ) ͸ফඅࡁΈ → ೋॏফඅ͞Εͳ͍
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.11/40

    View full-size slide

  12. ଘࡏੑͷূ໌ ∼ ࡞ۀূ໌෇͖ϋογϡνΣʔϯ
    ท൪߸O ท൪߸O ท൪߸O
    લทͷμΠδΣετ
    λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍

    ͸Έͩ͠ίʔφʔ
    μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔద౰ͳ಺༰

    ϖʔδͷμΠδΣετ (҉߸ֶతϋογϡؔ਺ʹΑΔग़ྗ) ͸λʔήοτҎԼͰͳ͚Ε͹ͳΒͳ͍
    ݩͷσʔλΛͲ͏͍͡Ε͹ͲΜͳμΠδΣετʹͳΔͷ͔͸༧ΊΘ͔Βͳ͍ → ్ํ΋ͳ͍ʮ࡞ۀ ͱͦͷ ূ໌ʯΛཁ͢Δ
    ͜Ε͕͘͡Ҿ͖ͷݪཧͰ͋Γɺಉ͚ͩ͡ͷίετΛ͔͚ͳ͚Ε͹վ͟ΜͰ͖ͳ͍
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.12/40

    View full-size slide

  13. །Ұੑͷ߹ҙ ∼ φΧϞτɾίϯηϯαε
    ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
    ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
    ϖʔδ൪߸O
    ͬͪ͜ͷྺ࢙͕༗ޮ
    ΄΅ಉ࣌ʹผʑͷ୭͔͕͘͡ʹ౰ͨͬͯϖʔδྻ͕෼͔Εͯ͠·͏ݱ৅͸ͨ·ʹ͋Δ
    ʮ୭ʹ΋ࢭΊͤ͞ͳ͍ʯͨΊʹࣗ཯ɾ෼ࢄͰಈ࡞͢ΔͨΊෆՄආ
    ͘͡Ҿ͖ʹྦྷੵͰ࠷΋େ͖ͳίετ͕͔͔͍ͬͯΔྺ࢙͕࠷΋վ͟Μ͠ʹ͍͘
    ͦΕ͕ਖ਼࢙Ͱ͋Δͱશһ͕߹ҙ͢Δ (ݫີͳίϯηϯαε͸࣮ݱͰ͖͍ͯͳ͍)
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.13/40

    View full-size slide

  14. ʮ௨՟ͱݟͳͯ͠Έͨʯ
    ՟ฎɾ௨՟ʹɺݟͳ͠Λඞཁͱ͠ͳ͍ʮϗϯϞϊʯ͸ଘࡏ͠ͳ͍
    ௨՟ = ࣄ্࣮ (virtually) ՟ฎͱͯ͠௨༻͍ͯ͠ΔԿ͔ɾԾ૝՟ฎ = ͓ۚ
    ՟ฎ = ৴༻ͷ୅༻඼ɾԾ૝৴༻ = ͓ۚ
    ͢΂ͯͷ՟ฎɾ௨՟͸ɺͦΕΛʮ՟ฎɾ௨՟ͱݟͳ͢ʯ͜ͱʹΑΓଘࡏ͢Δ
    ྫ : ೔ຊۜߦ͕ൃߦ͢Δ݊Λ௨՟ͱݟͳͯ͠Έͨ
    → ೔ຊԁ
    ͕ͨͬͯ͠ɺ͢΂ͯͷ௨՟͸Ծ૝తͳଘࡏͳͷͰɺ
    ʮԾ૝௨՟ʯͱ͍͏ݴ༿͸ɺ͋Δҙຯφϯηϯε (๏཯༻ޠʹ͍ͬͨΜͳͬͪΌ
    ͚ͬͨͲ)
    ʮԾ૝௨՟ʯͬͯݴͬͪΌ͏ͱʮԾ૝Ծ૝Ծ૝৴༻ʯʹͳͬͪΌ͏
    ೔ຊԁ͸ผʹʮ࣮௨՟ʯͰ͸ͳ͍
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.14/40

    View full-size slide

  15. ϏοτίΠϯͷٕज़
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.15/40

    View full-size slide

  16. ϏοτίΠϯͷγεςϜͷ֓ཁ
    ϏοτίΠϯωοτϫʔΫ
    ɾ ճͷʮ࠾۷ʯྔ͸໿ ೥ຖʹ൒ݮ
    ɾ߹ܭ໿ ສ #5$ ·Ͱ
    औҾͷొ࿥
    ख਺ྉ
    ख਺ྉ
    औҾͷঝೝ
    ϚΠχϯά࣌

    ϚΠχϯά ࠾۷
    ͸
    ֬཰తաఔ
    ฏۉ ෼͓͖ʹ੒ޭ

    ૹۚࢦࣔ͸֤͕ࣗ΋ͭ
    ϓϥΠϕʔτΩʔͰ
    ແͨ͘͠Β࠶ൃߦෆՄ

    ϚΠφʔ
    ࠾۷ऀ

    ࢧ෷͍ɾ྆ସ
    ͳͲͷܦࡁ׆ಈ
    ར༻ऀ
    ϒϩοΫνΣʔϯ
    ݩா

    Πϯλʔωοτ্ͷԾ૝ωοτϫʔΫ

    ʜ
    ˞#5$ϏοτίΠϯͷ୯Ґ
    #5$
    ରԠ
    ϒϩοΫ ϒϩοΫ ϒϩοΫ
    औҾ ૹۚ

    औҾͷه࿥
    ΞυϨε Ѽઌ

    ϓϥΠϕʔτΩʔ
    ຊਓͷূ໌

    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.16/40

    View full-size slide

  17. ΢ΥϨοτ͸ԿΛ͍ͯ͠Δ͔
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.17/40

    View full-size slide

  18. ϏοτίΠϯϒϩοΫνΣʔϯͷ֓ཁ
    μΠδΣετ
    ϒϩοΫ O
    ϚΠχϯάใु ݻఆ஋
    ख਺ྉ ೖྗͷ߹ܭͱग़ྗͷ߹ܭͷࠩ

    .FSLMF໦Λܭࢉͯ͠
    ͦͷϧʔτ஋Λ֨ೲ
    ͍ͣΕऔҾه࿥͕औΓग़͞Εɺ
    ͦͷ࣌఺ͷਖ਼࢙ʹೖ͍ͬͯͳ͍΋ͷͳΒ
    ৽ͨͳϒϩοΫͷதʹ֨ೲ͞ΕΔ
    ᶃਖ਼౰ੑͷอূ
    ϏοτίΠϯͰ͸ 6590 ߏ଄

    ᶄଘࡏੑͷূ໌
    ϏοτίΠϯͰ͸࡞ۀূ໌෇͖ϋογϡνΣʔϯ

    ᶅ།Ұੑͷ߹ҙ
    ϏοτίΠϯͰ͸
    φΧϞτɾίϯηϯαε

    ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O ϒϩοΫ O
    ϒϩοΫ O ϒϩοΫ O
    μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ
    μΠδΣετ μΠδΣετ
    #5$
    ੜ੒
    औҾ
    औҾ औҾ औҾ
    ʜʜ
    ΑΓ௕͍ ࡞ۀূ໌
    ͷίετ͕ΑΓ෷Θ
    Ε͍ͯΔ
    νΣʔϯ
    ͕༗ޮͱͳΔ
    μΠδΣετ㱡λʔήοτ
    1SPPG0G8PSL
    ࡞ۀূ໌

    աڈͷऔҾग़ྗ΁ͷࢀর
    σδλϧॺ໊ ެ։ݤ
    Ѽઌͱྔ
    ίΠϯ

    λʔήοτ
    ϊϯε
    ೖྗ
    ೖྗ
    ग़ྗ
    ग़ྗ
    1. ֤ϚΠφʔ͸ɺաڈ 10 ෼΄Ͳͷؒʹऩूͨ͠औҾσʔλΛϒϩοΫʹ֨ೲ͠ɺϚΠχϯά (͘͡Ҿ͖) Λߦ͏
    2. ੒ޭͨ͠ΒωοτϫʔΫ಺ʹϒϩʔυΩϟετ͢Δ
    3. ֤ϚΠφʔ͸ɺͦΕΛνΣʔϯͷ৽͍͠຤ඌͱೝΊΔͳΒɺͦͷޙΖʹϒϩοΫΛܨ͛Δ΂͘ 1 ʹ໭Δ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.18/40

    View full-size slide

  19. ϒϩοΫνΣʔϯ/DLT Λཧղ͢Δ
    ਖ਼౰ੑͷอূ
    ྫ6590ߏ଄ͱσδλϧॺ໊
    ଘࡏੑͷূ໌
    ྫ࡞ۀূ໌෇͖ϋογϡνΣʔϯ
    །Ұੑͷ߹ҙ
    ྫφΧϞτɾίϯηϯαε
    ϧʔϧͷهड़
    ྫ#5$ͷҠస
    ɾ
    τϥϯβΫγϣϯͷ಺༰͕վ͟ΜͰ͖ͣɺ
    ɾ
    ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ
    ɾ
    ͔ͭɺਖ਼౰ͳϢʔβʹΑΓ౤ೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ
    ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ
    ɾ
    ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻଄Ͱ͖ͳ͍
    ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕౤ೖ͞Εͨ৔߹ɺ
    ɹ ͍ͣΕ
    ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ
    ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ

    ػೳ͕Լ͔ΒੵΈ্͕͍ͬͯ·͢
    ྫ͑͹ΞηοτΛʮϏοτίΠϯʯ
    ɺτϥϯβΫγϣϯΛʮͦͷചങʯͱஔ͖׵͑ͯಡΜͰΈ͍ͯͩ͘͞
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.19/40

    View full-size slide

  20. ϏοτίΠϯͷٕज़ - ͪΐ
    ͬͱৄࡉ΁
    ϏοτίΠϯϒϩοΫνΣʔϯͷத਎Λݟͳ͕Β
    https://blockchain.com/
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.20/40

    View full-size slide

  21. ϒϩοΫ 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

    View full-size slide

  22. औҾͱσδλϧॺ໊(1)
    ࢀরࡁΈͷग़ྗ (=ίΠϯ) ͸ফඅࡁΈ → ೋॏফඅ͞Εͳ͍
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.22/40

    View full-size slide

  23. औҾͱσδλϧॺ໊(2)
    M ͔Β A ʹ 60BTC ૹΔྫͰɺ৚݅΍ॺ໊͸࣮ࡍʹ͸εΫϦϓτͷ͔ͨͪͰهड़͞ΕΔ (౰ॳͷઃܭ)
    औҾσʔλຊମͱॺ໊ͷηΫγϣϯ͕෼͔Ε͍ͯͳ͍ͷ͸ࠜຊతͳઃܭϛεͳͷͰɺSegWit Ͱվमͨ͠
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.23/40

    View full-size slide

  24. SegWit (Segregated Witness; ূ໌෼཭ํࣜ)
    ೖྗεΫϦϓτΛऔΓ΍Ίɺग़ྗεΫϦϓτ΋؆қԽ͢Δ
    ೖྗʹ͓͚Δূ໌ (witness) ͷํ๏ΛύλʔϯԽ͠ɺূ໌ͷϦετΛͭ͘Δ (಺෦ॲཧ͸ैདྷ௨Γ)
    ैདྷํࣜʹରͯ͠લํޓ׵ੑΛอূ (ैདྷϊʔυ͔Βݟͯ΋ TX ΍ϒϩοΫ͸ਖ਼͍͠)
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.24/40

    View full-size slide

  25. SegWit ͷϝϦοτ͸ʁ
    ୈҰʹόάϑΟΫε
    లੑ (malleability) ΛࠜઈͰ͖Δ
    ͝ࢀߟ
    https://bitcoincore.org/en/2016/01/26/segwit-benefits/
    ޽Ͱ݌఻͞Ε͍ͯΔϒϩοΫαΠζӠʑ͸ɺϝϦοτͷϦετͷԼͷํ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.25/40

    View full-size slide

  26. औҾͷ࿈࠯
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.26/40

    View full-size slide

  27. Merkle ໦ (ϏοτίΠϯͷ৔߹)
    Digest = SHA-256 × SHA-256
    TX ͷଘࡏ͸ɺͦΕؚ͕·ΕΔ෦෼໦ (֤૚ͰྡʹདྷΔμΠδΣετ) ͕ఏڙ͞ΕΔͱݕূͰ͖Δ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.27/40

    View full-size slide

  28. 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

    View full-size slide

  29. ίϛοτϝϯτ
    ϒϩοΫͷσʔλʹର͢Δ৽͍͠ϧʔϧ
    ੜ੒औҾͷग़ྗεΫϦϓτʹͯɺ
    OP_RETURN ʹଓ͚ͯҎԼͷϖΠϩʔυΛ PUSH
    ߲໨ ҙຯ αΠζ
    ϔομʔ 0xaa21a9ed 4 όΠτ
    ূ໌ (witness) ϧʔτ ೋॏ SHA-256 ஋ 32 όΠτ
    ͨͩ͠ূ໌ϧʔτ͸ɺ֦ு͞ΕͨऔҾσʔλશମͷμΠδΣετʹ͍ͭͯɺ
    औҾͷ Merkle ϧʔτͱಉ༷ʹܭࢉ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.29/40

    View full-size slide

  30. Proof of Work (࡞ۀূ໌) ͱ͸ʁ
    ܭࢉίετΛ౤ೖͨ͜͠ͱͷূ໌ (ʮίϯηϯαεΛ࣮ݱ͢Δ࢓૊ΈʯͰ͸ͳ͍)
    ࡞ۀ͸ࠔ೉͕ͩɺͦͷ݁Ռͷݕূ͸༰қ
    ͦΕʹΑΓɺεύϜ΍ෆਖ਼ߦҝΛ཈ࢭ͢Δͱ͍͏͕
    . . .
    ྫ : Hashcash (1997)
    ϝʔϧϔομʹ SHA-1 ϋογϡ஋ͷ࠷ॳͷ 20 Ϗοτ (౰࣌) ͕ 0 ʹͳΔΑ͏ͳཚ਺Λ༻͍ͨ
    ελϯϓΛࡌͤΔ
    1 ௨ͷϝʔϧͷૹ৴४උʹ 1 ඵ΄Ͳ͔͔Δ
    ड৴ଆͰͷ֬ೝ͸ҰॠͰɺελϯϓ͕ແޮͳΒεύϜͱѻ͏
    ϋογϡ஋/μΠδΣετΛ༻͍Δ৔߹ͷҰൠԽ
    ͋ΔλʔήοτҎԼʹͳΔΑ͏ͳμΠδΣετͱͳΔσʔλΛݟ͚ͭΑ
    ϋογϡ஋΋਺ͳͷͰେখΛൺֱͰ͖Δ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.30/40

    View full-size slide

  31. ϚΠχϯά
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.31/40

    View full-size slide

  32. ϚΠφʔͷৼΔ෣͍
    ޮ཰Λ௥ٻ͢Δ
    ઐ༻ϋʔυ΢ΣΞͷग़ݱ
    CPU → GPU → FPGA → ASIC
    ϚΠχϯάʹ͸ (ిྗ) ίετ͕͔͔Δ
    ΋͠ɺظ଴͞ΕΔརӹ͕ίετΑΓ΋େ͖͚Ε͹
    → ΑΓଟ͘ͷϚΠφʔ͕ࢀೖ͠ϋʔυ΢ΣΞʹ౤ࢿ͢Δ
    ΋͠ɺظ଴͞ΕΔརӹ͕ίετΑΓ΋খ͚͞Ε͹
    → ϚΠφʔ͸ఫୀ͢Δ (·ͣ͸ిݯΛམͱ͢)
    ϚΠχϯά͸ूஂతʹͳΓɺαʔϏεʹͳΔ
    ݸਓ͕ΑΓ؆୯ʹࢀೖ͠ఫୀ͠΍͘͢ͳΔ
    ϚΠφʔͷूஂͱͯ͠ͷৼΔ෣͍͕ BTC ͷऔҾࢢ৔ͷܦࡁݪཧʹࠨӈ͞ΕΔ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.32/40

    View full-size slide

  33. λʔήοτͷௐ੔
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.33/40

    View full-size slide

  34. POW ʹΑΔอޢ
    औҾ͸վ͟ΜͰ͖ͳ͍͕࡟আɾ௥Ճ͸Մೳ (ϒϩοΫ͸վ͟ΜͰ͖Δ)
    Proof Of Work Λ՝͢͜ͱͰվ͟ΜΛ཈ࢭ͢Δͱ͍͏͕ . . .
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.34/40

    View full-size slide

  35. ϋογϡϨʔτͷਪҠ (2009೥1݄∼2019೥9݄)
    ѱҙ͕൒෼ͷϋογϡϨʔτΛ୲͏ͱɺਖ਼͠͞ΛอূͰ͖ͳ͘ͳΔ
    ٸܹʹ 2 ഒҎ্ʹͳΕΔͱͨ͠Βɺݪཧతʹ͸ة͏͍ → ͦͯ͠ٸܹʹ 2 ഒҎ্ʹͳΓͳ͕ΒਐΜͰ͍Δ
    ٯʹɺٸܹʹ 2 ഒҎ্ʹͳ͍͔ͬͯͳ͍ͱͨ͠Βʁ→ ѱҙʹࢀೖͷ༨஍Λ༩͑ͯ͠·͏ͱ͍͏δϨϯϚ
    ٸܹʹ൒෼ʹͳͬͨΒʁ → ݪཧతʹͱͯ΋ة͏͍ ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.35/40

    View full-size slide

  36. ΑΓৄࡉʹ͍ͭͯ͸
    https://bitcoin.org/en/developer-reference
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.36/40

    View full-size slide

  37. ϖΠϝϯτνϟωϧ
    τϥϯβΫγϣϯ 1 ճຖʹϚΠφʔʹख਺ྉΛࢧ෷͏ͱϚΠΫϩϖΠϝϯτʹ
    ͳΒͳ͍
    1 ԁ͚ͩ෷͍͍ͨͷʹख਺ྉ͕਺े ∼ ਺ඦԁͱ͔ʹͳΔ
    2 ऀؒͰσϙδοτΛஔ͖ɺࢧ෷͍ͷͨΊͷνϟωϧΛ։͖ɺด͡Δ·Ͱͷؒͷ
    ෳ਺ճͷࢧ෷͍ΛΦϑνΣʔϯͰ࣮ࢪ͢Δͱ͍͏ΞΠσΞ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.37/40

    View full-size slide

  38. ϖΠϝϯτνϟωϧ
    A-B ؒʹ௨৴νϟωϧ͕ແ͚Ε͹ͳΒͳ͍
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.38/40

    View full-size slide

  39. ϥΠτχϯάωοτϫʔΫ
    ϖΠϝϯτνϟωϧ͸ಛఆͷ 2 ऀؒ޲͚
    ෳ਺ͷϖΠϝϯτνϟωϧΛލ͍Ͱࢧ෷͏͜ͱͰɺ೚ҙͷ 2 ऀؒͷߴ଎ (͔ͭ௿ֹ)
    ͷࢧ෷͍Λ࣮ݱ
    Ripple Path ͷΑ͏ͳ΋ͷ
    ͜͜·ͰདྷΔͱނো఺͕૿͑ΔͷͰ҆ఆಈ࡞͢Δ͔ෆ҆
    Πϯλʔωοτࣗମͷӡ༻ͷΑ͏ͳϊ΢ϋ΢ͱਓख͕ඞཁʹͳΔͷͰ͸ʁ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.39/40

    View full-size slide

  40. ࣭͝໰΍ٞ࿦Λ
    ϏοτίΠϯͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-01-29 – p.40/40

    View full-size slide