2021/3/17 Blockchain Exhibition #1で喋った内容 ・エンタープライズ領域でのブロックチェーン技術活用の文脈の中で、耐改ざん性、監査性を備えたデータベースが登場してきた背景 ・ブロックチェーン/DLTと耐改ざん型データベースの使い分けの考え方 ・OracleのHyperlegdger FabricベースのPaaSであるOracle Blockchain Platformの紹介
Blockchain GIG Exhibition #1改ざん不能データベース登場の背景とOracle Blockchain Platformのご紹介中村 岳日本オラクル株式会社2021/3/17
View Slide
中村 岳Twitter @gakumuraはてなブログ @gakumura…主にHyperledger Fabric関連• 現職:ソリューションエンジニア@日本オラクル• 担当:Oracle Blockchain Platform、Blockchain Table• 前職:金融決済系SIerでパッケージ開発• 好きなOS:AIX• 最近おすすめのマンガ:チェンソーマン(単行本派)Copyright © 2021 Oracle and/or its affiliates2
• エンタープライズ領域におけるブロックチェーン/DLTの潮流と改ざん不能型データベース登場の背景• エンタープライズ向けBlockchain as a Service(BaaS)Oracle Blockchain Platformのご紹介本日お話する内容Copyright © 2021 Oracle and/or its affiliates3
Copyright © 2021 Oracle and/or its affiliates4エンタープライズ領域におけるブロックチェーン/DLTの潮流と改ざん不能型データベース登場の背景
•••Copyright © 2021 Oracle and/or its affiliates5 Copyright © 2021 Oracle and/or its affiliates5
仮想通貨(暗号資産)の基盤として始まり、適用領域を拡大ブロックチェーン/DLTの活用Copyright © 2021 Oracle and/or its affiliates• 2008年にサトシ・ナカモトを名乗る人物が特定の管理者がいないネットワーク上に分散した台帳上で管理されるビットコインという新たな通貨(を実現するシステム)に係る論文をネット上に発表• 仮想通貨を実現する基盤の特長に徐々に注目が集まり、より一般的な用途への応用が進み、「ブロックチェーン/DLT」の適用領域が拡大• エンタープライズ領域では「データ活用のための信頼できる企業間データ共有基盤」、「ビジネスプロセス効率化のための企業間ワークフロー基盤」としてユースケースが続々6
複数の企業、組織が協力して課題を解く際に利用できる新たなパラダイムエンタープライズ領域におけるブロックチェーン/DLTとはCopyright © 2021 Oracle and/or its affiliates7XXX YYYAAAZZZXXX YYYZZZ AAA
複数の企業、組織が協力して課題を解く際に利用できる新たなパラダイムエンタープライズ領域におけるブロックチェーン/DLTとはCopyright © 2021 Oracle and/or its affiliates8XXX YYYAAAZZZXXX YYYZZZ AAAリアルタイムで水平に共有する確実で信頼できるデータにもとづいて業務を自動化、効率化、高度化DLT
ブロックチェーンの利用形態(ネットワーク)の分類Copyright © 2021 Oracle and/or its affiliatesパブリック公開制のネットワークを不特定多数で運用コンソーシアム許可制のネットワークを複数組織で運用プライベート許可制のネットワークを単一組織で運用パーミッションレス← →パーミッションドエンタープライズ領域ではこちらが主9
「耐改ざん性、証跡性を持ったデータ」という特性のみを活用しているCopyright © 2021 Oracle and/or its affiliates•••Copyright © 2021 Oracle and/or its affiliates10単一の組織内に閉じている分散/分権が前提10
プライベート型のブロックチェーン利用では…Copyright © 2021 Oracle and/or its affiliatesパブリック公開制のネットワークを不特定多数で運用コンソーシアム許可制のネットワークを複数組織で運用プライベート許可制のネットワークを単一組織で運用パーミッションレス← →パーミッションドフォーカスは• データの持ち主でも改ざんできないこと• 改ざんされていないことを証明できることこれらが実現できれば、使うのは「ブロックチェーン」/分散台帳技術でなくてもよい11
12 Copyright © 2021 Oracle and/or its affiliates「分散/分権」を実現するためのダウンサイドが伴うブロックチェーン/DLTがDBと比較して一般に不得意としていること複雑な構造高度な検索• ブロックチェーンは、複雑な構造を持ったデータをリレーショナルデータベース(RDB)のようにうまく扱えるわけではない• 高度な検索や集計、分析などの処理も苦手としており、これらのために台帳データを外部のRDBに複製する必要が生じる場合が多いパフォーマンス• 「データベース」と比較した場合には「ブロックチェーン」の処理性能は数桁ほど違うレベルで遅い• 大量のトランザクション処理、高速なレスポンスが求められるユースケースでは性能限界への留意と、設計の工夫が必要サイズの大きなデータ• 同一データを複数ノードで持つためストレージ効率が悪い• ネットワークでやり取りしてコンセンサスを取ってから書き込む仕組み上、サイズの大きなデータを扱うと、大きな処理性能劣化が起こる
プライベート型ブロックチェーンと改ざん不能型データベースCopyright © 2021 Oracle and/or its affiliatesパブリック公開制のネットワークを不特定多数で運用コンソーシアム許可制のネットワークを複数組織で運用プライベート許可制のネットワークを単一組織で運用パーミッションレス← →パーミッションドプライベート型のユースケースにより• データの持ち主でも改ざんできないこと• 改ざんされていないことを証明できることへのニーズが可視化された⇨ブロックチェーンにインスパイアされた技術を備えた改ざん不能型データベースの登場13
• データの不変性、耐改ざん性• データベースの持ち主であっても、一旦書き込まれたデータを更新、削除できないようにする仕組みを備えている• 検証可能性と監査性、証跡性• 更新、削除されていないことを検証できる仕組みを備えている• 検証可能であることにより改ざんされていないことの監査も容易に• 中央集権型(NOT分散/分権)• 複数組織で所有や管理を分散できるようにはなっていない• (「分散データベース」は複数組織で分散できるわけではない)改ざん不能型データベースとは?Copyright © 2021 Oracle and/or its affiliates14
ブロックチェーン/DLTと改ざん不能型データベース:それぞれの用途Copyright © 2021 Oracle and/or its affiliates対応する主要なニーズ例となるユースケース▪ 複数の企業間で水平に確実かつリアルタイムにデータを持ち寄り共有したい▪ 企業をまたいだワークフローを信頼できるかたちで実行したい▪ 原材料~製造~輸送~小売までの一貫したデータ持ち寄りによるサプライチェーンの全体最適化▪ スマートコントラクトによる取引約定~決済までの企業間ワークフローの自動化、効率化、迅速化▪ 台帳上での価値交換分権/分散ブロックチェーン/DLT▪ 法律上確実な保存が要求される契約情報や会計、財務データの保持▪ 重要なアクセス情報や操作履歴などのシステムログを監査証跡として保存▪ データを外部犯行、内部犯行両面から保護し、セキュリティ確保▪ 保存して以降、誰にも変更・削除できないようデータを保持したい▪ 監督機関、監査法人などに対し、改ざんされていないことを証明したい中央集権改ざん不能型データベース15
「コンソーシアム型」のユースケースでも…Copyright © 2021 Oracle and/or its affiliatesパブリック公開制のネットワークを不特定多数で運用コンソーシアム許可制のネットワークを複数組織で運用プライベート許可制のネットワークを単一組織で運用パーミッションレス← →パーミッションド16
凡例D社C社B社A社ノードコンソーシアム型ブロックチェーンのシステム概観Confidential – © 2020 Oracle Internal17SC LノードSC LノードSC LノードSC L個社アプリブロックチェーンネットワーク個社アプリ共有アプリオペレーター他システムSC スマートコントラクトL 台帳ノードは分散/分権で運用されているか?
「コンソーシアム型」のノードの分散↔集中Confidential – © 2020 Oracle Internal18分散 集中個別管理 部分共有 共同管理 専有そもそもコンソーシアム型ではない?信頼された中立的な管理者がいるなら中央集権でいいかも?
• エンタープライズ領域ではブロックチェーン/DLTという分散/分権のパラダイムは複数組織での協力が必要な課題に取り組む際の選択肢• データとロジックの水平で確実な共有によって解ける課題を解く• 改ざん不能型データベースは中央集権型で、• エンタープライズ領域でのブロックチェーンユースケースにおける耐改ざん性と証跡性へのニーズに対応して言わば「後出し」で登場• 証跡性、監査性、セキュリティの課題を解く• 両者は一部の技術要素に共通する部分があるが、フォーカスが異なる• 解くべき課題の内容はもちろん、時には組織間の関係性など多角的な要素を考慮して選定する必要があるまとめ:ブロックチェーン/DLTと改ざん不能型データベースCopyright © 2021 Oracle and/or its affiliates19
Copyright © 2021 Oracle and/or its affiliates20エンタープライズ向けBlockchain as a Service(BaaS):Oracle Blockchain Platform
• ブロックチェーン/DLTのPaaS• いわゆるBlockchain as a Service(BaaS)• Hyperledger Fabricベース• 複数組織から成るコンソーシアム型ネットワーク形態での利用を主に想定• 分権/分散がメリットとなるようなユースケースでの活用がターゲット• Oracle Databaseの新機能として追加された特殊なテーブル• 21c、19cバージョンで利用可能(パッチ要• 標準機能に含まれ、追加ライセンス不要• 中央集権型:単一組織で運用、管理• 耐改ざん性、監査性、証跡性などのニーズに対応Oracleのブロックチェーン関連ソリューションCopyright © 2021 Oracle and/or its affiliates21BLOCKCHAINOracle Blockchain Platform Oracle Blockchain Table
• ブロックチェーン/DLTのPaaS• いわゆるBlockchain as a Service(BaaS)• Hyperledger Fabricベース• 複数組織から成るコンソーシアム型ネットワーク形態での利用を主に想定• 分権/分散がメリットとなるようなユースケースでの活用がターゲット• Oracle Databaseの新機能として追加された特殊なテーブル• 21c、19cバージョンで利用可能(パッチ要• 標準機能に含まれ、追加ライセンス不要• 中央集権型:単一組織で運用、管理• 耐改ざん性、監査性、証跡性などのニーズに対応Oracleのブロックチェーン関連ソリューションCopyright © 2021 Oracle and/or its affiliates22BLOCKCHAINOracle Blockchain Platform Oracle Blockchain Table
Hyperledger Fabricをベースにエンタープライズ利用向けPaaSとオンプレミスで提供• GUI••• Oracle• State DB Berkeley DBHyperledger Fabric Phantom Read• REST API• RDBOracle Blockchain PlatformCopyright © 2021 Oracle and/or its affiliatesDC
エンタープライズ用途を目的として開発されたブロックチェーンHyperledger : Linux財団がホストするオープンなコミュニティ• 世界で最も成功したOSS=Linuxでの成功実績に基づいた運営• さまざまな業種の企業およびIT企業、研究機関が240以上参加• Fabricをはじめ、複数ブロックチェーン/DLT基盤およびツール等をOSSとして開発Fabric : 汎用ビジネス利用のためのブロックチェーン基盤• メンバー管理サービスを備えたパーミッションドブロックチェーンを実装• セキュリティ、機密性/プライバシーを強化するための多様な機能• スマートコントラクトによって業務を自動化• 大量処理をサポートするためのスケーラブル、プラガブルな設計• マイニングなどの大規模コンピューターパワー投入は不要&ファイナリティ有Hyperledger FabricCopyright © 2021 Oracle and/or its affiliates
使用ユーザー様、パートナー様からいただいたコメント一例Oracle Blockchain Platform・GUIベースや、豊富なAPIなど、非常に使いやすい・最初のハードルが低い・ブロックチェーン未経験者が2週間でPoC環境構築・環境構築から、メンバー追加などの拡張、設定変更など、自分たちでできる・自分たちで理解できているので、システム構築会社に対して、依頼がしやすい・Database連携、 Phantom Read問題対応、既存システムとの連携機能など、製品コンセプトがエンタープライズ活用を想定している・PaaSとしての完成度が高い・ロードマップや、実装機能含めて、他社クラウドベンダーより進んだものを提供している・使ってみたら、まじ「ネ申」だった・これこそFull Managed・簡単すぎて、エンジニアをだめにする・ビジネス要件定義や、アプリ開発に専念できる・エンジニアがアプリケーションの開発に専念できるちゃんとしたPaaS・ブロックチェーンプロジェクトで、本来工数をかけるべきビジネス検討タスクに集中できるCopyright © 2021 Oracle and/or its affiliates25 Copyright © 2021 Oracle and/or its affiliates
• Oracle Blockchain Platformだけでなく、他のHyperledger Fabricとのオープンなネットワーク構成が可能• オンプレミスバージョンの提供:Oracle Blockchain Platform Enterprise Edition(OBPEE)• 自社データセンターやOracle以外のクラウド(IaaS)上にOBPを構築• ブロックチェーン環境に必要な機能を事前定義、数クリックで環境構築• サポートするVM基盤:Oracle VirtualBoxとVMware vSphere• Oracle Blockchain Platform Cloud Service (OBPCS) と同等の機能を提供• APIは共通、アプリケーション移植性あり• アップデートもOBPCSと足並みを揃えて提供Open:オープンで柔軟なネットワークCopyright © 2021 Oracle and/or its affiliates
オンプレミス、マルチクラウド、ハイブリッドクラウドでの構成が可能Open:オープンで柔軟なネットワークCopyright © 2021 Oracle and/or its affiliates3rd Party Cloud 3rd Party Cloud 3rd Party CloudOracle Blockchain Platform Cloud ServiceOracle Blockchain Platform EEHyperledger Fabric
State DB Berkeley DB パフォーマンス&ロジック表現力を強化・パフォーマンスの向上• スマートコントラクトの同時実行性の強化・SQLリッチクエリのサポート• JSONの属性を指定してのSQL-Likeクエリが可能• CouchDB形式のJSONクエリへの互換性も保持・CouchDB適用時の技術的な問題の解決/回避• リッチクエリ使用時のPhantom Read問題を解消• 大量レコード取得時のPagination指定が不要にEnterprise Grade:エンタープライズ要件を満たすCopyright © 2021 Oracle and/or its affiliatesState DBWorld StateHyperledger FabricLedger※通常のHyperledger Fabricでは、State DBはLevelDBかCouchDB
エンタープライズ活用で重要なシステム間の連携をサポートする機能を提供Quick Integration:他システムとの連携を迅速に実現Copyright © 2021 Oracle and/or its affiliates• REST APIでブロックチェーンが利用可能。アプリケーション開発および既存システムとの連携が容易に• Oracle Integration Cloudの事前定義済アダプターを用いることで、ERPなどの基幹システムや各種SaaSとの連携を更に迅速に実現• ブロックチェーン上のデータをデータベースに複製する機能が付属。複雑な集計、分析なども高速かつ容易に開発可能• ブロックチェーンのデータと他システムのデータをデータベース上で統合することで、より高度なデータ活用も可能にBlockchainIntegration Database BI
REST APIでのブロックチェーン利用でアプリケーション開発が容易にREST REST APIFabric SDKQuick Integration:他システムとの連携を迅速に実現Copyright © 2021 Oracle and/or its affiliatesOracle Blockchain PlatformFabric PeerFabric SDKFabric PeerRESTFabric SDKgRPCREST APIFabric SDK⇨FabricREST API⇨WebOK
リッチヒストリーデータベース:Oracleデータベースにブロックチェーンのデータを複製• 台帳のデータをブロックチェーン外部のリレーショナルデータベースに複製• ブロックチェーンが苦手とする複雑な参照処理(集計、分析)を、データベース側で実装可能に• 多くの開発者が慣れ親しんでいるOracleデータベースでの開発• Oracle Analytics Cloudをはじめとした多種多様なBIツールの利用• 他システムとのデータ統合も一般的なツールとノウハウで容易に実現可能• ERP、SCMなどの基幹システムとブロックチェーンのデータを統合することで、データの価値を最大限に活用Quick Integration:他システムとの連携を迅速に実現Copyright © 2021 Oracle and/or its affiliatesState DBWorld State台帳(Ledger)
ブロックチェーン台帳上のレコードをOracle Databaseのテーブルに複製リッチヒストリーデータベースCopyright © 2021 Oracle and/or its affiliatesブロックチェーン台帳• State Key-Value※ World State/State DB• History• Transaction DetailsLastalpha Historyalpha Statebeta Statebeta Historyalphabeta複製betaTransaction DetailsalphaTransaction Details詳細は以下のドキュメントを参照:https://docs.oracle.com/en/cloud/paas/blockchain-cloud/usingoci/create-rich-history-database.html
複製先テーブルとしてBlockchain Tableに対応&チャネルごとにDBを分けられるように• データベース上にデータを複製する際に、格納先としてBlockchain Tableを選択可能に• 複製データにも更新や削除をできない耐改ざん性、更新や削除されていないデータとしての証跡性を付与• 複製データもブロックチェーン台帳上のデータと同様、信頼に足る情報、証跡として扱うことが可能に• 対象は履歴を追記で蓄積していくHistoryおよびTransaction Details• 併せて、チャネルごとに複製先に別々のデータベースを設定可能に• 分析用データベース、監査証跡蓄積用データベースなど、チャネルのデータのタイプごとに用途別データベースを使い分けるなどリッチヒストリーデータベースの機能拡張(2021年2月Update)Copyright © 2021 Oracle and/or its affiliatesブロックチェーン台帳alphabetaDatabase ADatabase BHistoryon Blockchain TableStateStateHistoryon Blockchain TableTransaction Detailson Blockchain TableTransaction Detailson Blockchain Table複製複製
Oracle Blockchain Platformデモコンソール上で動作するサンプルインターフェースPeer PeerChannelRESTプロキシサンプルスマートコントラクトLedgerLedgerFounderMemberRESTクライアント(Postman)SQL DeveloperOracleBlockchainPlatformAutonomousDatabaseREST API複製Copyright © 2021 Oracle and/or its affiliates34