Slide 1

Slide 1 text

HYPER
 LEDGER TODAY @__timakin__ / blockchain.tokyo#1

Slide 2

Slide 2 text

ࣗݾ঺հ • Seiji Takahashi • Github: timakin / Twitter: @__timakin__ • Gunosy Inc. Business Development Team • Go / Swift • Just a little bit contributed to Go.

Slide 3

Slide 3 text

https://www.slideshare.net/seijitakahashi92/concept-of- blockchain-decentralized-application

Slide 4

Slide 4 text

ΞδΣϯμ • HyperLedgerͱ͸ʁ • HyperLedgerͷϓϩδΣΫτҰཡ • HyperLedgerͷ։ൃʹؔͯ͠

Slide 5

Slide 5 text

HyperLedgerͱ͸ʁ

Slide 6

Slide 6 text

HyperLedgerͱ͸ʁ • ۚ༥Λத৺ͱͨ͠൚ۀछͰͷϒϩοΫνΣʔϯ ٕज़ͷߴ౓ԽΛਐΊΔڞಉϓϩδΣΫτ • Supported by The Linux Foundation • ίϯιʔγΞϜܕͷϒϩοΫνΣʔϯ • IBMɺIntelɺJ.P.MorganɺMUFGɺNECɺΞΫ ηϯνϡΞɺ෋࢜௨ɺ೔ཱetc…େاۀ͕ϝϯ όʔͱͳ͍ͬͯΔ

Slide 7

Slide 7 text

HyperLedgerͱ͸ʁ ref: http://gaiax-blockchain.com/hyperledger-project

Slide 8

Slide 8 text

HyperLedgerͷߏ੒ཁૉ ref: https://docs.google.com/document/d/1Z4M_qwILLRehPbVRUsJ3OF8Iir-gqS-ZYe7W-LE9gnE/pub

Slide 9

Slide 9 text

HyperLedger Projects Fabric PBFTʹΑΔߴ଎ͳ߹ҙܗ੒
 খ਺ϊʔυͰՄೳͳӡ༻
 ϝϯόʔγοϓ੍ʹΑΔԾ૝௨՟ͷෆࡏ
 ։ൃස౓͸ߴ͘ɺ࣮ূ࣮ݧࡁΈ*ɻGoɻ
 * http://www.jpx.co.jp/corporate/research-study/working-paper/tvdivq0000008q5y-att/ JPX_working_paper_No15.pdf


Slide 10

Slide 10 text

HyperLedger Fabric Network ref: https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/

Slide 11

Slide 11 text

PBFT (Practical Byzantine Fault Tolelance) ref: https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/

Slide 12

Slide 12 text

ChainCode • εϚʔτίϯτϥΫτɻGo͔JavaͰΠϯλʔ ϑΣʔεΛ࣮૷͢Ε͹ϒϩοΫνΣʔϯ্Ͱ࣮ߦ ՄೳͳϓϩάϥϜɻ

Slide 13

Slide 13 text

ChainCode

Slide 14

Slide 14 text

World State • ChainCode͔ΒR/WͰ͖ΔKVSɻJSONจࣈྻΛ ֨ೲͰ͖Δɻ • ϑΝΠϧΛอଘ͍ͨ͠৔߹͸όΠφϦจࣈྻʹ ม׵ͯ͠ɺChainCode্͔Βࢀর͢Δ͜ͱʹͳ Δɻ

Slide 15

Slide 15 text

shim.ChaincodeStubInterface • chaincodeͰWorldStateɺLedgerɺೝূ৘ใͳ ͲʹΞΫηε͢ΔAPI • Init, Invokeͷ྆ํͰୈҰҾ਺ʹ౉ͬͯ͘Δɻ • Get/Put/Delete StateͰWorld StateʹΞΫηε • shim.Success, shim.ErrorͰres payload writer͕ ϥοϓ͞Ε͍ͯΔɻʢΤϥʔίʔυ͸200, 400, 500ͷΈʣ

Slide 16

Slide 16 text

HyperLedger Projects Iroha ೔ຊͷιϥϛπגࣜձࣾ։ൃओಋͷϒϩοΫνΣʔϯɻ ஍Ҭ௨՟ɺֶ಺௨՟ͳͲʹ࣮༻͞ΕͯΔɻ
 ϞόΠϧSDKɺσδλϧΞηοτൃߦʹॏ఺Λஔ͍ͯ ͍Δɻ Fabricͱ͸߹ҙܗ੒ΞϧΰϦζϜ͕एׯҧ͏ɻ
 C++ɻ

