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.8k
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
10k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.2k
testcache.pdf
timakin
1
130
How Go cache
timakin
1
68
How Go cache tests
timakin
1
3k
Other Decks in Technology
See All in Technology
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.7k
20250116_JAWS_Osaka
takuyay0ne
2
200
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.5k
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
6.4k
Goで実践するBFP
hiroyaterui
1
120
生成AIのビジネス活用
seosoft
0
110
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
140
自社 200 記事を元に整理した読みやすいテックブログを書くための Tips 集
masakihirose
2
330
商品レコメンドでのexplicit negative feedbackの活用
alpicola
1
360
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Site-Speed That Sticks
csswizardry
3
270
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Building Adaptive Systems
keathley
38
2.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Making the Leap to Tech Lead
cromwellryan
133
9k
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ͷ։ൃڥ͕͙͢৮ΕΔͷ ͰɺؾʹͳΔਓࢼͯ͠Έ͍ͯͩ͘͞ɻ