More Related Content More from Tsuyoshi Hirayama (19) Blockchain EXE #1 Hyperledger fabric 1.0 architecture update and high security business network IBM 平山毅2. © 2017 IBM Corporation
自己紹介 平山 毅 Tsuyoshi Hirayama / Consulting
Architect, Cloud Service, IBM Japan Ltd.
東京証券取引所、野村総合研究所でデリバティブを中心とした
証券システムを担当後、Amazon Web Servicesにてグロー
バルリージョンを活用したクラウド案件の多くを手掛ける。IBMで
は、クラウド統合を統括リードしており、昨年のBluemix User
GroupでBlockchain関連の講演を2回⾏った他、世界初の
HSBNを活用した本番プロジェクトの支援も担当。
IBMからのホワイトペーパー「エンタープライズ向けブロックチェーン
の大きな可能性とクラウドプラットフォームの必要性」も執筆して
おり、IBMのBlockchain技術コミュニティの中心メンバー。出版
書籍、技術講演、等多数。
Twitter ID : t3Hirayama
Hyperleger Project 化された2016年2月にIBM入社
5. © 2017 IBM Corporation
Hyperledger Fabric 0.6
membership
keys
Consensus
Ledger
Events
Chaincode
state
peer
SDK
ECA, TCA, TLS-CA
PBFT
7. © 2017 IBM Corporation
ブロックチェーンネットワーク(on Bluemix)
複数のチェーンコード
(ビジネスロジック)
ブロックチェーン
ネットワーク=重要
コンテナ
ノード
8. © 2017 IBM Corporation
チェーンコードのデプロイ(on Bluemix)
11. © 2017 IBM Corporation
ブロックアクティビティ(on Bluemix)
チェーンコードのデプロイと呼び出しがそれぞれがブロックとして追記される。
12. © 2017 IBM Corporation
0.6の特徴=PBFT、とは︖
Practical Byzantine Fault Tolerance の略。
順序を乱すリスクに対して、blockchainネットワーク上のトランザクションの順序を維持す
る様々なコンセンサスプロトコル。
N個のノードで構成されるblockchainネットワークに対して
F =(N-1)/ 3 まで耐えることができる。
すべてのネットワーク・ノードの1/3よりも少ない障害に耐えることができる。
➡4ノード構成が最小構成として推奨。
13. © 2017 IBM Corporation
Bluemix版 v0.6 性能指標
Transaction
type
Number of
peers
Number of
threads
Run duration
(min)
Transactions
per second
invokes 4 100 10 72
invokes 4 100 60 66
queries 4 100 10 252
queries 4 100 60 248
•chaincode example02
•logging level: error
•thread number: 100
•batch size: 1000
•duration: 10 min. and 60 min.
•transaction types: invoke a->b, invoke b->a, then repeat & query a, query b, then repeat
14. © 2017 IBM Corporation
Hyperledger Fabric 1.0
Endorser
Committer
Chaincode
Event
Ledger
peer
参照 : https://jira.hyperledger.org/browse/FAB-37
membership
SDK
Keys
application
No SPoF
No SPoT
1: Submit Proposal
2: Execute CC
3: Return Endorsed Response
4: Submit Tx 6: Deliver batch
7: Validate & Commit Tx5: Order TXs in
a batch
according to
consensus
o-service
注)1.0は現在進⾏形です。
変更される可能性があります。
コンセンサスモデル
SBFT(←シンプルかなぁ︖)
Ordering
Challel
15. © 2017 IBM Corporation
Ordering Services
https://github.com/hyperledger/fabric/blob/master/proposals/r1/Next-Consensus-Architecture-Proposal.md
16. © 2017 IBM Corporation
Ordering Services Detail
https://github.com/hyperledger/fabric/blob/master/proposals/r1/Next-Consensus-Architecture-Proposal.md
17. © 2017 IBM Corporation
Ledger
Facebook RocksDB以外にも対応
18. © 2017 IBM Corporation
Membership Services Provider
20. © 2017 IBM Corporation
Added Channel = ネットワーク間繋がる
21. © 2017 IBM Corporation
Endorsing と Committingの関係
Endorsing Peer (subset of peers) Committing Peer (all peers)
Ordering
Service
Transaction
Reads[]
Writes[]
2) Execute chaincode to simulate
proposal in peer
• Query State DB for reads
• Build RWSet
Application
(SDK)
Transaction
Reads[]
Writes[]
Transaction
Reads[]
Writes[]
Transaction
Reads[]
Writes[]
7) Validate each transaction and commit block
• Validate endorsement policy (VSCC)
• Validate ReadSet versions in State DB (MVCC)
• Commit block to blockchain
• Commit valid trans to State DB
5) Ordering service
creates batch
(block) of
transactions
22. © 2017 IBM Corporation
Orders Consideration
Orderer(s)
Bank B Peer(s) Bank C Peer(s)
A-B A-B
A-C
B-C
A-C
B-C
Clearinghouse/
Auditor Peer(s)
A-B
A-C
B-C
CC1 CC1 CC1 CC1 CC1 CC1 CC1 CC1 CC1
Channel A-B Channel A-C Channel B-C
Bank A Peer(s)
CC1 installed CC1 installed CC1 installed CC1 installed
23. © 2017 IBM Corporation
Ordering based on Apache Kafka
24. © 2017 IBM Corporation
High Security Business Network
High Security Business Network一般的なブロックチェーン基盤
外部からの攻撃者 内部犯⾏者
管理者権限奪取
マルウェア導入
→ データ漏洩・
改竄・不正操作
なりすまし
→ データ漏洩・
改竄・不正操作
複雑な暗号鍵保護
⾼度なセキュリティー機能でデータ漏洩リスクを極⼩化
Hyperledger
Secure Service Container • クラウドサービス間の
データ漏洩なし
• 暗号鍵の流出防⽌
• ハッシュ計算や暗号化の
CPU負荷軽減
• 管理者アクセスを防⽌
• ソフトウェアの改ざん検知
• 不正利⽤によるデータ改竄
や漏洩を防⽌
EAL5
FIPS140-2 Level4
Secure Service Container
IBM Cloud
25. © 2017 IBM Corporation
Fabric Composer for Hyperledger
26. © 2017 IBM Corporation
プラットフォームがスケーラブル
アプリケーションをスケ―ル
するためには疎結合にし
マイクロサービス化が必要
Cloud Computing
REST API
REST API REST API
API Gateway
NoSQL Object
Storage
Serverless
Queuing
API Management
Business
Rule
Container
Blockchain
Cloudfoundry
Serverless
+ scheduler
Web Services FinTech
シンプル 少し複雑
Hyperledger と Microservices
28. © 2017 IBM Corporation
Thank you
ご清聴ありがとうございました。
29. © 2017 IBM Corporation
この資料に含まれる情報は可能な限り正確を期しておりますが、日本アイ・ビー・エム株式会社の正式なレビューを受けておらず、当資料に記載
された内容に関して日本アイ・ビー・エムは何ら保証するものではありません。
ワー クショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情
報提供の目的 のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結
果を生むものでもありません。 本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供さ
れ、明示または暗示にかかわらずいかなる保証 も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の
関連によって、いかなる損害が生じた場合も、IBMは責任を負わ ないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライ
ヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBM ソフトウェアの使用を規定する適用ライセンス契
約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本 講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であること
を暗示するも のではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独
自の決定権をもっていつでも変 更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したも
のではありません。本講演資料に含まれている 内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生
じると述べる、または暗示することを意図したものでも、またその ような結果を生むものでもありません。 パフォーマンスは、管理された環境にお
いて標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ フォーマンスは、ユー
ザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮 事項を含
む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではあ
りませ ん。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として
示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM, IBM ロゴ、ibm.com, は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。