FileNewTemplate

Similar documents
rcp-add-01:アーキテクチャ設計書

スライド 1

Bluemix いつでもWebinarシリーズ 第15回 「Bluemix概説(改訂版)」

Oracle SQL Developer Data Modeler

PowerPoint プレゼンテーション

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

資料 5-2 Government 公的個人認証サービスのスマートフォンでの利活用の実現に向けた実証 について iphone に於ける利用者証明書ダウンロードの検証 2016 年 10 月 25 日日本アイ ビー エム株式会社 2016 IBM Corporation

ESET Smart Security 7 リリースノート

FIDO技術のさらなる広がり

Automation for Everyone <デモ で実感できる、組織全体で活用できるAnsible Tower>

今さら聞けない!? Oracle入門 ~前編~

IBM i とクラウドのつなぎ 本アイ ビー エム株式会社 Power Systems テクニカル セールス 菅 丈

ESET NOD32 アンチウイルス 6 リリースノート

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

PowerPoint プレゼンテーション

利用者

一般社団法人ビジネス機械・情報システム産業協会

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

みずほレポート06水谷氏_三校.indd

storage-sdk-Java

Sharing the Development Database

Bluemix いつでもWebinarシリーズ 第15回 「Bluemix概説(改訂版)」

UCSセキュリティ資料_Ver3.5

Microsoft Word - PCOMM V6.0_FAQ.doc

ArcGIS for Server 機能比較表

ESET NOD32 アンチウイルス 8 リリースノート

2019 年 7 月 9 日 株式会社 bitflyer Blockchain 株式会社イード Tokyo Otaku Mode Inc. オタクコイン協会 世界中のファンがアニメニュース記事を翻訳するブロックチェーンプラットフォームの実証実験を開始 ~bitflyer Blockchain イード

PowerPoint Presentation

PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26

1. 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は JCA 仕様準拠のコンテナとして多くの J2EE 準拠アプリケーションサーバーについて動作

Mobile Access簡易設定ガイド

FUJITSU Cloud Service A5 for Microsoft Azure サービス仕様書

2. バージョンアップ内容 intra-mart WebPlatform/AppFramework Ver.7.1 および Ver.7.2 に対応いたしました SAP JCo 3.0.x に対応いたしました 3. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取

"ソフトウェア カフェテリアサービス向けソフトウェア説明書

2 目次 1. 実証事業の全体概要 1.1 Androidスマートフォンへの利用者証明機能ダウンロード ( 仕組み ) 1.2 iosスマートフォンへの利用者証明機能ダウンロード ( 仕組み ) 1.3 システム検証と安全性対策検討 2. 利用者証明機能ダウンロードに関するシステム検証 2.1 An

本文中の記号の意味 本文中で使用している記号の意味について以下に示します システムの操作上または処理の手続き上において 特に注意していただきたい事項を記載しています 記載内容を必ずお読みください システムの操作上または処理の手続き上において 参考にしていただきたい事項を記載しています 必要に応じてお

"ソフトウェア カフェテリアサービス向けソフトウェア説明書

Actian PSQL v12 for Magic のご紹介

クライアント証明書導入マニュアル

Microsoft Office Visioによる 施設管理について

intra-mart Accel Platform

モバイルアプリを Azure で作る - データを扱う Azure Storage を利 してデータを保存する 本稿では PHP と Windows Azure を使って 画像などのファイルを扱うアプリケーションを開発する方法を説明します Windows Azure Platform では データの

