Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Blockchain engineer night_#5_guest

Blockchain Engineer Night第5回目 株式会社エクサ様投影資料

  • Be the first to comment

  • Be the first to like this

Blockchain engineer night_#5_guest

  1. 1. ブロックチェーンの取り組みと PoCアプリケーションのご紹介 株式会社エクサ 金融ソリューション部 ブロックチェーンソリューションデザイングループ 園田 晋也 2018/12/3 BlockchainEngineerNight #5 本資料に記載されているロゴ、システム名称、企業名称、製品名称は各社の登録商標または商標です。
  2. 2. SPEAKER 所属 株式会社エクサ 金融ソリューション部 ブロックチェーンソリューションデザイングループ 新卒でエクサに入社してから主にwebサービスの サーバーサイドエンジニアとしての作業をメインに担当 2年ほど前からブロックチェーンの調査部隊を担当し、 業務と並行して調査している 園田 晋也 Sonoda Shinya
  3. 3. アジェンダ 弊社ブロックチェーンPoC 取り組み実績 契約管理システムPoC アプリケーションのご紹介
  4. 4. エクサのご紹介 日本IBM × JFEスチール = 日本IBMとJFEスチールを親会社に持つ 統合型ソリューションプロバイダーです! 金融・カード決済
  5. 5. ブロックチェーンに対する取り組み ▹ 地震対策ハッカソン ▹ ブロックチェーン推進協会(BCCC) ブロックチェーンアプリコンテスト ▹ 各種ブロックチェーン実証実験への 取り組み ハッカソンや実証実験を通して 積極的に取り組みを進めています IBM賞 最優秀賞
  6. 6. 仮想通貨「じゃない!」ブロックチェーンアプリコンテスト ▹ コンテストでBCCC賞を受賞 ▹ コンテストテーマ ▸ 仮想通貨でしか使えないのでは?という否定派をギャフンと 言わせるため、仮想通貨やコインを直接想起させないものを 高評価! ▹ ルール ▸ パブリックブロックチェーンを使用する ▸ 審査員、来場者がその場で体験できるアプリ
  7. 7. 引用:白いアリバイのプレゼン資料
  8. 8. 引用:白いアリバイのプレゼン資料
  9. 9. 引用:白いアリバイのプレゼン資料
  10. 10. 引用:白いアリバイのプレゼン資料
  11. 11. 引用:白いアリバイのプレゼン資料
  12. 12. 引用:白いアリバイのプレゼン資料
  13. 13. エクサのPoC取り組み実績 ブロックチェーン技術の適用性評価を目的としたPoCを実施 主に金融業さま向けにPoCを実施
  14. 14. アーキテクチャ 検証ピアA SDK for Node.js Webアプリケーション (SPA, Vue.js) IBM Blockchain ユーザー情報 契約情報 チェインコード IBM Cloud SDK for Node.js Webアプリケーション 検証ピアB IBM Blockchain 検証ピアCSDK for Node.js Webアプリケーション ファイル Object Storage IBM Blockchain A社営業 B社営業 C社営業 gRPC gRPC gRPC DB2 on Cloud HTTPS JDBC バックエンド機能 (Express) バックエンド機能 バックエンド機能
  15. 15. データ構造と配置方針 ブロックチェーンの技術特性を理解したうえで データ構造と格納先の検討が必要 DB2 on Cloud IBM Blockchain ファイルのハッシュ値を ブロックチェーンに記録して データの真正性を保証する Object Storage  GDPR対応や個人情報等により 削除が必要となるデータ  複雑な検索条件での利用や 大量バッチ処理に使うデータ ブロックチェーンとの 関連はIDで連携する  ブロックチェーンの参加者と 共有したいデータ  真正性を保証するための記録  バイナリファイル等の 容量が大きいデータ 企業データ (Webアプリ用) ユーザー情報 (Webアプリ用) 契約情報 履歴 文書ファイル ・案件ID ・案件名 ・ステータス ・会社ID ・登録者ID ・登録日時 ・登録ファイルURL ・登録ファイルhash値
  16. 16. アプリケーションからIBPにアクセスする手順 ① 接続情報取得 ② 証明書作成 ③ 証明書登録 ④ アクセス処理の実装 ⑤ ChainCodeの作成・登録 ① ② ③ ④ ⑤
  17. 17. ①IBPへの接続設定 接続情報取得 IBP接続のための設定情報はIBPの管理ページの 「概説」>「接続プロファイル」から取得できる 接続プロファイルjson(一部抜粋)
  18. 18. ②IBPへの接続設定 証明書作成 ▹ 今回は証明書取得のため、fabric のサンプルコード(fabric- samples)の証明書作成 プログラム(enrollAdmin.js、 registerUser.js)を利用した ▹ デフォルトでは通信の向き先が ローカルのdockerになっている ため、先ほど取得した 設定プロファイルを向き先に 設定する github上のfabricサンプルコード https://github.com/hyperledger/fabric- samples/tree/release/fabcar
  19. 19. ③IBPへの接続設定 証明書登録 作成した証明書を「メンバー」>「証明書の追加」より登録する 作成した証明書情報
  20. 20. ④IBPへのアクセス処理の実装 ▹ fabricのサンプルコード (fabric-samples)の プログラムを参考に作成 ▹ 参照処理 ▸ query.js ▹ 更新処理 ▸ invoke.js github上のfabricサンプルコード https://github.com/hyperledger/fabric- samples/tree/release/fabcar
  21. 21. ⑤ChainCodeの作成・登録 管理ページ上の「チェーンコードのインストール」から 作成したチェーンコードを登録する
  22. 22. 開発してみた所感 アプリのフロントエンドはAPIを呼び出して作る感覚 IBPの接続とChainCodeの呼び出しはHyperledger Fabricのサンプル コードをベースとして実装できた。 その他フロントエンドに関しては、従来のwebアプリ開発でAPIを呼び出し て使うのと同様な実装ができるので、IBPだからといって、特別な 開発技術がなくてもアプリケーションを作成できる 情報の共有の仕組みが簡単にできることを実感した ピアを立ててChainCodeを登録したら情報を同期できた 1 2
  23. 23. END

×