Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HyperLedger Today
Search
Seiji Takahashi
October 03, 2017
Technology
0
5.6k
HyperLedger Today
blockchain.tokyo#1の発表資料 by @__timakin__
Seiji Takahashi
October 03, 2017
Tweet
Share
More Decks by Seiji Takahashi
See All by Seiji Takahashi
Go Backends for frontends with GraphQL and gRPC
timakin
6
3.9k
Design Pattern for Image and Text Composition in Go
timakin
5
6.6k
Golang API Testing the HARD way
timakin
13
6.6k
Head First Golang Image Package
timakin
2
10k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.3k
testcache.pdf
timakin
1
150
How Go cache
timakin
1
85
How Go cache tests
timakin
1
3k
Other Decks in Technology
See All in Technology
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
7
1.6k
時間がないなら、つくればいい 〜数十人規模のチームが自律性を発揮するために試しているいくつかのこと〜
kakehashi
PRO
23
5.6k
Coding Agentに値札を付けろ
watany
3
520
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
710
encoding/json v2を予習しよう!
yuyu_hf
PRO
1
190
Как мы автоматизировали интеграционное тестирование с Gonkey и не пожалели. Паша Егорычев, Кирилл Поляков
lamodatech
0
2.1k
分解し、導き、託す ログラスにおける“技術でリードする” 実践の記録
hryushm
0
240
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
230
さくらのクラウド開発の裏側
metakoma
PRO
13
4.6k
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
5
440
Новые мапы в Go. Вова Марунин, Clatch, МТС
lamodatech
0
2.1k
Simplify! 10 ways to reduce complexity in software development
ufried
2
260
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Optimizing for Happiness
mojombo
378
70k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
800
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
How to train your dragon (web standard)
notwaldorf
91
6k
Making Projects Easy
brettharned
116
6.2k
Balancing Empowerment & Direction
lara
0
15
A Tale of Four Properties
chriscoyier
159
23k
Scaling GitHub
holman
459
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Transcript
HYPER LEDGER TODAY @__timakin__ / blockchain.tokyo#1
ࣗݾհ • Seiji Takahashi • Github: timakin / Twitter: @__timakin__
• Gunosy Inc. Business Development Team • Go / Swift • Just a little bit contributed to Go.
https://www.slideshare.net/seijitakahashi92/concept-of- blockchain-decentralized-application
ΞδΣϯμ • HyperLedgerͱʁ • HyperLedgerͷϓϩδΣΫτҰཡ • HyperLedgerͷ։ൃʹؔͯ͠
HyperLedgerͱʁ
HyperLedgerͱʁ • ۚ༥Λத৺ͱͨ͠൚ۀछͰͷϒϩοΫνΣʔϯ ٕज़ͷߴԽΛਐΊΔڞಉϓϩδΣΫτ • Supported by The Linux Foundation
• ίϯιʔγΞϜܕͷϒϩοΫνΣʔϯ • IBMɺIntelɺJ.P.MorganɺMUFGɺNECɺΞΫ ηϯνϡΞɺ࢜௨ɺཱetc…େاۀ͕ϝϯ όʔͱͳ͍ͬͯΔ
HyperLedgerͱʁ ref: http://gaiax-blockchain.com/hyperledger-project
HyperLedgerͷߏཁૉ ref: https://docs.google.com/document/d/1Z4M_qwILLRehPbVRUsJ3OF8Iir-gqS-ZYe7W-LE9gnE/pub
HyperLedger Projects Fabric PBFTʹΑΔߴͳ߹ҙܗ খϊʔυͰՄೳͳӡ༻ ϝϯόʔγοϓ੍ʹΑΔԾ௨՟ͷෆࡏ ։ൃසߴ͘ɺ࣮ূ࣮ݧࡁΈ*ɻGoɻ * http://www.jpx.co.jp/corporate/research-study/working-paper/tvdivq0000008q5y-att/ JPX_working_paper_No15.pdf
HyperLedger Fabric Network ref: https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/
PBFT (Practical Byzantine Fault Tolelance) ref: https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/
ChainCode • εϚʔτίϯτϥΫτɻGo͔JavaͰΠϯλʔ ϑΣʔεΛ࣮͢ΕϒϩοΫνΣʔϯ্Ͱ࣮ߦ ՄೳͳϓϩάϥϜɻ
ChainCode
World State • ChainCode͔ΒR/WͰ͖ΔKVSɻJSONจࣈྻΛ ֨ೲͰ͖Δɻ • ϑΝΠϧΛอଘ͍ͨ͠߹όΠφϦจࣈྻʹ มͯ͠ɺChainCode্͔Βࢀর͢Δ͜ͱʹͳ Δɻ
shim.ChaincodeStubInterface • chaincodeͰWorldStateɺLedgerɺೝূใͳ ͲʹΞΫηε͢ΔAPI • Init, Invokeͷ྆ํͰୈҰҾʹͬͯ͘Δɻ • Get/Put/Delete StateͰWorld
StateʹΞΫηε • shim.Success, shim.ErrorͰres payload writer͕ ϥοϓ͞Ε͍ͯΔɻʢΤϥʔίʔυ200, 400, 500ͷΈʣ
HyperLedger Projects Iroha ຊͷιϥϛπגࣜձࣾ։ൃओಋͷϒϩοΫνΣʔϯɻ Ҭ௨՟ɺֶ௨՟ͳͲʹ࣮༻͞ΕͯΔɻ ϞόΠϧSDKɺσδλϧΞηοτൃߦʹॏΛஔ͍ͯ ͍Δɻ Fabricͱ߹ҙܗΞϧΰϦζϜ͕एׯҧ͏ɻ C++ɻ
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.
HyperLedger Projects Indy ϒϩοΫνΣʔϯ্ͰσδλϧIDΛཧ͢Δɻ BitcoinEthereumͱҟͳΓɺIDཧͷͨΊͷಠࣗ ͷாΛ࣋ͭɻ IDͷόϦσʔγϣϯɺHyperLedgerՃໍલʹ σδλϧIDͰ͋ΔSovrin IDΛ͍ͯͨ͠ɺ Sovrin
FoundationͷόϦσʔλʔϊʔυ (Permissioned)্ͰߦΘΕΔɻ
Indy Access Control IDͷࢀরࣗମPublicʹͰ͖Δ͕ɺόϦσʔγϣϯೝՄΛड͚ͨ όϦσʔλʔϊʔυ͚͕ͩͰ͖Δɻ
RBFT (Redundunt Byzantine Fault Tolelance) ref: https://pakupaku.me/plaublin/rbft/5000a297.pdf
HyperLedgerͷ։ൃʹ͍ͭͯ Development ϏοΫϦυοΩϦMakefileͰdockerͷίϯςφϏϧυ͕Ӆṭ ͞ΕͯΔɻ kubernetesʹҠߦ͠Α͏ͱ͍͏ٞIssueʹ্͕ͬͯΔ Fablic, Iroha, Sawtooth, IndyͲΕίϛοτࣗମ׆ൃʹߦ ΘΕ͍ͯΔɻ
HyperLedgerͷ։ൃʹؔͯ͠ ίϛϡχςΟ https://chat.hyperledger.org͔ϝʔϦϯάϦετͰ֤ϓϩ δΣΫτͷ࣭ɾਐḿ֬ೝ͕ߦΘΕ͍ͯΔɻ JIRAͰνέοτͬͯλεΫཧ͞Ε͓ͯΓɺਐḿঢ়گ͕ެ ։͞Ε͍ͯΔɻ https://jira.hyperledger.org/secure/Dashboard.jspa? selectPageId=10104 https://wiki.hyperledger.org/
HyperLedgerͷ։ൃʹؔͯ͠ https://wiki.hyperledger.org/
HyperLedgerͷ։ൃʹ͍ͭͯ Composer Development framework/tools for building Blockchain business networks
HyperLedgerͷ։ൃʹ͍ͭͯ Composer Web UIͰϒϩοΫνΣʔϯ(Fabric)্ʹͤΔΞϓϦ͕࡞ΕΔɻ ҎԼ4ͭͷߏཁૉͰΓཱͭɻ Model: τϥϯβΫγϣϯͰѻ͏ΤϯςΟςΟ Access Control: Read/Writeݖݶͷઃఆ
Script: νΣʔϯ্Ͱ࣮ߦ͞ΕΔεΫϦϓτɻJSɻ Query: εΫϦϓτ෦ͰݺΔ Modelఆٛʹج͍ͮͯREST APIΛߏஙͨ͠ΓϢχοτςετՄೳ
·ͱΊ • ίϯιʔγΞϜܕϒϩοΫνΣʔϯ࣮ͷ HyperLedger֤छϓϩδΣΫτ͕׆ൃʹ ։ൃ͞Εͯ·͢ɻ • ύϑΥʔϚϯε࣮ূ࣮ݧ͕͞Ε͓ͯΓɺ ۚ༥ʹ͓͍࣮ͯ༻ੑΛײ͡Δɻ • Fabric
+ Composerͷ։ൃڥ͕͙͢৮ΕΔͷ ͰɺؾʹͳΔਓࢼͯ͠Έ͍ͯͩ͘͞ɻ