O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Copyright 2017 FUJITSU LIMITED
ブロックチェーン実証実験から
得た知見
2017年3月16日
富士通株式会社
株式会社富士通北陸システムズ
0
Copyright 2017 FUJITSU LIMITED
目次
1
目次
 『証券ポストトレードへのブロックチェーン技術検証と今後の課題』
 日本銀行主催 第3回FinTechフォーラム
 2月28日開催
 みずほ銀行様、富士通
 Fabric v0.6の課題とv1.0での対応点
 Fabric -...
証券ポストトレードへの
ブロックチェーン技術検証と今後の課題
Copyright 2017 FUJITSU LIMITED3
Copyright 2017 FUJITSU LIMITED
「証券ポストトレードへのブロックチェーン技術検証と今後の課題」について
は、日本銀行の第3回FinTechフォーラムの発表内容と同一ですので、以
下、リンク先掲載資料をご参照ください...
Copyright 2017 FUJITSU LIMITED
Fabric v0.6の課題と
v1.0での対応点
5
Copyright 2017 FUJITSU LIMITED
Hyperledger Fabric v0.6の技術検証を通して得た課題および
v1.0における対応点を説明します。
① トランザクション/ワールドステートの暗号化
② チェーンコー...
①トランザクション/ワールドステートの暗号化
 Fabric v0.6の暗号化
 Fabric v0.6のデフォルトでは、以下は暗号化されない。
•トランザクションのペイロード
•ワールドステート
 暗号化の課題
 チェーンコード以外か...
①トランザクション/ワールドステートの暗号化
 対策案
 ブロック/トランザクションの情報を利用したい場合は、
アプリケーション側で暗号化を実施
 SDKはpeerの設定に依存しないため、
SDKを使用する場合は、privacyモードと合...
②チェーンコード間の呼び出しとトランザクション
 チェーンコード間の呼び出し
 Fabric v0.6ではチェーンコードからチェーンコードを呼び出すことが可能
 チェーンコード間呼び出しの課題
 privacyモードでは、チェーンコード...
②チェーンコード間の呼び出しとトランザクション
 対策案
 暗号化しつつ、チェーンコード間の呼び出しが必要な場合は
アプリケーション、チェーンコードで暗号化を実施
 チェーンコード間の呼び出しのトランザクションはブロックに記載されないため...
③チェーンコードのアクセスコントロール
 チェーンコードでは、Invoke/Query時にアクセス制御が実装可能
 呼び出し時のトランザクション証明書のAttribute等を利用することができる
 アクセス制御における課題
 チェーンコ...
③チェーンコードのアクセスコントロール
 対策案
 アクセス制御ポリシーはワールドステートに定義し、更新用のAPIも用意。
ポリシーを変更しても、チェーンコード自体は更新しないよう設計。
 Fabric v1.0での対応
 チェーンコー...
④REST APIと証明書
 Fabric v0.6のREST API
 v0.6ではpeerがREST APIをサポート
