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

ブロックチェーン初心者のためのビットコイン送金体験

D3e027f453bb96ac1398cc98620f2920?s=47 Shu Kobuchi
November 07, 2020

 ブロックチェーン初心者のためのビットコイン送金体験

今注目を集める暗号通貨ビットコインとその基盤技術ブロックチェーン。
ビットコインもオープンソースでできています。
難しいと言われるビットコインやブロックチェーンですが、
送金を行うなど実際に使ってみるのはキャッシュレス決済と同じで簡単です。
ビットコインのテストネットワークで実際に送金を体験していただくことで
仕組みの理解を深めていただけます。
なお、テストネットのビットコインは無料で入手できますのでお気軽にご参加ください。

2020年11月7日(土)関西オープンフォーラム(KOF)にて発表
https://k-of.jp/backend/session/1379

D3e027f453bb96ac1398cc98620f2920?s=128

Shu Kobuchi

November 07, 2020
Tweet

Transcript

  1. ॳ৺ऀͷͨΊͷϏοτίΠϯૹۚମݧ ೥݄೔!,0' ؔ੢ΦʔϓϯϑΥʔϥϜ  ೔ຊ҉߸௨՟Ϣʔβձɹখᔹप 4IV,PCVDIJ

  2. ࣗݾ঺հ খᔹपɹ4IV,PCVDIJɹ!TIV@LPCTIVLPCVDIJ ෱Ԭݝ൧௩ࢢੜ·Εɹฌݿݝ੢ٶࢢɾๅ௩ࢢҭͪ ਆށେֶւࣄՊֶ෦ଔۀ ಸྑઌ୺Պֶٕज़େֶӃେֶ৘ใՊֶݚڀՊम࢜ྃ मྃޙɺՈిϝʔΧʔɺ4*FSͰͷडୗ։ൃ౳ લ൒େࡕͷϕϯνϟʔͰ#JUDPJO8FC8BMMFUࢼ࡞඼։ൃ ʙ*5ϕϯμʔͷେࡕࢧࣾʹೖࣾ͠4& w ʙϒϩοΫνΣʔϯͷاը౳ਪਐͷͨΊ౦ژຊࣾసۈ

    ʙԾ૝௨՟ɾϒϩοΫνΣʔϯελʔτΞοϓͷγχΞιϑτ ΢ΣΞΤϯδχΞ w ҉߸ࢿ࢈ࣄۀऀ޲͚΢ΥϨοτ։ൃɾӡ༻ TIVLPC 2
  3. ίϛϡχςΟ঺հ ೔ຊ҉߸௨՟ϢʔβձɹIUUQTDSZQUPDVSSFODZDPOOQBTTDPN ʮϏοτίΠϯͱ͔ษڧձʯʢ݄̍ճɿฏ೔໷ʣ w ݄೔ ۚ ʙʮϏοτίΠϯΩϟογϡͱ͔ษڧձʯ ʮ҉߸௨՟ಡॻձʯʢ݄̍ճɿฏ೔໷ʣ w ࣍ճௐ੔த

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

    ͸#JUDPJOͷιʔείʔυ͔ΒϑΥʔΫ
 IUUQTHJUIVCDPNMJUFDPJOQSPKFDUMJUFDPJO ϞφίΠϯ .POBDPJO ͸-JUFDPJOͷιʔείʔυ͕ϕʔε
 IUUQTHJUIVCDPNNPOBDPJOQSPKFDUNPOBDPJO ΠʔαϦΞϜ &UIFSFVN ΋Φʔϓϯιʔε
 IUUQTHJUIVCDPNFUIFSFVNHPFUIFSFVN 4
  5. ςετωοτ ϝΠϯωοτ ςετωοτ ಠཱ ຊ෺ͷϏοτίΠϯ͕ྲྀ௨͢ΔωοτϫʔΫ͕ϝΠϯωοτ NBJOOFU ɺ։ൃ ࣌ͳͲʹຊ෺ͷϏοτίΠϯΛ࢖༻͠ͳͯ͘΋͍͍Α͏ʹɺςετωοτ UFTUOFU ͕༻ҙ͞Ε͍ͯ·͢ɻςετωοτ΋ύϒϦοΫͳωοτϫʔΫͰɺ

    ϝΠϯωοτͱ͸ಠཱͨ͠ωοτϫʔΫͰ͢ɻ 5
  6. ΢ΥϨοτͷछྨ Copay େ෦෼͸೔ຊޠରԠ #JUDPJO$BTI΋ಉҰΞϓϦͰରԠ ϞόΠϧ΢ΥϨοτͷྫ ଟछଟ༷ͳ΢ΥϨοτ͕ଘࡏ தʹ͸ةݥͳ΢ΥϨοτ͕͋Δ͔΋Ε·ͤΜ 044΋ଟ਺͋Γ ࠓճ͸ɺ೔ຊޠʹ΋ରԠͨ͠ςετωοτରԠ΢ΥϨοτʮ#MPDLTUSFBN (SFFOʯΛ࢖༻

    6 Blockstream Green ੈքత#JUDPJOελʔτΞοϓ #MPDLTUSFBN͕ࣾ044Ͱ։ൃ
  7. #MPDLTUSFBN(SFFO͸044 #MPDLTUSFBNࣾ͸ੈքతͳ#JUDPJOελʔτΞοϓͰɺ༷ʑͳ#JUDPJOͷ044Λ ։ൃ (SFFOJ04ͷ(JU)VCϦϙδτϦ IUUQTHJUIVCDPN#MPDLTUSFBNHSFFO@JPT (SFFO"OESPJEͷ(JU)VCϦϙδτϦ IUUQTHJUIVCDPN#MPDLTUSFBNHSFFO@BOESPJE 7

  8. #MPDLTUSFBN(SFFOΛΠϯετʔϧ IUUQTCMPDLTUSFBNDPNHSFFO IUUQCJUMZCUDHSFFO 8 Πϯετʔϧ ݕࡧͷ৔߹ CMPDLTUSFBNHSFFO

  9. (SFFO8BMMFUΛىಈ ΠϯετʔϧͰ͖ͨΒ(SFFO8BMMFUΛ։͖·͢ ˞εϚϗΩϟϓνϟ͸J1IPOFͷ৔߹ɻ"OESPJEΛ͓࢖͍ͷํ͸ɺదٓಡΈସ ͍͑ͯͩ͘͞ɻ 9 5FTUOFUʹ ੾Γସ͑ 5FTUOFUʹ ੾Γସ͑ͨޙ ԡԼ

  10. ෮ݩϑϨʔζ ෮ݩϑϨʔζʢχʔϞχοΫίʔυʣ͕͋ΔͱɺΞϓϦʹΞΫηεͰ͖ͳ͘ ͳͬͨΓɺΞϯΠϯετʔϧͯ͠΋ɺ΢ΥϨοτΛ෮ݩͰ͖·͢ɻʢ(SFFO 8BMMFUҎ֎ͷ΢ΥϨοτͰ΋ՄೳͰ͢ʣ ෮ݩϑϨʔζ͸ൿີ伴ͷେݩͰ͋Γɺઈରʹ୭͔ʹ஌ΒΕͯ͸͍͚·ͤΜɻ εΫϦʔϯγϣοτΛࡱΔ͜ͱ΋͓εεϝ͠·ͤΜɻΫϥ΢υΛܦ༝ͯ͠୭͔ ʹ࢖ΘΕΔ͔΋͠Ε·ͤΜɻࢴʹϝϞͯ͠ɺ୭ʹ΋஌ΒΕͳ͍Α͏ʹอଘ͠· ͠ΐ͏ɻ 10 ޠºϖʔδޠ

    Λॱ൪௨ΓʹϝϞ ॱং͕߹͏Α͏XPSEΛબ୒ ͜͜Ͱ͸൪໨ͷXPSEͰ લͷޠ͸൪໨ ޙͷޠ͸൪໨
  11. ෮ݩϑϨʔζͱൿີ伴 ෮ݩϑϨʔζ (χʔϞχοΫ ίʔυ) ΢ΥϨοτ ̺ ൿີ伴 Ϛελʔ伴 ̺ ൿີ伴

    ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ࢠ伴 ଙ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ̺ ൿີ伴 ෮ݩϑϨʔζ͸ɺൿີ伴ੜ੒ͷγʔυʹͳΓ·͢ 伴ଋͷΑ͏ͳ΋ͷͳͷͰɺઈରʹଞਓʹ஌ΒΕͯ͸ͳΓ·ͤΜ 11
  12. 1*/ઃఆͱஈ֊ೝূͷઃఆ 1*/ίʔυͷઃఆͱஈ֊ೝূΛઃఆ͢Δͱ#JUDPJOςετωοτ΢ΥϨοτ͕ ࢖͑ΔΑ͏ʹͳΓ·͢ 12 ޙͰ΋ઃఆͰ͖Δͷ Ͱࠓ͸શͯΦϑͰ 0,

  13. ड͚औΓ ड͚औΓ͸૬खʹΞυϨεΛڭ͑ΔߦҝͰ͢ ֹۚΛࢦఆ͢Δ͜ͱ΋Ͱ͖·͢ 13 ϝοηʔδ͕ग़ ͯ͘Ε͹0, 23ίʔυΛ λοϓͯ͠Ξυ ϨεΛίϐʔ

  14. ςετωοτͰडऔ ςετωοτ༻ϏοτίΠϯΛແྉͰ഑෍ͯ͘͠Ε͍ͯΔαΠτ͕͋Γ·͢ IUUQTDPJOGBVDFUFVFOCUDUFTUOFU IUUQCJUMZUFTUCUD 'BVDFU͸ऄޱͱ͍͏ҙຯͰɺόϥϚΩॴͰ͢ɻ ςετωοτ༻ίΠϯͷ'BVDFU͸ෳ਺͋ΓɺϏοτίΠϯҎ֎ͷ΋͋Γ·͢ 14 ಉҰ*1͔Β͸͠͹Β͘ड͚ औΓ͕Ͱ͖ͳ͘ͳΔͷͰɺ ձ৔ͷ8J'JΛ͓࢖͍ͷํ

    ͸ɺΩϟϦΞͷి೾͔ݸਓ ͷϙέοτ8J'JΛ͓࢖͍ ͍ͩ͘͞ ίϐʔͨ͠Ξυ ϨεΛϖʔετ ͯ͠຃ΛԡԼ
  15. ςετωοτͰडऔ ը૾ೝূͰਖ਼ղ͢Ε͹ɺ5FTUOFU#JUDPJOΛड͚औΕ·͢ɻ 15 ड͚औΓ੒ޭ

  16. ड͚औΓͷ֬ೝ ϒϩοΫνΣʔϯΤΫεϓϩʔϥͰड͚औͬͨτϥϯβΫγϣϯͷ֬ೝ 16

  17. ϒϩοΫͷঝೝ਺ ঝೝ਺͕ଟ͚Ε͹ଟ͍΄Ͳ෴Γʹ͍͘ʢ֬཰తϑΝΠφϦςΟʣ 17 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(τϥϯβΫγϣϯ) ؚ͕·ΕΔ ϚΠφʔใु͸ঝೝ͞ΕΔ·ͰϩοΫ͞Ε͍ͯͯɺͦΕ·Ͱ࢖༻Ͱ͖ͳ͍
  18. ϨʔτΛ64%͔Β+1:ʹมߋ ςετωοτ͸ແՁ஋ͳͷͰ64%ɺ+1:ͳͲ๏ఆ௨՟ͷϨʔτ͸ແҙຯ ϝΠϯωοτͰ࢖͏৔߹͸੾Γସ͓͑ͯ͘ͱΘ͔Γ΍͍͢ 18 +1:഑৴αʔόʹ ੾Γସ͑ΒΕͨ

  19. ड͚औΓΞυϨε͸ຖճҟͳΔ ड͚औΓΞυϨε͸ຖճҟͳΔʢϓϥΠόγʔͷ֬อͷͨΊʣ ෳ਺ΞυϨεͷ#5$͸·ͱΊͯૹۚͰ͖ΔͷͰ୯ҰΞυϨε͚ͩͷ࢖༻͸ෆཁ ड͚औΓֹͷࢦఆΛ+1:Ͱೖྗͯ͠#5$ʹ׵ࢉՄೳ 19 ઌ΄Ͳͱ͸ ҟͳΔΞυϨε มߋՄೳ λοϓ +1:ʹมߋ

    ͞Εͨ
  20. ΞϦε͕Ϙϒʹ#5$ΛૹΔ Ҏલड͚औֹ͍ͬͯͨΛ߹ࢉͯ͠ɺ૬खʹૹΓɺ͓௼Γ͸ࣗ෼΁ 59தʹهࡌͷͳֹ͍ ͜͜Ͱ͸#5$ ͸ޙʹϚΠφʔ΁ τϥϯβΫγϣϯ5SBOTBDUJPO59 20 ΞϦε Ϙϒ 5SBOTBDUJPO

    59 */165 065165 ΞϦε Ωϟϩϧ ΞϦεˠϘϒ #5$ ΩϟϩϧˠΞϦε #5$ ΞϦεˠΞϦε ͓௼Γ  #5$ #5$ σϏοτˠΞϦε #5$ #5$ σϏοτ ܭ#5$ ܭ#5$ ϚΠφʔ ωοτϫʔΫख਺ྉ #5$ ˞59ʹهࡌ͸ͳ͍ ൿີ伴Λࠩ͠ࠐΜͰ ϩοΫղআɿిࢠॺ໊ ΞϦεͷ ൿີ伴 ΞϦεͷ ൿີ伴 ΞϦεͷ ެ։伴 Ϙϒͷ ެ։伴 ΞϦεͷ ެ։伴 ΞϦεͷ ެ։伴
  21. ૹۚ ۙ͘ͷ੮ͷํͱૹΓ߹ͬͯΈ·͠ΐ͏ ยํ͕ૹۚɺยํ͕डऔ 21 ૹۚଆ डऔଆ डऔଆ͸23 ΛݟͤΔ ૹۚଆ͸23ΛಡΈऔΔ ૹֹۚ

    ೖྗ ख਺ྉ ࢦఆ ԡԼ
  22. ૹۚͷ֬ೝ ड͚औΓͷํ͸ड͚औͬͨτϥϯβΫγϣϯΛ֬ೝ͍ͯͩ͘͠͞ 22 εϥΠυ

  23. डऔͱૹۚͷΦϓγϣϯ डऔը໘ͰૹֹۚΛࢦఆͨ͠23ίʔυΛੜ੒Մೳ ϝΠϯωοτͰൿີ伴͕ଞਓʹݟΒΕͨՄೳੑ͕͋ΔͳΒɺʮશͯͷࢿۚΛૹ ۚ͢ΔʯΛ࣮ࢪͯ͠ୀආ 23 5FTUOFUͰϨʔτ ͸ͳ͍͕ (SFFOͰ͸ 64%#5$ .BJOOFUͩͱ

    ݸਓؒͷૹۚ Ͱ࢖ͬͨΓ͢ Δ
  24. ϏοτίΠϯͷϢʔεέʔε ϏοτίΠϯ͸Ծ૝௨՟ͷதͰ͸ɺ࠷΋ϙϐϡϥʔͳࢧ෷͍खஈ 24 ϏοΫΧϝϥ͸CJU'MZFSͱఏܞ͓ͯ͠Γɺ ϏοτίΠϯࢧ෷͍Մೳ
 ʢCJU'MZFSͷΞΧ΢ϯτ͸ෆཁʣ ϏοτίΠϯͰߪೖͨ͠ SHARP੡υϥΠϠʔ

  25. ϏοτίΠϯͷϢʔεέʔε ҿ৯ళͰ΋౦ژΛத৺ʹԾ૝௨՟ܾࡁՄೳͳళ͕͋Δ ࿡ຊ໦ͷόʔʮ5XP%PHT5BQSPPNʯͰ͸ΫϥϑτϏʔϧ΍ੴ༼Ͱম͔Εͨ ຊ֨1J[[BΛָ͠ΊΔ 25

  26. ϏοτίΠϯͷख਺ྉ ϒϩοΫੜ੒ͰಘΒΕΔϏοτίΠϯใुͱख਺ྉͷྫ ͷ৔߹͸ɺϒϩοΫใु ख਺ྉ߹ܭ#5$ IUUQTCMPDLDIBJOJOGPCMPDL DBEEGDDBBGCFFGDBDEB 26 ࢀߟʣࠞࡶ࣌

  27. τϥϯβΫγϣϯΛ೔ຊԁͷࢧ෷͍Ͱྫ͑Δ ΞϦε͕Ϙϒͷఆ৯԰ͰԁͷϥϯνΛ৯΂·ͨ͠ɻ ΞϦε͸ԁࡳΛຕɺԁࡳΛຕɺԁۄΛຕ͍࣋ͬͯ·͢ɻ ΞϦε͸ࢧ෷͍ʹɺԁࡳຕɺԁۄຕΛ࢖͍·ͨ͠ɻ ԁΛ౉͢ͱɺ͓௼Γ͸ԁͰ͢ɻ τϥϯβΫγϣϯ͸*/165෦ʢऩೖʣͱ065165෦ʢࢧग़ʣͷऩࢧ͕߹͏ෳࣜ฽ه Ͱ͢ɻ 27 ΞϦε Ϙϒ

    ΞϦε τϥϯβΫγϣϯ 1000ԁࡳ 500ԁۄ INPUT OUTPUT ࢧ෷ 1200ԁ ߹ܭ1500ԁ ͓௼Γ 300ԁ ߹ܭ1500ԁ
  28. ҉߸ࢿ࢈ܾࡁͱଞͷܾࡁखஈͱͷൺֱ ೔ຊͰ΋ීٴ͖͍ͯͯ͠ΔΩϟογϡϨεܾࡁ ΫϨδοτΧʔυ΍1BZQBZͳͲϞόΠϧܾࡁͱ҉߸ࢿ࢈ܾࡁ͸ಉ͘͡Ωϟο γϡϨεͷిࢠܾࡁʹ͸มΘΓͳ͍͕ɺ҉߸ࢿ࢈ʹ͸ಗ໊ੑ͕͋Δ ΩϟογϡϨε͸ސ٬৘ใΛΠϯηϯςΟϒʹͯ͠ސ٬ʹϙΠϯτ౳ͷؐݩΛ ߦ͏ ·ͨɺ෼ࢄܕͰதԝ؅ཧऀ͕͍ͳ͍ͷ΋ଞͱશ͘ҟͳΔಛ௃ ࠃՈɾதԝۜߦ͕σδλϧ๏ఆ௨՟Λൃߦ͢Δࡍ͸ɺඇಗ໊Ͱ͋Δͱܦࡁ׆ಈ ͷ؂ࢹ͕Ͱ͖ͯ͠·͏ͨΊɺಗ໊ੑͷߟྀ͕ඞཁ 28

    ಗ໊ ʢՁ஋Ҏ֎ͷ৘ใͳ͠ ඇಗ໊ Ωϟογϡ ݱۚ খ੾ख ΩϟογϡϨε ʢిࢠܾࡁʣ ҉߸ࢿ࢈ ΫϨδοτΧʔυʗ ʓʓQBZ౳ϞόΠϧܾࡁ
  29. ؔ੢ͰͷϒϩοΫνΣʔϯͷಈ͖ IUUQTKQDPJOUFMFHSBQIDPNOFXTTCJIPMEJOHTLJUBPDFPTBJEUIBU TCJXJMMDSFBUFTFDVSJUZUPLFOFYDIBOHFJOPTBLB 4#*)%๺ඌ$&0͕େࡕͰ450ڌ఺։ઃͷߟ͑ 29

  30. .BJOOFU ຊ෺ ͷίΠϯͷೖखํ๏ .BJOOFUͷ#5$͸҉߸ࢿ࢈ަ׵ॴͰޱ࠲Λ։͍͓ͯങ͍ٻΊ͍ͩ͘͞ ˞౤ࢿΛਪ঑͢Δ໨తͰ͸͍͟͝·ͤΜ 30

  31. ࢓૊Έͷղઆ ࠓճ͸ૹۚମݧͰ͕ͨ͠ɺ࢓૊Έʹ͍ͭͯͷ04$ΦϯϥΠϯͰղઆ͠ ·ͨ͠ͷͰɺ͝ཡ͍ͩ͘͞ʢ෼ʣ IUUQTZPVUVCF,5;DXZ-WX IUUQTTQFBLFSEFDLDPNTIVLPCCJUVUPLPJOCVSPUVLVUJFOSVNFO BEBFEDDGC 31