はじめに 商業登記電子認証ソフトは, 商業登記に基づく電子認証制度に係る会社 法人の代表者等の電子証明書を取得するために使用する専用ソフトウェアで, 法務省が提供するものです 商業登記電子認証ソフトを用いることにより, 電子証明書の発行申請に必要となるファイルの作成及び電子証明書の取得 ( ダウンロ

CA Federation ご紹介資料

Oracle Cloud Adapter for Oracle RightNow Cloud Service

istorage ReplicationControl SQL Option 製品概要 istorage ReplicationControl SQL Option は データレプリケーション機能 (DynamicDataReplication RemoteDataReplication) またはス

Team Foundation Server 2018 を使用したバージョン管理 補足資料

4 自己登録 の画面が表示されたら 送信 をクリックします 5 アクションが完了しました : 成功 が表示されたら 画面を下にスクロールし 画面右下隅の OK をクリックします 6Windows 用または Mac 用のキャンパスクラウドエージェントをクリックしてダウ ンロードしてください 8 ダウン

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

ISE の BYOD に使用する Windows サーバ AD 2012 の SCEP RA 証明書を更新する

Rmenuフレームワーク

intra-mart FormatCreator Version6.1

京都大学認証基盤ドライバソフト 導入手順書 (WindowsVista ~ Windows10 版 ) 京都大学情報環境機構 第 1 版第 2 版第 3 版 2015 年 3 月 27 日 2015 年 6 月 17 日 2015 年 12 月 9 日

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

目次 1. はじめに 当ドキュメントについて 環境設計 フロー モデルの設計 ログイン タイプの決定 その他情報の決定 IBM Connections Cloud との

2. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取得 更新するための API SAP リアルタイム連携 API を提供いたします またこれらの API を利用した業務テンプレートが同梱されています 各機能の詳細や設定方法に関しては 各マニュアルまたはセットア

取組みの背景 これまでの流れ 平成 27 年 6 月 日本再興戦略 改訂 2015 の閣議決定 ( 訪日外国人からの 日本の Wi-Fi サービスは使い難い との声を受け ) 戦略市場創造プラン における新たに講ずべき具体的施策として 事業者の垣根を越えた認証手続きの簡素化 が盛り込まれる 平成 2

Windowsユーザでも 手軽に作れるiPhoneアプリ

(Microsoft PowerPoint - WQ21JDEadapter\215\\\220\254\216\350\217\207\217\221_ ppt)

はじめの一歩!ソースコード管理に必要なバージョン管理とは

WEBサービス超入門 mask.key

Microsoft PowerPoint - 【Webnner】はじめてのHULFT-WebFT.pptx

TFTP serverの実装

DBMSリポジトリへの移行マニュアル

Transcription:

Hyperledger Fabric の概要とアプリケーション開発 システム構築の考え方 2018 年 9 月 28 日日本アイ ビー エム株式会社グローバル ビジネス サービス事業本部 IBM Distinguished Engineer( 技術理事 ) 早川勝 (Masaru Hayakawa) https://www.linkedin.com/in/masaru-hayakawa-502495148/ Hyperledger Fabric によるアプリケーション開発 ( 監修 )

自己紹介 2003 年から金融機関様を担当しており 現在は 複数プロジェクト 複数チームの全体統括として活動 並行して 某金融機関様のブロックチェーン本格展開プロジェクトにおいて リードアーキテクトを担当 一方で FinTech (API 公開 ) やブロックチェーンに関しては 日本 IBM 全体で技術推進を実施 FinTech やブロックチェーンに関して 講演 執筆などを実施 代表的なものとしては ブロックチェーンに関するインタビュー記事 IBM 出版誌 (Provision) 日経システムズ @IT のブロックチェーン関連記事 書籍 IT アーキテクチャー構築入門 書籍 Hyperledger Fabric によるアプリケーション開発 ( 監修 ) など 2

アジェンダ 1. Hyperledger Fabric の概要 2. Hyperledger Fabric のアプリケーション開発 スマートコントラクト ( サーバーサイド ) ユーザーアプリケーション ( クライアントサイド ) 3. Composer を利用したアプリケーション開発 4. システム環境の構築 3

Hyperledger Fabric の概要 ( 書籍執筆者 / 講演資料作成協力 ) 清水智則日本アイ ビー エム ( 株 )GBS ブロックチェーンコンサルタント 田町京子日本アイ ビー エム ( 株 ) GTS 金融担当 IT スペシャリスト

Hyperledger Fabric とは? Hyperledger Fabricとは? Hyperledger Fabricは ブロックチェーンを活用したさまざまな業務システムを構築 運用するためのソフトウェア基盤 分散台帳やコンセンサスをはじめ ユーザー ID の発行 認証 スマートコントラクトの開発 実行 機密性などの機能を備えている 正式版の Hyperledger Fabric v1.0 は2017 年 7 月に提供が開始それ以前は 実証実験向けに Hyperledger Fabric v0.x という暫定的なバージョンが提供されていた 開発の経緯 Hyperledger プロジェクトは 仮想通貨に限らない広範囲なビジネス用途のブロックチェーン基盤を提供することを目的としたオープンソースプロジェクト (2015 年 12 月に発足 ) 公式サイト :https://www.hyperledger.org/ 2018 年 9 月時点で 200 社以上が参加 Hyperledger プロジェクトには ブロックチェーン基盤の実装フレームワークが複数存在 2018 年 9 月時点 フレームワーク : Hyperledger Burrow Hyperledger Fabric Hyperledger Indy Hyperledger Iroha Hyperledger Sawtooth ツール : Hyperledger Caliper Hyperledger Cello Hyperledger Composer Hyperledger Explorer Hyperledger Quilt 5

Hyperledger Fabric の特徴 1. コンソーシアム型の参加方式 6 特定の組織間でのビジネスネットワークを実現するため コンソーシアム型 の参加方式を基本とする これにより 複数組織で共同運営する信頼性の高いブロックチェーンネットワークを形成 2. 軽量かつ迅速なコンセンサス方式 Hyperledger Fabric では コンソーシアム型の参加方式を基本とするため 各参加組織の同意を得ることで軽量かつ迅速にファイナリティを確保できるコンセンサスの方式を採用 3. さまざまな業務処理の実現 Hyperledger Fabric では スマートコントラクトを チェーンコード と呼ばれるプログラムにより実現 独自の業務ロジックを記述 実行することが可能 4. トランザクション実行後の最新状態 (state) を保持 Hyperledger Fabric では State DB というデータストアに トランザクションを実行した結果得られる最新の state( 送金の場合は残高など ) を保持する ユーザーは全ブロックを参照することなく その時点における状態を確認することが可能 5. チャネルによるブロックチェーンネットワークの論理的な分割 Hyperledger Fabric では 1 つのブロックチェーンネットワークを論理的に独立した複数のネットワークに分割することが可能 この分割したネットワークのことを チャネル といい 異なるチャネル間ではチェーンコードや分散台帳は共有されない

Hyperledger Fabric の構成要素 (1/4) Node.js 版が先行して提供され 2018 年 9 月現在 Java 版も提供されており Python 版や Go 版なども開発中 Organization Hyperledger Fabric ネットワークに参画する組織を表す論理的な単位で 各ピアやオーダラーは Organization に所属 ピア Organization 内のノードを表す論理的な単位であり ブロックチェーン State DB およびチェーンコードを保有 ピアは Endorser として アプリケーション ( クライアント ) からの要求にもとづいてトランザクションに Endorsement( 同意 ) する または Committer として トランザクションと実行結果の妥当性を確認してブロックチェーンと State DB を更新 オーダラー Endorsement されたトランザクションの結果を ブロックチェーンと State DB に書き込む順番を制御 オーダラーは Hyperledger Fabric ネットワーク上の全トランザクションを制御するため 単一障害点にならないように冗長構成 (*) が可能 (*) 冗長構成のために 分散メッセージングの仕組みであるApache Kafkaが利用可能 ( 公式サイト :https://kafka.apache.org/) なお オーダラーを各 Organization に分散配置した際に 特定のOrganizationでの不正な処理を除外するため ビザンチン障害耐性を備えた冗長化機能も今後提供予定ビザンチン障害耐性は P2Pネットワーク上で 全体として合意を形成する必要がある場合に 悪意を持った一部のノードが不正な回答しても正しい合意を形成できる特性 7

Hyperledger Fabric の構成要素 (2/4) チェーンコード チェーンコードは スマートコントラクトを実現するためのプログラムで 専用のコンテナ上で実行される 開発言語は Go 版が先行して提供され 2018 年 9 月現在 Node.js 版も提供され Java 版なども開発中 チェーンコードは トランザクションのリクエストにもとづいて実行され State DB に対する読み書きや 過去の State DB への書き込み履歴 (Block 内に格納 ) の照会を行うことが可能 用途に応じて複数のチェーンコードを作成でき あるチェーンコードから別のチェーンコードを呼び出して実行することも可能 あるチェーンコードが State DB に書き込んだデータは 別のチェーンコードからはアクセスできない (*) State DB で使用するデータストアは 標準ではLevelDBというKey-Value 形式のもの ( 公式サイト :http://leveldb.org/) JSON 形式のドキュメントをネイティブで格納するApache CouchDBも利用可 ( 公式サイト :http://couchdb.apache.org/) 8 分散台帳 Hyperledger Fabric ネットワーク内の参加者間で同一の情報を共有するための台帳 Hyperledger Fabric では通常 Blockchain と State DB を包含して指すことが多い Blockchain は 基本的には一般的なものと同様の構造だが 他と異なる主な点は チェーンコード実行時に State DB に書き込まれた内容 (RWSet) を Block の中に格納する点

Hyperledger Fabric の構成要素 (3/4) MSP(Membership Service Provider) Hyperledger Fabric が標準で提供する CA( 認証局 ) または外部の CA と連携して 主に ユーザーの登録および Ecert の発行を行う Ecert(Enrollment Certificate):Hyperledger Fabric ネットワーク上のユーザー証明書 MSP および CA は Organization 内での冗長構成が可能で 各 Organization でそれぞれ MSP を実装することが可能 9

Hyperledger Fabric の構成要素 (4/4) チャネル 1 つの Hyperledger Fabric ネットワークを論理的に分割したネットワーク ネットワーク内に複数の独立したチャネルが存在することが可能で 各チャネル内で同一の分散台帳 (State DB とブロックチェーン ) を保持する DB 10

Hyperledger Fabric のアプリケーション開発 ( 書籍執筆者 / 講演資料作成協力 ) 佐藤卓由日本アイ ビー エム ( 株 ) GBS 事業本部金融第三サービス齋藤新日本アイ ビー エム ( 株 ) 東京基礎研究所 FSS& ブロックチェーン ソリューションズ近藤仁日本アイ ビー エムシステムズ エンジニアリング ITスペシャリスト上ノ原勇人日本アイ ビー エム ( 株 ) 東京ソフトウェア開発研究所 11

Hyperledger Fabric のアプリケーション開発概要 アプリケーションの要素 チェーンコード チェーンコード (= スマートコントラクト ) は サーバー側の処理を実装するもの 初期から Go 言語をサポート (2018 年 9 月現在 Node.js での実装も可能 ) ユーザーアプリケーション (Hyperledger Fabric から見るとクライアントサイド ) State DB Hyperledger Fabric へアクセスのための SDK が提供されている 初期から Node.js 版が提供されている (2018 年 9 月現在 Java 版も提供されている ) 業務データやドキュメント等の最新状態を保存する DB(Blockchain とは別 ) Level DB か Couch DB を選択でき どちらも No SQL DB の一種で Couch DB は JSON をネイティブで格納できるため 項目レベルでの検索が可能 アプリケーションサーバー ( クライアントサイド ) Hyperledger Fabric( サーバーサイド ) ユーザーアプリケーション Hyperledger Fabric Client SDK チェーンコード State DB 12

システム環境の構築 ( 書籍執筆者 / 講演資料作成協力 ) 岩崎竜矢 ( 推進兼 ) 日本アイ ビー エム ( 株 ) GBS 銀行 FM 第 3 デリバリー IT アーキテクト PM 小笠原万値 ( 監修兼 ) 日本アイ ビー エムシステムズ エンジニアリング 第二ワトソンソリューションシニア IT スペシャリスト 13

Hyperledger Fabric のアーキテクチャー Hyperledger Fabric は Blockchain を実装した分散台帳技術である コンテナ技術を活用し Microservices に組み込むことができる UI Layer Controller Layer Business Logic Layer Persistence Layer API Gateway Load Balancer Microservice 1 Microservice 2 CouchDB DB File ピア 台帳 ブロックチェーン (Hyperledger Farbic) ネットワーク 台帳 ピア オーダラー Zookeeper Monolithic Application Microservices 14

Hyperledger Fabric の構築の流れ Hyperledger Fabric ネットワークの構築は 用意されたコマンドやコンテナ技術でコンソールで構築可 必要な証明書やチェーンコードの事前準備がされていること 必要な環境変数 環境設定ファイル (yaml) が決まっていること 準備が整っていれば Microservices や CI と組み合わせ オートメーション化へ 1. 暗号化証明書の準備 商用の電子証明書を取得 ( 開発向け ) 自己署名証明書の生成 4. ネットワークの起動 利用するコンテナの起動 ノード ( ピア オーダラー ) の起動 first-network のようにコンテナ技術を用いた構成とする場合 2. チャネル環境設定の生成 オーダラーの Genesis ブロックの生成 チャネルトランザクションの環境設定の生成 各メンバー向け Anchor Peer の生成 5. チャネルの作成 ネットワークにチャネルの生成 チャネルに参加 Anchor Peer の更新 3. 環境変数 環境設定ファイル生成 docker-compose.yaml ファイルの環境変数 Hyperledger Fabric ネットワーク暗号化証明書のパスや接続先 DB Kafka などを設定 6. チェーンコードの導入 チェーンコードのインストール インスタンス化 呼び出し 15

おわりに 本講演では Hyperledger Fabric によるアプリケーション開発 の書籍を元に Hyperledger Fabric の特徴やアーキテクチャ等の概要 アプリケーション開発方法 システム構築方法のアウトラインや考え方をご紹介させていただきました 本講演および書籍が 日本国内の Hyperledger Fabric を活用したビジネスが発展する一助となることを切にお願っております なお Hyperledger Fabric では 今後もさまざまな機能拡張が予定されています 更なるスケーラビリティーの向上 Chaincode Hyperledger Fabric Client SDK での Java などのさまざまな言語の対応 State DB としてのリレーショナル データベースのサポート ( 予定 ) Orderer でのビザンチン障害耐性 (Byzantine Fault Tolerance) を備えた冗長化機能 チャネルの機能ではなく ブロックチェーンの外部で機密情報を取り扱う機能 (V1.2 で実装済み ) その他さまざまな機能拡張 今後の Hyperledger Fabric の拡張を含めてさまざまな情報が 以下のサイト等に記載されていきますので ぜひとも注視していただけたら幸いと存じます Hyperledger の Wiki サイト : https://wiki.hyperledger.org/start Hyperledger プロジェクトの公式サイト : https://www.hyperledger.org/ Hyperledger プロジェクトの GitHub: https://github.com/hyperledger Hyperledger Fabric のオンラインドキュメント : http://hyperledger-fabric.readthedocs.io/en/latest/ ご清聴ありがとうございました 16