REST APIを使用することで簡単にチェーンコード呼び出しが可能
(peerがMembershipServiceへ...
④REST APIと証明書
 対策案
 SDKを使用してpeerにアクセスし、peerに情報を格納しない。
 Fabric v1.0での対応
 Fabric v1.0ではREST APIが未サポートになる
SDKを使用してgRPC通信に...
Copyright 2017 FUJITSU LIMITED
Fabric - Java SDKのご紹介
15
Fabric - Java SDKとは
 狙い
 Fabric v1.0ではREST APIが廃止予定であり、SDKを利用する必要がある。
 当初はSDKとして、Node.js, Go, Pythonが用意される予定であったが、広く利
用...
№ フロー 概要
1 Endorse(Tx) Peerノードに対し、トランザクションの承認依頼を発行する。
2 Respond
(Endorsed Tx)
Peerノードは、アプリケーションより承認依頼を受けたトランザクションを実行し、
結果に...
18
Próximos SlideShares
Carregando em…5
×

ブロックチェーン実証実験から得られた知見

5.202 visualizações

Publicada em

富士通 / 富士通北陸システムズ 滝口成人様
第1回Hyperledger Tokyo Meetup 2017年3月16日講演

Publicada em: Tecnologia

ブロックチェーン実証実験から得られた知見

  1. 1. Copyright 2017 FUJITSU LIMITED ブロックチェーン実証実験から 得た知見 2017年3月16日 富士通株式会社 株式会社富士通北陸システムズ 0
  2. 2. Copyright 2017 FUJITSU LIMITED 目次 1
  3. 3. 目次  『証券ポストトレードへのブロックチェーン技術検証と今後の課題』  日本銀行主催 第3回FinTechフォーラム  2月28日開催  みずほ銀行様、富士通  Fabric v0.6の課題とv1.0での対応点  Fabric - Java SDKのご紹介 Copyright 2017 FUJITSU LIMITED2
  4. 4. 証券ポストトレードへの ブロックチェーン技術検証と今後の課題 Copyright 2017 FUJITSU LIMITED3
  5. 5. Copyright 2017 FUJITSU LIMITED 「証券ポストトレードへのブロックチェーン技術検証と今後の課題」について は、日本銀行の第3回FinTechフォーラムの発表内容と同一ですので、以 下、リンク先掲載資料をご参照ください。 [第3回 FinTechフォーラム(2月28日)資料] https://www.boj.or.jp/announcements/release_2017/rel170227a.htm/ 証券ポストトレードへのブロックチェーン技術検証と今後の課題 4
  6. 6. Copyright 2017 FUJITSU LIMITED Fabric v0.6の課題と v1.0での対応点 5
  7. 7. Copyright 2017 FUJITSU LIMITED Hyperledger Fabric v0.6の技術検証を通して得た課題および v1.0における対応点を説明します。 ① トランザクション/ワールドステートの暗号化 ② チェーンコード間の呼び出しとトランザクション ③ チェーンコードのアクセスコントロール ④ REST APIと証明書 Fabric v0.6の課題とv1.0での対応点 6
  8. 8. ①トランザクション/ワールドステートの暗号化  Fabric v0.6の暗号化  Fabric v0.6のデフォルトでは、以下は暗号化されない。 •トランザクションのペイロード •ワールドステート  暗号化の課題  チェーンコード以外から復号できず、トレーサビリティ確保が困難 REST APIを使用するなどで、ブロック情報を取得できるが、復号する術がない。  Peerコマンド/REST APIとSDKを同時に利用する場合、 CONFIDENTIALのON/OFFが混在するとワールドステートの内容が壊れる Copyright 2017 FUJITSU LIMITED peerのprivacyモード SDKでCONFIDENTIALモードにすることで、 暗号化することが可能 peer privacy: ON WorldState Block peerコマンド REST API SDK (非CONFIDENTIAL) deploy / invoke deploy / invoke NG OK peer privacy: ON トランザクション (暗号化) deploy 生成 トランザクション 参照 ?? 7
  9. 9. ①トランザクション/ワールドステートの暗号化  対策案  ブロック/トランザクションの情報を利用したい場合は、 アプリケーション側で暗号化を実施  SDKはpeerの設定に依存しないため、 SDKを使用する場合は、privacyモードと合わせて利用する  Fabric v1.0での対応  privacyモードはなくなるが、Multi-Channelを利用することで関係者だけに共有 することが可能 Copyright 2017 FUJITSU LIMITED peer privacy: OFF トランザクション (暗号化) invokeトランザクション 参照 アプリ 暗号化 アプリ 復号 privacy ON privacy OFF peerコマンド REST API 暗号化 平文 8
  10. 10. ②チェーンコード間の呼び出しとトランザクション  チェーンコード間の呼び出し  Fabric v0.6ではチェーンコードからチェーンコードを呼び出すことが可能  チェーンコード間呼び出しの課題  privacyモードでは、チェーンコード間呼び出しが現状できない (v0.6では未実装)  チェーンコード間のトランザクションがブロックに記載されない Copyright 2017 FUJITSU LIMITED peer チェーンコードA チェーンコードB call A ※ソースコード内で Bを呼び出す peer Block トランザクション1 トランザクション2 チェーンコードA チェーンコードB call A(トランザクション1) call B(トランザクション2) 記録に残らない “コントラクト” と捉えるならば、 記録が必要なのでは? invoke / query 9
  11. 11. ②チェーンコード間の呼び出しとトランザクション  対策案  暗号化しつつ、チェーンコード間の呼び出しが必要な場合は アプリケーション、チェーンコードで暗号化を実施  チェーンコード間の呼び出しのトランザクションはブロックに記載されないため、 チェーンコード間の呼び出しはqueryを中心とする。 (queryのトランザクションはブロックに記録されない仕様)  Fabric v1.0での対応  v1.0でもチェーンコード間のトランザクションはブロックに記録されない 現状は、queryのみ実行できるように対応されている (invokeは実行できない)  チェーンコード間の呼び出しには注意が必要 Copyright 2017 FUJITSU LIMITED チェーンコードA チェーンコードB ワールド ステートB invoke query 10
  12. 12. ③チェーンコードのアクセスコントロール  チェーンコードでは、Invoke/Query時にアクセス制御が実装可能  呼び出し時のトランザクション証明書のAttribute等を利用することができる  アクセス制御における課題  チェーンコードの実装負担 •アクセス制御のポリシーの定義 ポリシーに基づいた、アクセス制御の実装  チェーンコードの更新によってインタフェース(チェーンコードID)が変わる •アクセス制御の実装や、ポリシー定義の変更に伴ってチェーンコードの更新が必要な場合、 チェーンコードの呼び出し側へも修正が必要 Copyright 2017 FUJITSU LIMITED チェーンコード Aさん Bさん アクセス制御ポリシーの定義 認可の制御許可invoke 拒否 許可 invoke 11
  13. 13. ③チェーンコードのアクセスコントロール  対策案  アクセス制御ポリシーはワールドステートに定義し、更新用のAPIも用意。 ポリシーを変更しても、チェーンコード自体は更新しないよう設計。  Fabric v1.0での対応  チェーンコードのアップデートが可能。 やむをえず、チェーンコードの置き換えが必要になっても、クライアントから呼び出しイ ンタフェースを変更せずに対応できる  Multi-Channelにより、ある程度のアクセス制御が可能 (特定のユーザのinvokeを一律禁止する等) きめ細やかなアクセス制御には、v0.6と同様のチェーンコードでの実装が必要 Copyright 2017 FUJITSU LIMITED チェーンコード Aさん アクセス制御ポリシーの定義 認可の制御invoke ポリシーの変更 invoke 管理者 12
  14. 14. ④REST APIと証明書  Fabric v0.6のREST API  v0.6ではpeerがREST APIをサポート REST APIを使用することで簡単にチェーンコード呼び出しが可能 (peerがMembershipServiceへの処理を代行)  REST APIの課題  peerに利用者の秘密鍵・証明書が格納される - 他peerの利用ができない - なりすましが容易 Copyright 2017 FUJITSU LIMITED peer REST呼び出し Membership Service register enroll create TCert peer0 peer1 Jim Jimの秘密鍵などは peer0で管理される 利用不可 なりすまし可能 ID(Jim)の指定だけで 簡単になりすまし可能 13
  15. 15. ④REST APIと証明書  対策案  SDKを使用してpeerにアクセスし、peerに情報を格納しない。  Fabric v1.0での対応  Fabric v1.0ではREST APIが未サポートになる SDKを使用してgRPC通信によりチェーンコードを呼び出す必要がある。 Go, Python, Node.js, Javaを使って開発可能 v0.6でREST APIを使って開発していたアプリは対応が必要 Copyright 2017 FUJITSU LIMITED Jim peer0 peer1 SDK なりすまし不可 ? REST サーバ SDK peerHTTP gRPC 14
  16. 16. Copyright 2017 FUJITSU LIMITED Fabric - Java SDKのご紹介 15
  17. 17. Fabric - Java SDKとは  狙い  Fabric v1.0ではREST APIが廃止予定であり、SDKを利用する必要がある。  当初はSDKとして、Node.js, Go, Pythonが用意される予定であったが、広く利 用されているJava SDKを用意することで、Fabricの利用促進を図る。  提案経緯  2016年9月 富士通とDTCCとが 共同プロポーザルを実施  2016年10月 技術運営役員(TSC)にて承認 Copyright 2017 FUJITSU LIMITED16
  18. 18. № フロー 概要 1 Endorse(Tx) Peerノードに対し、トランザクションの承認依頼を発行する。 2 Respond (Endorsed Tx) Peerノードは、アプリケーションより承認依頼を受けたトランザクションを実行し、 結果に署名をし、アプリケーションへ返却する。 3 Broadcast (Endorsed Tx) アプリケーションは承認済みのトランザクションをOrderersノードに送信する。 4 Blocks Orderersはトランザクションをブロックにまとめ、Peerノードへ送信する。Peer ノードはブロックを検証し、チェーンにつなげる。 Fabric - Java SDKの利用イメージ Copyright 2017 FUJITSU LIMITED Peerノード Orderers Application Java SDK (JAR) 業務アプリ 1.Endorse(Tx) KVS 2.Respond (Endorsed Tx) 3. Broadcast (Endorsed Tx) 4. Blocks 17
  19. 19. 18

×