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.5k
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.7k
Design Pattern for Image and Text Composition in Go
timakin
5
6.5k
Golang API Testing the HARD way
timakin
13
6.4k
Head First Golang Image Package
timakin
2
9.9k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.1k
testcache.pdf
timakin
1
120
How Go cache
timakin
1
62
How Go cache tests
timakin
1
2.9k
Other Decks in Technology
See All in Technology
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
450
事業者間調整の行間を読む 調整の具体事例
sugiim
0
1.1k
いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜
horsewin
9
2k
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
260
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.6k
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
210
で、ValhallaのValue Classってどうなったの?
skrb
1
660
【若手エンジニア応援LT会】AWSで繋がり、共に成長! ~コミュニティ活動と新人教育への挑戦~
kazushi_ohata
0
170
カメラを用いた店内計測におけるオプトインの仕組みの実現 / ai-optin-camera
cyberagentdevelopers
PRO
1
120
Featured
See All Featured
Done Done
chrislema
181
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
A Philosophy of Restraint
colly
203
16k
A Tale of Four Properties
chriscoyier
156
23k
How STYLIGHT went responsive
nonsquared
95
5.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
We Have a Design System, Now What?
morganepeng
50
7.2k
RailsConf 2023
tenderlove
29
880
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
How to train your dragon (web standard)
notwaldorf
88
5.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ͷ։ൃڥ͕͙͢৮ΕΔͷ ͰɺؾʹͳΔਓࢼͯ͠Έ͍ͯͩ͘͞ɻ