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

ビットコイン・ブロックチェーン概論

Shu Kobuchi
October 29, 2022

 ビットコイン・ブロックチェーン概論

Open Source Conference 2022 Online Fallの発表に使用した資料です。
↓セミナー情報
https://event.ospn.jp/osc2022-online-fall/session/685055
↓日本暗号通貨ユーザ会のページ
https://cryptocurrency.connpass.com/

Shu Kobuchi

October 29, 2022
Tweet

More Decks by Shu Kobuchi

Other Decks in Technology

Transcript

  1. ϏοτίΠϯ͸Φʔϓϯιʔε ϏοτίΠϯ #JUDPJO ͸Φʔϓϯιʔε ୭Ͱ΋։ൃʹࢀՃՄೳʂ 
 IUUQTHJUIVCDPNCJUDPJOCJUDPJO ϏοτίΠϯΛ͸͡Ίɺ҉߸௨՟ɾϒϩοΫνΣʔϯͷଟ͘͸044 ٕज़తʹ΋໘ന͍ʂʂ ϥΠτίΠϯ

    -JUFDPJO ͸#JUDPJOͷιʔείʔυ͔ΒϑΥʔΫ 
 IUUQTHJUIVCDPNMJUFDPJOQSPKFDUMJUFDPJO ϞφίΠϯ .POBDPJO ͸-JUFDPJOͷιʔείʔυ͕ϕʔε 
 IUUQTHJUIVCDPNNPOBDPJOQSPKFDUNPOBDPJO ΠʔαϦΞϜ &UIFSFVN ΋Φʔϓϯιʔε 
 IUUQTHJUIVCDPNFUIFSFVNHPFUIFSFVN 4
  2. ϋογϡؔ਺ Մม௕ͷೖྗ஋ʹର͠ɺݻఆ௕ͷग़ྗ஋Λฦ͢ ཚ਺Ͱ͸ͳ͍ͷͰɺಉ͡ೖྗ஋͔Β͸ৗʹಉ͡ग़ྗ஋ΛಘΔ ग़ྗ஋͔Βೖྗ஋Λਪଌ͢Δͷ͸΄΅ෆՄೳ IUUQTXXXNPWBCMFUZQFDPVLTDSJQUTTIBIUNM 
 IUUQTHPPHM1PHF# 7 ೖྗ͸Մม௕ PQFOTPVSDF

    ग़ྗ͸ݻఆ௕ PQFOTPVSDJ CFBCCGCEBDFFD DCFBCBCCDDFCGDG CBEBEFBGCEC DBFDBEGDGFFB 4)" ϋογϡؔ਺ 4)" ϋογϡؔ਺ Ұจࣈ ม͑Δ શ͘ҟͳΔ ஋ʹ
  3. 5SBOTBDUJPOT τϥϯβΫγϣϯͷ࿮಺Ͱ͸ӈ͔Β࡞ΔʢલͷτϥϯβΫγϣϯͷѼઌ͕ࣗ෼ѼͰ͋Δ͜ͱ͕લఏʣ ̍ʣѼઌͷެ։伴Ληοτ ̎ʣલͷτϥϯβΫγϣϯϋογϡͱѼઌͷެ։伴ͷϋογϡΛϋογϡ ̏ʣ̎ʣͷϋογϡʹॺ໊ʢॺ໊ʹ͸ൿີ伴͸ؚ·Εͳ͍ʣ 10 0XOFS ΞϦεͷॺ໊ 59ͷ )BTI

    0XOFS Ϙϒͷެ։伴 0XOFS Ϙϒͷॺ໊ 59ͷ )BTI 0XOFS Ωϟϩϧ ͷެ։伴 0XOFS Ωϟϩϧ ͷॺ໊ 59ͷ )BTI 0XOFS σϏοτͷ ެ։伴 ݕ ূ ݕ ূ ॺ໊ ॺ໊ ૹۚ ૹۚ ૹۚ τϥϯβΫγϣϯ τϥϯβΫγϣϯ τϥϯβΫγϣϯ ൿີ伴 ൿີ伴
  4. ΞϦε͕Ϙϒʹ#5$ΛૹΔ Ҏલड͚औֹ͍ͬͯͨΛ߹ࢉͯ͠ɺ૬खʹૹΓɺ͓௼Γ͸ࣗ෼΁ 59தʹهࡌͷͳֹ͍ ͜͜Ͱ͸#5$ ͸ޙʹϚΠφʔ΁ τϥϯβΫγϣϯ5SBOTBDUJPO59ߏ଄ 11 ΞϦε Ϙϒ 5SBOTBDUJPO

    59 */165 065165 ΞϦε Ωϟϩϧ ΞϦεˠϘϒ #5$ ΩϟϩϧˠΞϦε #5$ ΞϦεˠΞϦε ͓௼Γ  #5$ #5$ σϏοτˠΞϦε #5$ #5$ σϏοτ ܭ#5$ ܭ#5$ ϚΠφʔ ωοτϫʔΫख਺ྉ #5$ ˞59ʹهࡌ͸ͳ͍ ൿີ伴Λࠩ͠ࠐΜͰ ϩοΫղআɿిࢠॺ໊ ΞϦεͷ ൿີ伴 ΞϦεͷ ൿີ伴 ΞϦεͷ ެ։伴 Ϙϒͷ ެ։伴 ΞϦεͷ ެ։伴 ΞϦεͷ ެ։伴
  5. ൿີ伴ɾެ։伴ɾΞυϨεͷ࣮ྫ ൿີ伴͕Θ͔Ε͹ɺੜ੒نଇ͔ΒҰҙʹܾ·ΔΞυϨεʹඥͮ͘ίΠϯΛૹۚͰ͖Δ ઈରʹଞਓʹݟΒΕͯ͸͍͚ͳ͍ 16 L ൿີ伴 1SJWBUF,FZ , ެ։伴 1VCMJD,FZ

    " ΞυϨε "EESFTT DEFCDBCEEFFDECGBED CECCFDCDFGEEECE EBDEEFBCGGFCGD DEFCDBCEEFFD ECGBEDCECCFD DYQP.#$::8$H'485EDNYJQO(6T1X
  6. ೉қ౓ௐ੔ͱใु ϒϩοΫͷϋογϡ಄/ܻ͕Ͱ͋Δ͔ʢ೉қ౓ʣ͸ϒϩοΫ͔͔ͬͨ࣌ؒΛ ෼ ೔िؒ ͱൺֱܾͯ͠Ί Δ ̍ϒϩοΫ࡞Δͷʹฏۉ෼ ೉қ౓Λ্͛Δʹ͸಄ͷͷܻ਺Λ૿΍͢ɺ೉қ౓ΛԼ͛ΔͳΒݮΒ͢ ੒ޭ֬཰͸?/ʢ/ɿܻ਺ɺϋογϡ͸ਐ਺ʣ ϒϩοΫใु͸

    (FOFTJT#MPDL ͕#5$ɺ Ͱ#5$ɺ Ͱ#5$ͱ͍͏Α͏ʹ ϒϩο Ϋ͝ͱʹใु൒ݮ ໿̐೥ʹ̍ճՆقޒྠͷ೥ͷՆࠒʹ൒ݮ͢Δ ϏοτίΠϯΛ৽نൃߦ͍ͯ͠Δ ೥ʹ৽نൃߦ͕ऴΘΓɺ૯ֹສ#5$ͱͳΔ ݶΓ͋Δۚ ΰʔϧυ ͷ࠾۷ ϚΠχϯά ʹͳͧΒ͑ͯϒϩοΫੜ੒࡞ۀͷΛϚΠχϯάͱݺͿ σϑϨܕ௨՟ͳͷͰɺର๏ఆ௨՟Ͱ#5$Ձ֨͸্͕͍ͬͯ͘܏޲ʹ͋Δ 24
  7. ใुͷҙຯ ΠϯηϯςΟϒ͕͋Δ͜ͱͰɺϚΠχϯάͱ͍͏ӡ༻΁ͷࢀՃΛଅ͢ ϚΠφʔ͕૿͑ɺϋογϡύϫʔ͕େ͖͘ͳΔͱɺϏοτίΠϯωοτϫʔΫͷηΩϡϦςΟ͕૿͢ w ੈքதͷεʔύʔίϯϐϡʔλ͕ଋʹͳͬͯ΋ϏοτίΠϯωοτϒϩοΫνΣʔϯΛվ͟ΜͰ͖ͳ͍ ϒϩοΫʹؚ·ΕΔτϥϯβΫγϣϯͷख਺ྉ΋ϚΠφʔ͕΋Β͑Δ ϒϩοΫใु৽نൃߦ ݱࡏ#5$  Є

    ϒϩοΫதͷ59ख਺ྉ 26 ϒϩοΫ 59 59 59 59 59 59 5SBOTBDUJPO 59 */165 065165 ΞϦεˠϘϒ #5$ ΩϟϩϧˠΞϦε #5$ ΞϦεˠΞϦε ͓௼Γ  #5$ σϏοτˠΞϦε #5$ ܭ#5$ ܭ#5$ ϚΠφʔ ωοτϫʔΫख਺ྉ #5$ ˞59ʹهࡌ͸ͳ͍ $PJOCBTF59 ใुΛࣗ෼΁
  8. 4JNQMJ fi FE1BZNFOU7FSJ fi DBUJPO 417ϊʔυ ΢ΥϨοτʹؔ܎͋ΔτϥϯβΫγϣϯͱϒϩοΫϔομͷΈऔಘ શͯͷτϥϯβΫγϣϯ͸֨ೲ͠ͳ͍ #JUDPJO$PSF CJUDPJOE

    Λ΢ΥϨοτػೳ༗ޮͰՔಇͤ͞Δͱ417Ϟʔυ ىಈΦϓγϣϯʹUYJOEFYΛ෇͚ΔͱશͯͷτϥϯβΫγϣϯ΋֨ೲ͢ΔϑϧϊʔυϞʔυ ϑϧϊʔυʹൺ΂ͯɺαʔόʔͷσΟεΫ࢖༻ྔΛ࡟ݮͰ͖Δ -JHIUOJOH/FUXPSLͷϞόΠϧΞϓϦͰ࢖༻͞ΕΔ͜ͱ΋ଟ͍ 29
  9. φΧϞτ࿦จൃදޙͷ#JUDPJOՔಇ ೥݄೔ 65$ ʹ#JUDPJOՔಇ (FOFTJT#MPDL%BZ  IUUQTCMPDLTUSFBNJOGPCMPDL EDBFF ff BFBBDCGCBDFG

    ϑϧϊʔυͷϒϩοΫ໨ΛݟΔͱVOJYUJNF͸Ͱ͔֬ʹ65$ 5IFHFOFTJTCMPDLDPJOCBTFJTOPUDPOTJEFSFEBOPSEJOBSZUSBOTBDUJPOBOEDBOOPUCFSFUSJFWFE w HFOFTJTCMPDLͷ$PJOCBTF5SBOTBDUJPOͷத਎͸औಘͰ͖ͳ͍ w IUUQTCMPDLTUSFBNJOGPUY BFFCBBCGBBDCDGGFDDBCCBGEFEBC 32
  10. ϒϩοΫͷঝೝ਺ ঝೝ਺͕ଟ͚Ε͹ଟ͍΄Ͳ෴Γʹ͍͘ʢ֬཰తϑΝΠφϦςΟʣ 33 TX Memory Pool(mempool) TX ࠷৽ϒϩοΫ ະঝೝʢ̌ঝೝɿ0 Confirmation)

    TX Memory Pool(mempool) TX ࠷৽ϒϩοΫ 1ঝೝɿ1 Confirmation ࣗ෼ͷૹۚTX TX ࣗ෼ͷૹۚTX TX Memory Pool(mempool) TX ࠷৽ϒϩοΫ 6ঝೝɿ6 Confirmationʢ঎औҾͰΑ͘࢖ΘΕΔঝೝ਺ʣ TX ࣗ෼ͷૹۚTX ະঝೝTX(τϥϯβΫγϣϯ) ؚ͕·ΕΔ ϚΠφʔใु͸ঝೝ͞ΕΔ·ͰϩοΫ͞Ε͍ͯͯɺͦΕ·Ͱ࢖༻Ͱ͖ͳ͍
  11. 11,) 1BZUP1VCMJD,FZ)BTIʢ11,ͷൃల൛ʣ ެ։伴ϋογϡΛ༻͍Δ͜ͱͰΞυϨεΛ୹͘දݱͰ͖Δ TDSJQU͸ʢʣ಺Ͱͷݺͼํ΋͋Δ 42 -PDLJOH4DSJQU TDSJQU1VC,FZ 6OMPDLJOH4DSJQU TDSJQU4JH TJH

    TJH1VC,01@%6101@)"4)1VC,)BTI01@&26"-7&3*':01@$)&$,4*(Λ࣮ߦ TJH 536& 1VC, TJH 1VC, TJH 1VC, 1VC, 1VC, 1VC,)BTI TJH 1VC, 1VC,)BTI 1VC,)BTI TJH 1VC, 1VC,)BTI 1VC,)BTI TJH 1VC, 01@%61 )"4) ෳ੡ 01@&26"- ౳͍͠ TJH1VC, 01@%6101@)"4)1VC,)BTI 01@&26"-7&3*':01@$)&$,4*( ಉ஋͔ 4)"ͷޙ 3*1&.% ෳ੡
  12. 11,)ʢଓ͖ʣ ࢒Γ͸11,ͱಉ͡ 43 -PDLJOH4DSJQU 6OMPDLJOH4DSJQU TJH 1VC, TJH 1VC, 

    536& $)&$,4*( TJH1VC, 01@%6101@)"4)1VC,)BTI 01@&26"-7&3*':01@$)&$,4*( ॺ໊Λݕূ
  13. Ϛϧνγάͷॺ໊ͰϒϩʔυΩϟετ PGͷ৔߹  ະॺ໊59࡞੒  ॺ໊ऀ"͕ͭ໨ͷॺ໊  ॺ໊ऀ#͕ͭ໨ͷॺ໊  ॺ໊ࡁ59Λ

    
 ϒϩʔυΩϟετ 45 ະॺ໊59 PG ॺ໊ࡁ59 ΋͏Ұਓ͸ॺ໊ෆཁ ॺ໊ऀ$ ॺ໊ऀ" ॺ໊ऀ# ॺ໊ऀ#ͷ ॺ໊ࡁ59 ॺ໊ ॺ໊ ॺ໊ऀ"ͷ ॺ໊ࡁ59 ൿີ伴" ൿີ伴$ ผਓ͕ ૢ࡞ ॺ໊͕ ἧ͏ ϒϩʔυ Ωϟετ ൿີ伴#
  14. Ϛϧνγά NPGOʢOਓதNਓͷॺ໊ͰϩοΫղআͰ͖ΔʣϚϧνγά Α͋͘ΔPGͷྫ 46 -PDLJOH4DSJQU TDSJQU1VC,FZ 6OMPDLJOH4DSJQU TDSJQU4JH 01@TJH"4JH#1VC,"1VC,#1VC,$01@$)&$,.6-5*4*( )"4)

    01@TJH"TJH# 1VC,"1VC,#1VC,$ 01@$)&$,.6-5*4*( 536&  TJHOBUVSF#  1VCMJD,FZ$  $)&$,.6-5*4*( TJHOBUVSF" 1VCMJD,FZ# 1VCMJD,FZ" 
  15. ࢀߟจݙ #JUDPJO"1FFSUP1FFS&MFDUSPOJD$BTI4ZTUFN IUUQTCJUDPJOPSHCJUDPJOQEG #JUDPJO"1FFSUP1FFS&MFDUSPOJD$BTI4ZTUFN೔ຊޠ༁ IUUQTCJUDPJOPSH fi MFTCJUDPJOQBQFSCJUDPJO@KQQEG ϏοτίΠϯ࿦จ͔Β͙͞ΔϒϩοΫνΣʔϯͷώϯτ IUUQTXXXPHJTSJDPKQPUDIJSPCBUFDIOJDBMCJUDPJOQBQFS ΞϯυϨΞεɾ.ɾΞϯτϊϓϩεஶࠓҪਸ໵

    ോ֋३Ұ࿠༁ 
 ʮϏοτίΠϯͱϒϩοΫνΣʔϯ҉߸௨՟Λࢧ͑Δٕज़ʯ/55ग़൛ ࢁ࡚ॏҰ࿠ ҆౔ໜږ ాதढ़ଠ࿠ஶ 
 ʰϒϩοΫνΣʔϯɾϓϩάϥϛϯάԾ૝௨՟ೖ໳ʱߨஊࣾ ࢁ࡚ॏҰ࿠ ҆౔ໜږ ۚࢠ༤հ ௕ాൟ޾ஶ 
 ʰϒϩοΫνΣʔϯٕज़֓࿦ཧ࿦ͱ࣮ફʱߨஊࣾ ϏοτόϯΫגࣜձࣾʰϒϩοΫνΣʔϯͷিܸʱฤूҕһձஶ 
 അᔹ๜ඒ؂मʰϒϩοΫνΣʔϯͷিܸʱ೔ܦ#1ࣾ 48