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

0x Protocol

Osuke
June 22, 2018

0x Protocol

Osuke

June 22, 2018
Tweet

More Decks by Osuke

Other Decks in Programming

Transcript

  1. w %&9ͱYͷ֓ཁ w YͷτϨʔυϓϩηε  $SFBUF  7BMJEBUF  'JMM

     $BODFM w YͷίϯτϥΫτߏ଄ w 0SEFSXBUDIFS w YDPOOFDU w 'SPOUSVOOJOH w YWFSTJPO
  2. ಛ௃  ϢʔβʔͷࢿۚΛୈࡾऀ͕༬͔Βͳ͍  Ϣʔβʔࣗ਎͕ൿີ伴Λ؅ཧ͢Δ8BMMFUUP8BMMFUͷ69 ͳͥඞཁͳͷ͔ʁ  औҾॴͰͷϋοΩϯάϦεΫ΍࣋ͪಀ͛ϦεΫͷഉআ  E"QQTͷόοΫάϥ΢ϯυͰಈ࡞͢ΔτʔΫϯަ׵

    Կ͕՝୊ͳͷ͔ʁ  ΦϯνΣʔϯͰͷHBTGFF͕ߴ͍ʢεέʔϥϏϦςΟ໰୊ʣ  τϨʔυͷॲཧ଎౓  े෼ͳΦʔμʔͷྲྀಈੑ֬อ  ϑϩϯτϥϯχϯάͳͲ ͲͷΑ͏ͳ%&9͕͋Δ͔ʁ  Y #BODPS ,ZCFSOFUXPSL &UIFS%FMUB "JSTXBQ ʜ %&9ʢ෼ࢄܕऔҾॴʣͱ͸
  3. Yͷϓϩηε 0SEFS 0SEFS 0SEFS ΦϯνΣʔϯ .BLFS 5BLFS &YDIBOHFTPM 3FMBZFS 0SEFS

    0SEFS 0SEFS ᶃ$SFBUF ᶄ7BMJEBUF ᶅ'JMM †5PLFOBQQSPWF .BLFSͱ5BLFS͕ަ׵͍ͨ͠τʔΫϯΛ BQQSPWF͢Δ ᶃ$SFBUF .BLFS͕0SEFSϑΥʔϚοτΛ࡞Δ .BLFS͕0SEFSʹॺ໊͢Δ ᶄ7BMJEBUF 3FMBZFS͕0SEFSϑΥʔϚοτΛݕূ͢Δ ᶅ'JMM 5BLFS͕0SEFSΛ'JMM͢ΔτϥϯβΫγϣϯΛ ΦϯνΣʔϯʹૹ৴͢Δ &5)ˠ;39 ;39ˠ&5) ˞3FMBZFS͕߈ܸ͞Εͯ΋
 ϢʔβʔͷࢿۚΛୣ͏͜ͱ͸Ͱ͖ͳ͍
  4. Yϓϩηε†5PLFO"QQSPWF DPOTUFUI5P$POWFSU;FSP&YUP#BTF6OJU"NPVOU OFX#JH/VNCFS  XFUI5PLFO*OGPEFDJNBMT  DPOTUEFQPTJU5Y)BTIFTBXBJU1SPNJTFBMM XFUI0XOFS"EESFTTFTNBQ BEESFTT\ SFUVSO[FSP&YFUIFS5PLFOEFQPTJU"TZOD

    8&5)@"%%3&44 FUI5P$POWFSU BEESFTT  ^  BXBJU1SPNJTFBMM EFQPTJU5Y)BTIFTNBQ UY\ SFUVSO[FSP&YBXBJU5SBOTBDUJPO.JOFE"TZOD UY  ^  &5)͔Β8&5)ͷੜ੒ DPOTUTFU;SY"MMPXBODF5Y)BTIFTBXBJU1SPNJTFBMM BEESFTTFTNBQ BEESFTT\ SFUVSO[FSP&YUPLFOTFU6OMJNJUFE1SPYZ"MMPXBODF"TZOD ;39@"%%3&44 BEESFTT  ^  DPOTUTFU8FUI"MMPXBODF5Y)BTIFTBXBJU1SPNJTFBMM BEESFTTFTNBQ BEESFTT\ SFUVSO[FSP&YUPLFOTFU6OMJNJUFE1SPYZ"MMPXBODF"TZOD 8&5)@"%%3&44 BEESFTT  ^  BXBJU1SPNJTFBMM TFU;SY"MMPXBODF5Y)BTIFTDPODBU TFU8FUI"MMPXBODF5Y)BTIFT NBQ UY\ SFUVSO[FSP&YBXBJU5SBOTBDUJPO.JOFE"TZOD UY  ^  &3$ن֨ͰBQQSPWF ͠ɺUSBOTGFS'SPN Ͱ͖ΔΑ͏ʹ .BLFSͱ5BLFS͕อ͍࣋ͯ͠ΔτʔΫϯΛYͷίϯτϥΫτ͕୅ΘΓʹૹۚͰ͖ΔΑ͏ʹ͢Δ
  5. Yϓϩηεᶃ$SFBUF0SEFS DPOTUPSEFS\ NBLFSNBLFS"EESFTT .BLFSͷΞυϨε UBLFS;FSP&Y/6--@"%%3&44 5BLFSͷΞυϨεʢࢦఆ͢Δ৔߹ʣ GFF3FDJQJFOU;FSP&Y/6--@"%%3&44 3FMBZFSͷΞυϨε NBLFS5PLFO"EESFTT;39@"%%3&44 .BLFS͕ަ׵ΦϑΝʔ͍ͯ͠ΔτʔΫϯͷΞυϨε

    UBLFS5PLFO"EESFTT8&5)@"%%3&44 .BLFS͕ަ׵ϦΫΤετ͢ΔτʔΫϯͷΞυϨε FYDIBOHF$POUSBDU"EESFTT&9$)"/(&@"%%3&44 YϓϩτίϧͷFYDIBOHFTPMͷΞυϨε TBMU;FSP&YHFOFSBUF1TFVEP3BOEPN4BMU 0SEFSΛϢχʔΫʹ͢ΔͨΊͷϥϯμϜφϯόʔ NBLFS'FFOFX#JH/VNCFS  .BLFS͕ࢧ෷͏ख਺ྉ UBLFS'FFOFX#JH/VNCFS  5BLFS͕ࢧ෷͏ख਺ྉ NBLFS5PLFO"NPVOU;FSP&YUP#BTF6OJU"NPVOU OFX#JH/VNCFS  %&$*."-4  ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ.BLFS͕ΦϑΝʔ͍ͯ͠ΔτʔΫϯྔ UBLFS5PLFO"NPVOU;FSP&YUP#BTF6OJU"NPVOU OFX#JH/VNCFS  %&$*."-4  ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ5BLFSʹϦΫΤετ͢ΔτʔΫϯྔ FYQJSBUJPO6OJY5JNFTUBNQ4FDOFX#JH/VNCFS %BUFOPX    ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ0SEFS͕ظݶ੾ΕʹͳΔλΠϜελϯϓ ^ ˞;FSP&YYKTͷDMBTT .BLFS͸ɺަ׵͍ͨ͠τʔΫϯ਺ɺख਺ྉͳͲΛࢦఆͨ͠0SEFSΛͭ͘Δ
  6. Yϓϩηεᶅ'JMM0SEFS DPOTUTIPVME5ISPX0O*OTV⒏DJFOU#BMBODF0S"MMPXBODFUSVF DPOTUpMM5BLFS5PLFO"NPVOU;FSP&YUP#BTF6OJU"NPVOU OFX#JH/VNCFS  %&$*."-4  DPOTUUY)BTIBXBJU[FSP&YFYDIBOHFpMM0SEFS"TZOD  TJHOFE0SEFS

     pMM5BLFS5PLFO"NPVOU  TIPVME5ISPX0O*OTV⒏DJFOU#BMBODF0S"MMPXBODF  UBLFS"EESFTT   DPOTUUY3FDFJQUBXBJU[FSP&YBXBJU5SBOTBDUJPO.JOFE"TZOD UY)BTI  DPOTPMFMPH 'JMM0SEFSUSBOTBDUJPOSFDFJQU UY3FDFJQU  5BLFS͕ΦʔμʔϒοΫ͔Β࠷దͳϨʔτͷΦʔμʔΛ'JMM͢Δ pMM0SEFSτϥϯβΫγϣϯͷSFDFJQUΛग़ྗ USVFɿCBMBODFͱBMMPXBODFͷݕূΛεΩοϓ GBMTFɿݕূ͠ɺे෼Ͱͳ͚Ε͹࢒HBTΛ5BLFSʹฦ͢
  7. Yϓϩηεᶆ$BODFM0SEFS 0SEFS 0SEFS 0SEFS ΦϯνΣʔϯ .BLFS 5BLFS &YDIBOHFTPM 3FMBZFS 0SEFS

    0SEFS 0SEFS $BODFM .BLFS͸ఏࣔͨ͠ॺ໊0SEFSΛΩϟϯηϧՄೳ GVODUJPODBODFM0SEFS  BEESFTT<>PSEFS"EESFTTFT  VJOU<>PSEFS7BMVFT  VJOUDBODFM5BLFS5PLFO"NPVOU  QVCMJD SFUVSOT VJOU NBQQJOH CZUFTVJOU QVCMJDDBODFMMFE &YDIBOHFTPMʹΩϟϯηϧ0SEFS͸อ࣋͞Εɺ
 ͦͷΦʔμʔ͕5BLFSʹpMM͞Εͯ΋GBJM͢Δɻ
  8. YͷίϯτϥΫτΞʔΩςΫνϟ &YDIBOHFTPM 0SEFS 1SPYZTPM 8&5)TPM ;39TPM ᶃ ᶄ ᶅ ᶆ

    ᶌ ᶋ ᶊ ᶉ ᶈ ᶇ ɾ&3$ن֨ͷUSBOTGFS'SPN  ɾόʔδϣϯΞοϓͷϝΧχζϜ pMM0SEFS ΍DBODFM0SEFS ͳͲͷ τϨʔυ࣮ߦϩδοΫ τϨʔυͷ໿ఆͷΈΦϯνΣʔϯॲཧ͢Δ
  9. 0SEFSXBUDIFS $BODFMFEɿ ɹɹ0SEFS͕Ωϟϯηϧ͞Ε͍ͯͳ͍͔ 'VMMZ'JMMFEɿ ɹɹ0SEFSͷ͢΂ͯͷτʔΫϯ͕'JMM͞Ε͍ͯͳ͍͔ &YQJSFEɿ ɹɹ࣌ؒ੾Εʹͳ͍ͬͯͳ͍͔ .BLFSCBMBODFɿ ɹɹަ׵τʔΫϯʹे෼ͳ࢒ߴ͕͋Δ͔ .BLFSBMMPXBODFɿ

    ɹɹަ׵τʔΫϯʹे෼ͳBMMPXBODF͕͋Δ͔ .BLFS;39CBMBODFɿ ɹɹख਺ྉࢧ෷͍ͷͨΊे෼ͳ࢒ߴ͕͋Δ͔ .BLFS;39BMMPXBODFɿ ɹɹख਺ྉࢧ෷͍ͷͨΊे෼ͳBMMPXBODF͕͋Δ͔ ಈతʹݕূ͢΂͖ঢ়ଶཁૉ 3FMBZFS͸69ͷͨΊΦʔμʔϒοΫΛ
 Ͱ͖Δ͚ͩϦΞϧλΠϜͳঢ়ଶͰอͭඞཁੑ ϒϩοΫνΣʔϯʹऔΓࠐ·ΕΔ
 લஈ֊ͷ1FOEJOHUSBOTBDUJPOQPPMΛ؂ࢹ QBSJUZOPEFͰ͋Ε͹࣮ࡍʹNJOJOHͤͣʹɺ
 1FOEJOHCMPDLΛ࡞Δ͜ͱ͕Մೳ ܽ఺ͱͯ͠ɺখن໛ͳSFPSHͰ
 ঢ়ଶมߋ͕ى͜ΔՄೳੑ͕ߴ͍ɻ ਖ਼౰ͳ0SEFS͕ෆਖ਼ͱݟͳ͞ΕऔΓআ͔Εͯ ͠·͏Մೳੑ͕͋Δ 3FMBZFS͸ϊʔυΛݐͯͯɺ؅ཧ͍ͯ͠ΔΦʔμʔͷঢ়ଶΛৗʹ΢Υον͠ɺ 'JMMͰ͖ͳ͘ͳͬͨ0SEFS͸ΦʔμʔϒοΫ͔ΒऔΓআ͔ͳ͚Ε͹ͳΒͳ͍
  10. YWFSTJPO ίϯτϥΫτߏ଄ͷมԽ 'PSXBSEJOH 0SEFS &YDIBOHF  "TTFU1SPYZ
 %JTQBUDIFS &3$1SPYZ &5)

    8&5) &3$1SPYZ &/41SPYZ 5PLFO" /'5# /BNF$ 'JMUFS 3FHJTUSZ &5)Λ8&5)ʹม׵ ,:$Λຬͨͨ͠ϢʔβʔͷΈ͕
 τϨʔυͰ͖Δ