Slide 1

Slide 1 text

Swarm The distributed storage platform Hi-Ether Meetup Fukuoka #7

Slide 2

Slide 2 text

͸͡Ίʹ

Slide 3

Slide 3 text

৿ܒี!LNPSSSSZ ۙـେֶ࢈ۀཧ޻ֶ෦# $JSDVMBUJPO5FDIOPMPHZ-BC 4NBSU$POUSBDU 4FSWFSTJEF3BJMT (P 1)1

Slide 4

Slide 4 text

Slide 5

Slide 5 text

࿑ಇ໰୊ͷղܾΛ໨ࢦͯ͠ɺऔΓ૊ΜͰ͍͖·͢

Slide 6

Slide 6 text

ͯ͞ɺ෼ࢄετϨʔδͷ࿩Λ

Slide 7

Slide 7 text

෼ࢄετϨʔδ΍Γ͍ͨͰ͢ΑͶʁ

Slide 8

Slide 8 text

11Ͱ઀ଓ͞Εͨϊʔυ্ͰϑΝΠϧΛڞ༗ 11ωοτϫʔΫʹΞοϓϩʔυ͞ΕͨϑΝΠϧΛஅยԽ͠ɺ֤ϊʔυʹ ෼ࢄͯ͠഑ஔ͢Δ͜ͱͰ଱ো֐ੑΛߴΊΔˠ୯Ұো֐఺ͷ໰୊͕ͳ͍ ωοτϫʔΫ্ͷϊʔυ͕Մಈ͠ଓ͚ΔݶΓɺϑΝΠϧγεςϜΛఏڙ͠ ଓ͚Δ͜ͱ͕Ͱ͖Δ -FHBDZɿ8JOOZ #JU5PSSFOU .PEFSOɿ*1'4 4XBSN 4UPSK 4JB 'JMFDPJOʜ ෼ࢄϑΝΠϧγεςϜ

Slide 9

Slide 9 text

*OUFS1MBOFUBSZ'JMF4ZTUFN 11ωοτϫʔΫ্Ͱಈ࡞͢ΔϋΠύʔϝσΟΞϓϩτίϧ ίϯςϯπࢦ޲ ɹʔ888ͷΑ͏ͳϩέʔγϣϯࢦ޲Ͱ͸ͳ͍ ɹɹ&YFYBNQMFDPNIPHFGVHBIUNM ɹʔ৔ॴͰ͸ͳ͘ɺίϯςϯπͷ಺༰Λࢦఆͯ͠ΞΫηε͢Δ ɹɹίϯςϯπͷϋογϡ஋Λίϯςϯπ*%ͱͯ͠ར༻ ɹɹίϯςϯπͷϋογϡ஋Λࢦఆ͠ɺͦͷίϯςϯπ͕͋Δʮ৔ॴʯ͸ࢦఆ͠ͳ͍ ɹɹෛՙ෼ࢄɺ଱ো֐ੑɺ଱ݕӾੑɺ଱վળੑ *1'4

Slide 10

Slide 10 text

4XBSN

Slide 11

Slide 11 text

&UIFSFVNͷϓϩτίϧΛ࢖ͬͨ෼ࢄετϨʔδϓϥοτϑΥʔϜ 1SPPGPG$PODFQUWFS͕։ൃத 4XBSN

Slide 12

Slide 12 text

ɾ&UIFSFVNXFCTUBDLͷͭ ɾίϯςϯπࢦ޲ ɾಛఆͷαʔόʔͰϗετ͞Εͳ͍ ɾେ͖ͳσʔλ͸$IVOLͱͯ͠෼ׂͯ͠อଘ ɾθϩఀࢭ࣌ؒɺෛՙ෼ࢄɺ଱ো֐ੑɺ଱ݕӾੑɺ଱վળੑ ɾ&/4ʹΑΔυϝΠϯղܾ ɾӬٱʹόʔδϣϯ؅ཧ͞Εͨίϯςϯπ 4XBSN֓ཁ

Slide 13

Slide 13 text