Slide 17

Slide 17 text

Sumeragi ref: https://github.com/hyperledger/iroha/blob/master/docs/iroha_whitepaper.md As 2f+1 signatures are needed to confirm a transaction, under the normal case only 2f+1 peers are involved in transaction validation; the remaining peers only join the validation when faults are exhibited in peers.

Slide 18

Slide 18 text

HyperLedger Projects Indy ϒϩοΫνΣʔϯ্ͰσδλϧIDΛ؅ཧ͢Δɻ Bitcoin΍Ethereumͱ͸ҟͳΓɺID؅ཧͷͨΊͷಠࣗ ͷ୆ாΛ࣋ͭɻ IDͷόϦσʔγϣϯ΋ɺHyperLedgerՃໍલʹ
 σδλϧIDͰ͋ΔSovrin IDΛ؅׋͍ͯͨ͠ɺ
 Sovrin FoundationͷόϦσʔλʔϊʔυ (Permissioned)্ͰߦΘΕΔɻ

Slide 19

Slide 19 text

Indy Access Control IDͷࢀরࣗମ͸PublicʹͰ͖Δ͕ɺόϦσʔγϣϯ͸ೝՄΛड͚ͨ
 όϦσʔλʔϊʔυ͚͕ͩͰ͖Δɻ

Slide 20

Slide 20 text

RBFT (Redundunt Byzantine Fault Tolelance) ref: https://pakupaku.me/plaublin/rbft/5000a297.pdf

Slide 21

Slide 21 text

HyperLedgerͷ։ൃʹ͍ͭͯ Development ϏοΫϦυοΩϦMakefileͰdockerͷίϯςφϏϧυ͕Ӆṭ ͞ΕͯΔɻ
 kubernetesʹҠߦ͠Α͏ͱ͍͏ٞ୊΋Issueʹ͸্͕ͬͯΔ Fablic, Iroha, Sawtooth, IndyͲΕ΋ίϛοτࣗମ͸׆ൃʹߦ ΘΕ͍ͯΔɻ

Slide 22

Slide 22 text

HyperLedgerͷ։ൃʹؔͯ͠ ίϛϡχςΟ https://chat.hyperledger.org͔ϝʔϦϯάϦετͰ֤ϓϩ δΣΫτͷ࣭໰ɾਐḿ֬ೝ౳͕ߦΘΕ͍ͯΔɻ JIRAͰνέοτ੾ͬͯλεΫ؅ཧ͞Ε͓ͯΓɺਐḿঢ়گ͕ެ ։͞Ε͍ͯΔɻ https://jira.hyperledger.org/secure/Dashboard.jspa? selectPageId=10104 https://wiki.hyperledger.org/

Slide 23

Slide 23 text

HyperLedgerͷ։ൃʹؔͯ͠ https://wiki.hyperledger.org/

Slide 24

Slide 24 text

HyperLedgerͷ։ൃʹ͍ͭͯ Composer Development framework/tools for building Blockchain business networks

Slide 25

Slide 25 text

HyperLedgerͷ։ൃʹ͍ͭͯ Composer Web UIͰϒϩοΫνΣʔϯ(Fabric)্ʹ৐ͤΔΞϓϦ͕࡞ΕΔɻ ҎԼ4ͭͷߏ੒ཁૉͰ੒Γཱͭɻ Model: τϥϯβΫγϣϯͰѻ͏ΤϯςΟςΟ Access Control: Read/Writeݖݶͷઃఆ Script: νΣʔϯ্Ͱ࣮ߦ͞ΕΔεΫϦϓτɻJSɻ Query: εΫϦϓτ಺෦Ͱݺ΂Δ Modelఆٛʹج͍ͮͯREST APIΛߏஙͨ͠ΓϢχοτςετ΋Մೳ

Slide 26

Slide 26 text

·ͱΊ • ίϯιʔγΞϜܕϒϩοΫνΣʔϯ࣮૷ͷ HyperLedger͸֤छϓϩδΣΫτ͕׆ൃʹ
 ։ൃ͞Εͯ·͢ɻ • ύϑΥʔϚϯε౳࣮ূ࣮ݧ͕͞Ε͓ͯΓɺ
 ۚ༥෼໺ʹ͓͍ͯ͸࣮༻ੑΛײ͡Δɻ • Fabric + Composerͷ։ൃ؀ڥ͕͙͢৮ΕΔͷ ͰɺؾʹͳΔਓ͸ࢼͯ͠Έ͍ͯͩ͘͞ɻ