Cloud Operator Days Tokyo 2023
オンプレミスとクラウドの架け橋!~分散クラウドのアーキテクチャを探る~
https://event.cloudopsdays.com/2023/08/17/%e3%82%aa%e3%83%b3%e3%83%97%e3%83%ac%e3%83%9f%e3%82%b9%e3%81%a8%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%81%ae%e6%9e%b6%e3%81%91%e6%a9%8b%ef%bc%81%ef%bd%9e%e5%88%86%e6%95%a3%e3%82%af%e3%83%a9%e3%82%a6/
FireFly is a platform developed by Hyperledger that simplifies web3 application development. It handles common web3 infrastructure problems like decentralized architecture, tokenomics, wallet security, data privacy, and transaction management so developers can focus on building applications. FireFly includes tools like an API generator, data exchange, and orchestration engine to connect applications to blockchains without having to reinvent the wheel each time. It is open source, cloud-ready, and designed for production use at an enterprise scale.
7. ? Hitachi, Ltd. 2021. All rights reserved.
通常のFabric ChaincodeとFabric Private Chaincodeの違い
6
Fabric
Network
Org1 Peer
State
DB
Org2 Peer
Chaincode DB
Chaincode
Fabric
Network
Org1 Peer
DB
Org2 Peer
Chaincode DB
Chaincode
Transaction Transaction
TEE 暗号化
すべてのトランザクションの閲覧
およびデータを取得が可能
Chaincodeで閲覧可能な
データを制御
Chaincodeで許可された
データのみ取得可能
トランザクションやデータが暗号化されず
にDBに保存されているためすべて閲覧可能
Private Chaincodeで他組織が閲覧可能な
トランザクションおよびデータを制御可能
通常のFabric Chaincode Fabric Private Chaincode
8. ? Hitachi, Ltd. 2021. All rights reserved.
通常のChaincodeとPrivate Chaincodeは共存可能
7
組織1 Peer 組織2 Peer
Chaincode
Chaincode
Transaction
Chaincode Chaincode
DB DB
同じネットワークのChannel上に通常のChaincodeとFPCを共存させることができる
? ブロックチェーンネットワークのあるChannelに参加している組織全てに共有する情報と秘匿しつつ?部の
組織にのみ開?する情報を1つの台帳で管理することができる
通常のChaincodeとFPCの
両?をインストールする
台帳および最新の情報が記録されているState DBには
暗号化されているものとされていないものが共存している
9. ? Hitachi, Ltd. 2021. All rights reserved.
デモ?Hyperledger Fabric Private Chaincodeの使い?紹介
8
? これから紹介するデモにて実?したコマンドの内容を含む詳細はQiita記事として投稿済です
u Hyperledger Fabric Private Chaincodeを動かしてみる #1 シミュレーション
? https://qiita.com/ikegawa-koshi/items/39c98779ad8696b78816
u Hyperledger Fabric Private Chaincodeを動かしてみる #2 ハードウェア
? https://qiita.com/ikegawa-koshi/items/8cf1fef1004fc16beb15
10. ? Hitachi, Ltd. 2021. All rights reserved.
デモ?Hyperledger Fabric Private Chaincodeの使い?
9
? Microsoft AzureではIntel SGXが搭載された仮想マシン(DCsv2 シリーズ)を作成可能
u Intel SGXが使えるかを確認するプログラム?https://github.com/ayeks/SGX-hardware
u Intel SGXが使えないマシンでもシミュレーションモードで試すことはできる
u なお、発表者が普段使?しているMacbook ProはIntel SGXが搭載されたIntel CPUが内蔵されているがBIOSにてSGXの
機能がEnableにされていないため使?できない
? 発表者が準備した検証環境
u マシン?Microsoft Azure DCsv2シリーズ インスタンス(Standard_DC2s_v2)
u OS?Ubuntu Server 20.04 LTS - Gen2
u ストレージ?256GB
Intel SGXが搭載されたCPUを内蔵するマシンを準備
11. ? Hitachi, Ltd. 2021. All rights reserved.
デモ?Hyperledger Fabric Private Chaincodeの使い?
10
必要なパッケージをインストールしIntel SGXが使?可能な状態にする
? 必要なソフトウェアパッケージ
u docker
u docker-compose
u golang
u make
? Intel SGXをLinux上で使?するには、intel管理している以下のOSSをビルドしインストールする
u intel/linux-sgx
? https://github.com/intel/linux-sgx
u ビルド済みのパッケージをインストールすることも可能
? https://download.01.org/intel-sgx/sgx_repo/ubuntu
? Intel? SGX Attestation Service Utilizing Enhanced Privacy ID (EPID)の登録をする
u Intelの開発者アカウント作成しEPIDを発?する
? https://api.portal.trustedservices.intel.com/EPID-attestation
12. ? Hitachi, Ltd. 2021. All rights reserved.
デモ?Hyperledger Fabric Private Chaincodeの使い?
11
Fabric Private Chaincodeのソースを取得しコンテナイメージをビルド
? FPCが?意しているコンテナイメージをビルドするための開発環境コンテナイメージを取得
? 開発環境コンテナに?ってからFPCをビルド
? Fabric Networkを?ち上げる
u fabric-samplesを利?してFPCが動作するネットワークを?ち上げることができます。
13. ? Hitachi, Ltd. 2021. All rights reserved.
デモ?Fabric Private Chaincodeの動作確認
12
通常のFabric ChaincodeにてInvoke Fabric Private ChaincodeにてInvoke
? 同じ挙動をする通常のFabric ChaincodeとFabric Private Chaincodeをそれぞれ実装しexplorerを?いて
トランザクションの中?を確認してみる
u 双?ともに単純なKey-Value形式のデータを書き込むChaincodeであり、例として[Key: a, Value: 10]をinvokeした
InvokeしたValueの内容がそのまま確認できる
InvokeしたValueの内容は暗号化された
状態で格納されていることが確認できる
14. ? Hitachi, Ltd. 2021. All rights reserved.
ユースケース
13
Fabric Private Chaincodeのコミュニティが紹介しているユースケース
? オークション[1]
u オークションを実現するアプリケーションでは談合などの不正?為などができないように設計する必要がある
u トランザクションを秘匿化しつつChaincodeをTEE上で実?できるFPCが活?できる
? FPC for Health[2]
u 前癌病変や動脈瘤などの脳の異常を検出するために畳み込みニューラルネットワークなどのモデルを学習する場合、
?い精度を得るためには、病院などの単?の組織が持っているよりもはるかに多くのデータが必要となる
u GDPRやHIPAAなどの法規制により、放射線科医が撮影した脳のCTスキャンやMRIの画像を共有することは不可能
u プライバシーを保護しつつ?由に共有できるBlockchain基盤としてFPCが活?できる
参考?献
1. New IBM and Intel Blockchain Security Feature Targets 5G Auctions, https://www.ibm.com/blogs/research/2020/03/new-ibm-and-intel-blockchain-security-feature-targets-5g-auctions/
2. FPC for Health use case, https://docs.google.com/document/d/1jbiOY6Eq7OLpM_s3nb-4X4AJXROgfRHOrNLQDLxVnsc/
15. ? Hitachi, Ltd. 2021. All rights reserved.
まとめ
14
トラストにデータの共有および利活?をしたいというニーズが?まっている
? World Economic Forum 2019にて信頼ある?由なデータ流通(DFFT)が提唱
? データ共有および利活?にはBlockchainを活?できる??でプライバシー保護が重要
? Hyperledger Fabricでも多数のプライバシー保護の取り組みがされている
Fabric Private Chaincodeとは
? トランザクションおよびデータの内容を秘匿(暗号化)した状態で実?
? Trusted Execution Environmentと呼ばれるCPUに搭載されているセキュリティ機能を活?
Fabric Private Chaincodeの使い?およびユースケース
? 実際にFabric Private Chaincodeを動かし、通常のChaincodeとの動きの違いを確認しご紹介
? オークションやヘルスケア分野でのユースケースが考えられている
16. ? Hitachi, Ltd. 2021. All rights reserved.
Trademarks
15
? Linux Foundation、Hyperledger、Hyperledger FabricはThe Linux Foundationの商標または登録商標
? Intel、Intel SGXはIntel Corp.の商標または登録商標
? GitHubはGitHub Inc.の商標または登録商標
? その他記載の会社名、製品名、サービス名、その他固有名詞はそれぞれの会社の商標または登録商標
? 本発表中の?章および図において、TMおよび?マークは表記しておりません