޿͘ଊ͑Δͱ΄΅ಉ͡΋ͷͱଊ͑ͯྑ͍͕ɺͱ͜ΖͲ͜Ζҧ͏ ͲͪΒ΋։ൃ్தʢ1P$ʣ *1'4ͱ4XBSN *1'4 4XBSN 11ϥΠϒϥϦ MJCQQ EFWQQ ໊લղܾ *1/4 &/4 ϒϥ΢δϯά HBUFXBZJQGTJPYYY MPDBMIPTUC[[YYY ΠϯηϯςΟϒ ʔ 1P$Ͱ௥Ճ༧ఆ *1'4ͱ4XBSNͷओͳ૬ҧ఺

Slide 14

Slide 14 text

4XBSNͷετϨʔδ୯ҐͰ͋ΔɺαΠζ͕ݶఆ͞Εͨσʔλɻ
 ωοτϫʔΫ૚͸DIVOLΛೝࣝ͠ɺϑΝΠϧ΍ίϨΫγϣϯͷ֓೦ Λ࣋ͨͳ͍ɻDIVOL͸,#ɻ ߏ଄ DIVOL SFGFSFODF ίϯςϯπʹ෇༩͞ΕΔҰҙͷࣝผࢠɻ
 ඇ҉߸ԽɿIFYCZUFͰγϦΞϥΠζ͞ΕͨCZUFͷϋογϡ
 ҉߸ԽɹɿίϯςϯπΞυϨε CZUF ʴ෮߸Խݤ CZUF NBOJGFTU ϑΝΠϧίϨΫγϣϯΛهड़͢Δσʔλߏ଄ɻ σΟϨΫτϦ͝ͱΞοϓϩʔυ͢Δ࣌ʢ&Y8FCϖʔδʣʹɺ
 ϑΝΠϧ΁ͷϚοϐϯάΛఆ͍ٛͯ͠Δ

Slide 15

Slide 15 text

ಉҰσΟϨΫτϦ಺ͷ'JMFUYU 'JMFUYU 'JMFUYUΛΞοϓϩʔυ ϑΝΠϧΞΫηεʢC[[ʣ MPDBMIPTUC[[IBTIYYYYYYYYYY'JMFUYU MPDBMIPTUC[[FYBNQMFFUI'JMFUYU σΟϨΫτϦͷϑΝΠϧҰཡʢC[[MJTUʣ MPDBMIPTUC[[MJTUIBTIYYYYYYYɹ .BOJGFTUϑΝΠϧΛऔಘʢC[[SBXʣ MPDBMIPTUC[[SBXIBTIYYYYYYYɹ ϑΝΠϧΞΫηε

Slide 16

Slide 16 text

4XBSN"DDPVOUJOH1SPUPDPM શൠతͳΠϯηϯςΟϒ؅ཧ 4XBSNͷΠϯηϯςΟϒγεςϜͷίΞͱͳΔ ΠϯηϯςΟϒγεςϜʢ1P$ʣ 48"1 48&"3 4FDVSF8BZTPG&OTVSJOH"3DIJWBM $IVOL͕ͪΌΜͱอ࣋͞Ε͍ͯΔ͔Ͳ͏͔౳ɺ$IVOLͷ඼࣭Λ୲อ 48&"3ʹอূۚΛΤεΫϩʔͯ͠ΠϯηϯςΟϒΛड͚Δ 48*/%-& 4FDVSFE8JUI*/TVSBODF%FQPTJU-JUJHBUJPOBOE&TDSPX 48&"3Ͱక݁͞ΕͨίϯτϥΫτΛ؂ࢹ͠ɺΤεΫϩʔͨ͠อূۚ Λ؅ཧ͠ɺҧ൓ऀʹ͸േଇΛ༩͑Δ

Slide 17

Slide 17 text

ࢀর࣮૷͸7FSTJPOY ͱΓ͋͑ͣ͞ΘͬͯΈΔ go get github.com/ethereum/go-ethereumgo cd $GOPATH/src/github.com/ethereum/go-ethereum/cmd install ./geth install ./swarm HPFUIFSFVNʹ࣮૷ࡁ geth account new geth --syncmode=light swarm --bzzaccount ૸ΒͤͯΈΔ

Slide 18

Slide 18 text

ͱΓ͋͑ͣ͞ΘͬͯΈΔ $ cd /Users/keisuke/go/swarm $ ls > File_1.txt File_2.txt File_3.txt $ swarm --recursive up /Users/keisuke/go/swarm > c930e0ada49614c5465334923b9b8ab9a0d8ebe0d35bfaf0044dbc3ac9178f06 σΟϨΫτϦ͝ͱΞοϓϩʔυ $ swarm ls c930e0ada49614c5465334923b9b8ab9a0d8ebe0d35bfaf0044dbc3ac9178f06 > HASH CONTENT TYPE PATH 4c24fcac7c18851a5dd6a6a12fbdb7e9f7b634751d3a992c4bb15e27fe16ba45 text/plain; charset=utf-8 File_1.txt 4c24fcac7c18851a5dd6a6a12fbdb7e9f7b634751d3a992c4bb15e27fe16ba45 text/plain; charset=utf-8 File_2.txt d9403cc2dd48592d93dde0e5e296328c303206130f28f9822a0c89f35ddfe5e6 text/plain; charset=utf-8 File_3.txt Ξοϓϩʔυ͞Εͨ͜ͱΛ֬ೝ

Slide 19

Slide 19 text

:":

Slide 20

Slide 20 text

144 11ϝοηʔδϯάγεςϜ .VUBCJMJUZ &/4Λ௨ͯ͡ίϯςϯπΛมߋՄೳʹ '64&TVQQPSU 4XBSNσʔλΛϩʔΧϧϑΝΠϧγεςϜʹ౷߹ʢ-JOVY .BDʣ 1P$

Slide 21

Slide 21 text

IUUQTHJUIVCDPNPSHTFUIFSTQIFSFQSPKFDUT ϩʔυϚοϓ

Slide 22

Slide 22 text

ͳʹ͔࡞ͬͯΈ͍ͨͰ͢ΑͶ

Slide 23

Slide 23 text

͓ΘΓʹ

Slide 24

Slide 24 text

ֶੜϒϩοΫνΣʔϯΤϯδχΞ ૿΍ͨ͘͠ͳ͍ʁ

Slide 25

Slide 25 text

-*/&άϧʔϓl࠯໺࿠z͸͡Ί·ͨ͠ɻ

Slide 26

Slide 26 text

ίϛϡχςΟͭ͘Γͨ͘ͳ͍ʁ

Slide 27

Slide 27 text

ͭ͘Γ·͠ΐ͏ʂ

Slide 28

Slide 28 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