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

Bitcoin Cashハードフォークの 振り返りと関連技術説明

D3e027f453bb96ac1398cc98620f2920?s=47 Shu Kobuchi
November 27, 2020

Bitcoin Cashハードフォークの 振り返りと関連技術説明

2017/8/1のBitcoinとBitcoin Cashの分裂、2018/11/15のBitcoin ABCとSVの分裂、半年に一回のアップグレードなど過去の振り返りとリプレイアタックとリプレイプロテクションなどハードフォークにまつわる技術の説明をしました。
https://cryptocurrency.connpass.com/event/193239/

D3e027f453bb96ac1398cc98620f2920?s=128

Shu Kobuchi

November 27, 2020
Tweet

Transcript

  1. #JUDPJO$BTIϋʔυϑΥʔΫͷ ৼΓฦΓͱؔ࿈ٕज़આ໌ ೥݄೔!ϏοτίΠϯͱ͔ษڧձ ೔ຊ҉߸௨՟Ϣʔβձɹখᔹप 4IV,PCVDIJ

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

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

    :PV5VCFνϟϯωϧIUUQCJUMZZPVUVCFDDTUVEZ 3
  4. ΞδΣϯμ ೥&UIFSFVNͱ&UIFSFVN$MBTTJDϋʔυϑΥʔΫ #JUDPJOͱ#JUDPJO$BTIϋʔυϑΥʔΫ #JUDPJO$BTIͷ#JUDPJO"#$ͱ#JUDPJO47ͷϋʔυϑΥʔΫ ϦϓϨΠΞλοΫͱϦϓϨΠϓϩςΫγϣϯ 4

  5. ೥&UIFSFVNϋʔυϑΥʔΫ εϚʔτίϯτϥΫτͰ࡞ΒΕΔࣗ཯෼ࢄࣗݾ૊৫ %"0  ϑΝϯυܕͷ5IF%"0 5IF%"0ͷίϯτϥΫτͷόάΛ͍ͭͯࢿ͕ۚྲྀग़ ྲྀग़ࣄ݅Λແ͔ͬͨ͜ͱʹ͢ΔϋʔυϑΥʔΫΛ࣮ࢪ όά΋࢓༷ͷҰͭͰ͋ΓɺඇதԝूݖͰ͋ΔϒϩοΫνΣʔϯ΁ͷհೖ͸ڐ͞ ͳ͍ͱ͢Δ೿΋ $PEFJT-BX

    ྲྀग़ࣄ݅͸औΓফ͞ͳ͍νΣʔϯΛ&UIFSFVN$MBTTJDͱͯ͠࢒͢͜ͱʹ Ձ͕͍֨ͭͯऔҾॴͰऔΓѻͬͯ͘ΕͯϚΠφʔ͕۷ͬͯ͘ΕΕ͹࢒Δ 5
  6. ೥#JUDPJO$BTIϋʔυϑΥʔΫ ΦϯνΣʔϯͰͷτϥϯβΫγϣϯ૿ՃʢεέʔϥϏϦςΟ໰୊ʣ ෼ʹ.#ͷϒϩοΫͰࡹ͖੾Εͳ͍ w ख਺ྉߴಅ ϒϩοΫαΠζΛ্͛Δ͜ͱΛओு͢Δ೿ʢϏοάϒϩοΫ೿ʣ ϒϩοΫαΠζ͸.#ͷ··ม͑ͣʹ-JHIUOJOH/FUXPSL౳ͷOE-BZFSͰ ղܾ͢Δ΂͖ͱओு͢ΔεϞʔϧϒϩοΫ೿ ϒϩοΫαΠζ֦ுΛ८Δରཱ͔ΒϏοάϒϩοΫ೿͕#JUDPJO$BTIΛཱͪ ্͛ɺʹϋʔυϑΥʔΫ

    6
  7. ෼྾ޙͷϋογϡύϫʔͱՁ֨ ࣭ྔอଘͷ๏ଇʢཧ࿦ʣ ෼྾લͷϋογϡύϫʔ෼྾ޙͷ#5$ͷ)BTI1PXFS #$)ͷ )BTI1PXFS ෼྾લͷՁ֨෼྾ޙͷ#5$ͷՁ֨ #$)ͷՁ֨ ޙͷ࣮ࡍ ෼྾લͷՁ֨ʻ෼྾ޙͷ#5$ͷՁ֨ #$)ͷՁ֨

    w Ձ֨͸ظ଴஋ͳͷͰ w ෼྾ޙͷ૯࿨ͷํ্͕͕͍ͬͯΔ͜ͱ͔Βɺͷ#$)ϋʔυ ϑΥʔΫҎ߱ɺ#JUDPJO(PMEΛ͸͡ΊϋʔυϑΥʔΫࡇΓ ෼྾લͷՁ֨ʼ෼྾ޙͷຊઢίΠϯͷՁ֨ ෼ذίΠϯͷՁ֨ ʹͳΔ͜ͱ΋৔߹ʹΑͬͯ͸͋ΓಘΔ 7
  8. #JUDPJO"#$ͱ47ͷ)' "#$͔Β47 4BUPTIJ7JTJPO ͕෼྾ʢ4BUPTIJ͸#JUDPJOൃ໌ऀ /BLBNPUP4BUPTIJʣ ͲͪΒͷϚΠχϯάύϫʔ্͕͔ڝ͏ϋογϡ΢ΥʔͰ"#$͕উར͠ɺ#$) ςΟοΧʔ͸"#$͕ܧঝ IUUQTqPDKQMPHCBTJD͜ͷهࣄ͕Α͘·ͱ·͍ͬͯΔ 8

  9. #$)ͷϋʔυϑΥʔΫͷλΠϛϯά ͔Β͸ຖ೥ ͷ65$ʢ+45ʣ ϒϩοΫͷதԝ஋͕65$Λ௒͑ͨλΠϛϯά +45ͷޙϒϩοΫ໨ͰɺϋʔυϑΥʔΫ͕ΞΫςΟϕʔτ w ϒϩοΫͷதԝ஋͕+45Λ௒͑ͨͷͰ࣍ͷϒϩοΫ͔Β৽ί ϯηϯαεΞϧΰϦζϜ ϒϩοΫ໨͸৽ΞϧΰϦζϜ w

    ௨՟෼྾͕͋Δ৔߹͸ɺϒϩοΫ໨͔ΒҟͳΔϒϩοΫ 9                 ϒϩοΫ ͔࣍Β৽ϧʔϧ ৽ϧʔϧ ෼྾
  10. #$)ܥͱ&5)ܥͷϋʔυϑΥʔΫͷҧ͍ #$)ܥ͸೔࣌ͰͷϋʔυϑΥʔΫ &5)ܥ &UIFSFVN &UIFSFVN$MBTTJD ͸ϒϩοΫߴͰͷϋʔυϑΥʔΫ ೔͕࣌ఆ·Βͳ͍ͨΊ໘౗ ͷ*TUBOCVMϋʔυϑΥʔΫ͸ฏ೔͔ͱࢥ͍͖΍ɺϒϩοΫੜ੒͕ ஗͘ͳ͍͖ͬͯ݁ہ ೔

    ɻ೔தͩͬͨͷ͕·ͩ·͠ #$)ܥ͸.BJOOFUͱ5FTUOFUͱϋʔυϑΥʔΫ͕ಉ࣌ &5)ܥ͸5FTUOFUͷϋʔυϑΥʔΫΛઌʹ࣮ߦ͠ɺ.BJOOFUͷϋʔυϑΥʔΫ ϦεΫ௿ݮ 10
  11. ϦϓϨΠΞλοΫ ϋʔυϑΥʔΫ͕ىͬͨ͜ޙɺνΣʔϯΛࣝผͰ͖Δ΋ͷ͕ͳ͍ͱɺຊઢίΠ ϯͷॺ໊ࡁΈτϥϯβΫγϣϯ͕෼ذίΠϯͰ΋༗ޮʹͳΔʢٯ΋ʣ ϑϧϊʔυ΍ϒϩοΫνΣʔϯΤΫεϓϩʔϥͰऔಘͰ͖Δॺ໊ࡁΈ59Λୈ ࡾऀ͕΋͏ยํͷνΣʔϯͰྲྀͤͯ༗ޮ ൿີ伴Λ࣋ͨͣͱ΋ยํͷνΣʔϯͰى͖ͨίϐʔͷૹۚՄೳ Α͋͘ΔޡղɿยํͷνΣʔϯͰૹۚͨ͠Β΋͏ยํ΋ࣗಈͰૹ͕ۚى͜ΔΘ ͚Ͱ͸ͳ͍ 11

  12. ϦϓϨΠϓϩςΫγϣϯ ϦϓϨΠΞλοΫΛ๷͙࢓૊Έ Ϣʔβ͕Ͱ͖Δ͜ͱ ຊઢίΠϯͱ෼ذίΠϯͰಉҰͷ6590͔ΒҟͳΔ59Λ࡞ͬͯͦͷࢠଙΛ ࢖͍ଓ͚Δ ෼྾ޙͷ$PJOCBTF59 ϚΠχϯάใुΛૹΔ59 ͷίΠϯΛࠞͥΔ ยํʹ͔͠ͳ͍ػೳΛ࢖ͬͨ59Λൃߦ w

    01@$0%&ͳͲ ϑϧϊʔυ։ൃऀ͕Ͱ͖Δ͜ͱ ࢓༷ͱͯ͠τϥϯβΫγϣϯʹࣝผࢠΛ͚ͭΔ w αʔυύʔςΟͷΞϓϦͷվम͕ඞཁ w ςΟοΧʔͱͯ͠࢒Δଆͷվम͕ൃੜ͢Δͱେม 12