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
4k
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
88
How Go cache tests
timakin
1
3.1k
Other Decks in Technology
See All in Technology
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
110
Digitization部 紹介資料
sansan33
PRO
1
4.2k
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
1
200
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
9
5.7k
データ戦略部門 紹介資料
sansan33
PRO
1
3.2k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
770
Ретроспективный взгляд на Vue 3. Даша Сабурова, Vue-разработчик Lamoda Tech
lamodatech
0
1.1k
AI Engineering Summit Pre Event LT #10
okaru
2
560
Nonaka Sensei
kawaguti
PRO
3
600
ハッカー視点で学ぶサイバー攻撃と防御の基本
nomizone
3
1.7k
Two-Tower モデルで実現する 検索リランキング / Shibuya_AI_2
visional_engineering_and_design
2
180
MCPを利用して自然言語で3Dプリントしてみよう!
hamadakoji
0
1.5k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
KATA
mclloyd
29
14k
Thoughts on Productivity
jonyablonski
69
4.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
770
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Code Review Best Practice
trishagee
68
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Optimizing for Happiness
mojombo
379
70k
Side Projects
sachag
454
42k
Fireside Chat
paigeccino
37
3.5k
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ͷ։ൃڥ͕͙͢৮ΕΔͷ ͰɺؾʹͳΔਓࢼͯ͠Έ͍ͯͩ͘͞ɻ