Oracleから見たエンタープライズブロックチェーン動向と、
その取り組み
2021/3/3
中村岳(Gaku.Nakamura@oracle.com)
• エンタープライズブロックチェーン動向:25分
• ソリューションとハンズオン:65分
• 改ざん不能型データベース登場の背景
• ハンズオン準備
• (休憩)
• エンタープライズ向けBlockchain as a Service(BaaS):Oracle Blockchain Platform
• 改ざん不能型データベース:Oracle Database Blockchain Table
• Blockchain Tableハンズオン
• Q&A:30分
本日の内容
Copyright © 2021 Oracle and/or its affiliates
2
Copyright © 2021, Oracle and/or its affiliates
3
エンタープライズでの活用を前提としたサービスと、広がるエコシステム
オラクルのブロックチェーンへの取り組み
Copyright © 2021 Oracle and/or its affiliates
4
Oracle Blockchain Platform
/Blockchain Table
Oracle Cloud
Infrastructure
On-Premise
Deployment
Custom
Applications
Partner
Solutions
Oracle
SaaS/Other
Applications Marketplace
Oracle Consulting Service
Oracle Cloud Infrastructure
高速、セキュア、コストパフォーマンスに
すぐれたインフラストラクチャ
Oracle Blockchain Platform
Hyperledger Fabricをベースに、エンタープライズ利用
向けプラットフォームとして提供
Cloudでもオンプレミスでも利用可能
Oracle Consulting Service
ブロックチェーン含めた最適なシステム・アーキ
テクチャの策定、構築、開発支援
Partner Solutions/Marketplace
プラットフォームを活用したパートナー様による、
ソリューションのサービス展開
Blockchain Table (Oracle Database機能)
レコードに耐改ざん性と証跡性を付与する特別な
データベース・テーブル
XXX YYY
AAA
ZZZ
SSoT SSoT
SSoT
Single Source of Truth
SSoT
SSoT
Copyright © 2021 Oracle and/or its affiliates
5
XXX YYY
ZZZ AAA
SSoT SSoT
SSoT
Single Source of Truth
SSoT
SSoT
Copyright © 2021 Oracle and/or its affiliates
6
Oracle Blockchain & PoC 1/2
Copyright © 2021 Oracle and/or its affiliates
7
Oracle Blockchain & PoC 2/2
Copyright © 2021 Oracle and/or its affiliates
8
With Oracle blockchain technology we can take
the next step towards ensuring full traceability of
our supply chain and minimizing any related
risks, in close collaboration with our suppliers.”
Martina Buchhauser
Head of Procurement,
Volvo Cars
•
•
•
•
•
•
+
https://blogs.oracle.com/blockchain/the-next-generation-of-electric-cars-verified-by-blockchain
https://youtu.be/PVp3BlzYDCg
Copyright © 2021 Oracle and/or its affiliates
9
• Circulor社とVolvo社との取り組みについては、Hyperledger Global Forum2020 のオラクル
セッションの資料でもご説明しております。
• 詳細資料は下記からダウンロード、参照ください
• セッション資料、Youtubeによるセッション録画( Hyperledger Global Forum サイト)
https://hgf20.sched.com/event/XodL
• 参考資料
• Oracle Blog
https://blogs.oracle.com/blockchain/the-next-generation-of-electric-cars-verified-by-
blockchain
• Oracle 動画(Youtube)
https://youtu.be/PVp3BlzYDCg
Sustainable Supply Chain Tracking for Volvo Cars’ Electric Vehicle
Batteries on Hyperledger Fabric Blockchain
Copyright © 2021 Oracle and/or its affiliates
10
Circulor Volvo https://hgf20.sched.com/event/XodL
Copyright © 2021 Oracle and/or its affiliates
11
Circulor Volvo
Copyright © 2021 Oracle and/or its affiliates
12
https://hgf20.sched.com/event/XodL
• GE社との取り組みについて、Oracle Open World2019のセッションの資料で
ご説明、しておりますご説明しました。
• 詳細資料は下記からダウンロード、参照ください
• Oracle Open World2019のブロックチェーン資料(の中の[PAN6441])
https://events.rainfocus.com/widget/oracle/oow19/catalogow19?search=Blockchain
Modernizing Intercompany Billing
Using a Permissioned Blockchain Platform
Copyright © 2021 Oracle and/or its affiliates
13
GE
Copyright © 2021 Oracle and/or its affiliates
14
https://events.rainfocus.com/widget/oracle/o
ow19/catalogow19?search=Blockchain
GE
Copyright © 2021 Oracle and/or its affiliates
15
https://events.rainfocus.com/widget/oracle/o
ow19/catalogow19?search=Blockchain
•
•
•
•
•
•
•
•
Copyright © 2021 Oracle and/or its affiliates
16
Copyright © 2021 Oracle and/or its affiliates
17
Copyright © 2021 Oracle and/or its affiliates
18
•
•
•
•
•
•
•
•
•
• エンタープライズブロックチェーン動向:25分
• ソリューションとハンズオン:65分
• 改ざん不能型データベース登場の背景
• ハンズオン準備
• (休憩)
• エンタープライズ向けBlockchain as a Service(BaaS):Oracle Blockchain Platform
• 改ざん不能型データベース:Oracle Database Blockchain Table
• Blockchain Tableハンズオン
• Q&A:30分
本日の内容
Copyright © 2021 Oracle and/or its affiliates
19
Copyright © 2021 Oracle and/or its affiliates
20
エンタープライズ領域での
ブロックチェーン活用のネットワーク類型と
改ざん不能データベース登場の背景
中村 岳
Twitter @gakumura
はてなブログ @gakumura
…主にHyperledger Fabric関連
• 現職:ソリューションエンジニア@日本オラクル
• 担当:Oracle Blockchain Platform、Blockchain Table
• 前職:金融決済系SIerでパッケージ開発
• 好きなOS:AIX
• 最近おすすめのマンガ:チェンソーマン(単行本派)
Copyright © 2021 Oracle and/or its affiliates
21
•
•
•
Copyright © 2021 Oracle and/or its affiliates
22 Copyright © 2021 Oracle and/or its affiliates
22
仮想通貨(暗号資産)の基盤として始まり、適用領域を拡大
ブロックチェーン/DLTの活用
Copyright © 2021 Oracle and/or its affiliates
• 2008年にサトシ・ナカモトを名乗る人物が特定の管理者がいないネット
ワーク上に分散した台帳上で管理されるビットコインという新たな通貨
(を実現するシステム)に係る論文をネット上に発表
• 仮想通貨を実現する基盤の特長に徐々に注目が集まり、
より一般的な用途への応用が進み、
「ブロックチェーン/DLT」の適用領域が拡大
• エンタープライズ領域では「データ活用のための信頼できる企業間デー
タ共有基盤」、「ビジネスプロセス効率化のための企業間ワークフロー
基盤」としてユースケースが続々
23
ブロックチェーンの利用形態(ネットワーク)の分類
Copyright © 2021 Oracle and/or its affiliates
パブリック
公開制のネットワークを
不特定多数で運用
コンソーシアム
許可制のネットワークを
複数組織で運用
プライベート
許可制のネットワークを
単一組織で運用
パーミッションレス← →パーミッションド
エンタープライズ領域ではこちらが主
24
「耐改ざん性、証跡性を持ったデータ」という特性のみを活用している
Copyright © 2021 Oracle and/or its affiliates
•
•
•
Copyright © 2021 Oracle and/or its affiliates
25
単一の組織内に閉じている
分散/分権が前提
25
ブロックチェーンの利用形態(ネットワーク)の分類
Copyright © 2021 Oracle and/or its affiliates
パブリック
公開制のネットワークを
不特定多数で運用
コンソーシアム
許可制のネットワークを
複数組織で運用
プライベート
許可制のネットワークを
単一組織で運用
パーミッションレス← →パーミッションド
フォーカスは
• データの持ち主でも改ざんできないこと
• 改ざんされていないことを証明できること
これらが実現できれば、使うのは「ブロックチェーン」/
分散台帳技術でなくてもよい
26
27 Copyright © 2021 Oracle and/or its affiliates
「分権」「分散」を実現するためのダウンサイドが伴う
ブロックチェーン/DLTがDBと比較して一般に不得意としていること
複雑な構造
高度な検索
• ブロックチェーンは、複雑な構造を持ったデータをリレーショナルデータ
ベース(RDB)のようにうまく扱えるわけではない
• 高度な検索や集計、分析などの処理も苦手としており、これらのために台
帳データを外部のRDBに複製する必要が生じる場合が多い
パフォーマンス
• 「データベース」と比較した場合には「ブロックチェーン」の処理性能は
数桁ほど違うレベルで遅い
• 大量のトランザクション処理、高速なレスポンスが求められるユースケー
スでは性能限界への留意と、設計の工夫が必要
サイズの大きな
データ
• 同一データを複数ノードで持つためストレージ効率が悪い
• ネットワークでやり取りしてコンセンサスを取ってから書き込む仕組み上、
サイズの大きなデータを扱うと、大きな処理性能劣化が起こる
ブロックチェーンの利用形態(ネットワーク)の分類
Copyright © 2021 Oracle and/or its affiliates
パブリック
公開制のネットワークを
不特定多数で運用
コンソーシアム
許可制のネットワークを
複数組織で運用
プライベート
許可制のネットワークを
単一組織で運用
パーミッションレス← →パーミッションド
フォーカスは
• データの持ち主でも改ざんできないこと
• 改ざんされていないことを証明できること
これらが実現できれば、使うのは「ブロックチェーン」/
分散台帳技術でなくてもよい
⇨ブロックチェーンにインスパイアされた技術を
備えた改ざん不能型データベースの登場
28
• 耐改ざん性
• 書き込んだデータを更新、削除できないようにするなんらかの仕組みを備えている
• 検証可能性と証跡性
• 更新、削除されていないことを検証できる仕組みを備えている
• 検証可能であることによって、データを証跡として利用できる
• 中央集権型(NOT分散/分権)
• ブロックチェーン/DLTのように複数組織で所有や管理を分散できるようにはなっていない
• (「分散データベース」は複数組織で分散できるわけではない)
改ざん不能型データベースとは?
Copyright © 2021 Oracle and/or its affiliates
29
ブロックチェーン/DLTと改ざん不能型データベース:それぞれの用途
Copyright © 2021 Oracle and/or its affiliates
対応する
主要な
ニーズ
例となる
ユースケース
▪ 複数の企業間で水平に確実かつリアルタ
イムにデータを持ち寄り共有したい
▪ 企業をまたいだワークフローを信頼でき
るかたちで実行したい
▪ 原材料~製造~輸送~小売までの一貫し
たデータ持ち寄りによるサプライチェー
ンの全体最適化
▪ スマートコントラクトによる取引約定~
決済までの企業間ワークフローの
自動化、効率化、迅速化
▪ 台帳上での価値交換
分権/分散
ブロックチェーン/DLT
▪ 法律上確実な保存が要求される契約情報
や会計、財務データの保持
▪ 重要なアクセス情報や操作履歴などの
システムログを監査証跡として保存
▪ データを外部犯行、内部犯行両面から保
護し、セキュリティ確保
▪ 保存して以降、誰にも変更・削除できな
いようデータを保持したい
▪ 監督機関、監査法人などに対し、改ざん
されていないことを証明したい
中央集権
改ざん不能型データベース
30
「コンソーシアム型」のユースケースでも…
Copyright © 2021 Oracle and/or its affiliates
パブリック
公開制のネットワークを
不特定多数で運用
コンソーシアム
許可制のネットワークを
複数組織で運用
プライベート
許可制のネットワークを
単一組織で運用
パーミッションレス← →パーミッションド
31
凡例
D社
C社
B社
A社
ノード
Confidential – © 2020 Oracle Internal
32
SC L
ノード
SC L
ノード
SC L
ノード
SC L
個社
アプリ
ブロックチェーン
ネットワーク
個社
アプリ
共有
アプリ
オペレーター
他システム
SC スマート
コントラクト
L 台帳
ノードは分散/分権で
運用されているか?
「コンソーシアム型」のユースケースとひとくちで言っても
ブロックチェーンノード所有・管理・運用のパターンはさまざま
分散 集中
個別管理 部分共有 共同管理 専有
そもそも
コンソーシアム型
とは呼べないのでは?
信頼された中立的な
管理者がいるなら
中央集権でいいかも?
Copyright © 2021 Oracle and/or its affiliates
33
• ブロックチェーン/DLTは複数組織で協力して課題を解く際の方法として選択肢に加えることが可能
になった新たなパラダイム
• その課題を解くために分散/分権が必要(ブロックチェーン/DLTでなくては実現できない)では
必ずしもなくても、分権/分散があったほうが有利(ブロックチェーン/DLTのほうが実現しやす
い)なこともある
• 改ざん不能型データベースは、ブロックチェーン/DLTとはまた別のパラダイム
• エンタープライズ領域でのブロックチェーンユースケースのうち、耐改ざん性と証跡性へのニー
ズに着目し、言わば「後出し」で登場
• 両者は一部の技術要素に共通する部分はあるものの、解決する課題のフォーカスは異なる
• 解くべき課題の内容、組織間の関係性など多角的な要素を考慮して選定する
まとめ
Copyright © 2021 Oracle and/or its affiliates
34
Copyright © 2021 Oracle and/or its affiliates
35
Oracleのブロックチェーン関連ソリューションの
ご紹介
Oracleのブロックチェーン関連ソリューション
Copyright © 2021 Oracle and/or its affiliates
パブリック
公開制のネットワークを
不特定多数で運用
コンソーシアム
許可制のネットワークを
複数組織で運用
プライベート
許可制のネットワークを
単一組織で運用
パーミッションレス← →パーミッションド
Oracle Database
Blockchain Table
BLOCKCHAIN
Oracle
Blockchain Platform
36
Hyperledger Fabricをベースにエンタープライズ利用向けPaaSとオンプレミスで提供
• GUI
•
•
• Oracle
• State DB Berkeley DB
Hyperledger Fabric Phantom Read
• REST API
• RDB
Oracle Blockchain Platform
Copyright © 2021 Oracle and/or its affiliates
DC
37
耐改ざん性を追加、証跡性を強化した特別なデータベース・テーブル
データベース上のレコードに耐改ざん性と証跡性を付与
• 追記オンリーの不変なデータ…テーブル所有者も特権ユーザも改ざん不能
• ハッシュチェーンで行をリンク…整合性の検証、改ざんされていないことの証明が可能
Oracle Databaseの一部として高度で多彩な機能とともに容易に利用可能
• 他のテーブルと組み合わせたトランザクション
• 容易にデータ統合、多様なBIツールを用いての分析
• データベーストリガー、PL/SQLプログラムを利用したロジック表現
• レプリケーション、バックアップなどの耐障害性/高可用性機能、
アクセスコントロールなどのセキュリティ保護機能も併用可能
※19cではRU19.10アップデートおよび個別パッチ32431413を適用することで利用可能に。
データベースの基本機能として含まれており追加ライセンスは不要(SE2でも利用可能)。
Blockchain Table:Oracle Database 21c&19cで利用可能(※)
Copyright © 2021 Oracle and/or its affiliates
38
BLOCKCHAIN
Copyright © 2021 Oracle and/or its affiliates
39
エンタープライズ向けBlockchain as a Service(BaaS):
Oracle Blockchain Platform
エンタープライズでブロックチェーン基盤に求められるもの
Copyright © 2021 Oracle and/or its affiliates
• NG
•
•
•
•
エンタープライズ用途を目的として開発されたブロックチェーン
Hyperledger : Linux
• OSS=Linux
• IT 240
• Fabric /DLT OSS
Fabric :
•
• /
•
•
•
Hyperledger Fabric
Copyright © 2021 Oracle and/or its affiliates
Hyperledger Fabricをベースにエンタープライズ利用向けPaaSとオンプレミスで提供
• GUI
•
•
• Oracle
• State DB Berkeley DB
Hyperledger Fabric Phantom Read
• REST API
• RDB
Oracle Blockchain Platform
Copyright © 2021 Oracle and/or its affiliates
DC
使用ユーザー様、パートナー様からいただいたコメント一例
Oracle Blockchain Platform
・GUIベースや、豊富なAPIなど、非常に使いやすい
・最初のハードルが低い
・ブロックチェーン未経験者が2週間でPoC環境構築
・環境構築から、メンバー追加などの拡張、設定変更な
ど、自分たちでできる
・自分たちで理解できているので、システム構築会社に
対して、依頼がしやすい
・Database連携、 Phantom Read問題対応、既存シス
テムとの連携機能など、製品コンセプトがエンター
プライズ活用を想定している
・PaaSとしての完成度が高い
・ロードマップや、実装機能含めて、他社クラウドベン
ダーより進んだものを提供している
・使ってみたら、まじ「ネ申」だった
・これこそFull Managed
・簡単すぎて、エンジニアをだめにする
・ビジネス要件定義や、アプリ開発に専念できる
・エンジニアがアプリケーションの開発に専念できる
ちゃんとしたPaaS
・ブロックチェーンプロジェクトで、本来工数をかける
べきビジネス検討タスクに集中できる
Copyright © 2021 Oracle and/or its affiliates
43 Copyright © 2021 Oracle and/or its affiliates
オンプレミス、マルチクラウド、ハイブリッドクラウドでの構成が可能
Open:オープンで柔軟なネットワーク
Copyright © 2021 Oracle and/or its affiliates
3rd Party Cloud 3rd Party Cloud 3rd Party Cloud
Oracle Blockchain Platform Cloud Service
Oracle Blockchain Platform EE
Hyperledger Fabric
44
エンタープライズ活用で重要なシステム間の連携をサポートする機能を提供
Quick Integration:他システムとの連携を迅速に実現
Copyright © 2021 Oracle and/or its affiliates
• REST APIでブロックチェーンが利用可能。
アプリケーション開発および既存システムと
の連携が容易に
• Oracle Integration Cloudの事前定義済アダプ
ターを用いることで、ERPなどの基幹システ
ムや各種SaaSとの連携を更に迅速に実現
• ブロックチェーン上のデータをデータベース
に複製する機能が付属。複雑な集計、分析な
ども高速かつ容易に開発可能
• ブロックチェーンのデータと他システムの
データをデータベース上で統合することで、
より高度なデータ活用も可能に
Blockchain
Integration Database BI
45
REST APIでのブロックチェーン利用でアプリケーション開発が容易に
REST REST API
Fabric SDK
Quick Integration:他システムとの連携を迅速に実現
Copyright © 2021 Oracle and/or its affiliates
Oracle Blockchain Platform
Fabric Peer
Fabric SDK
Fabric Peer
REST
Fabric SDK
gRPC
REST API
Fabric SDK
⇨
Fabric
REST API
⇨Web
OK
46
リッチヒストリーデータベース:Oracleデータベースにブロックチェーンのデータを複製
• 台帳のデータをブロックチェーン外部のリレーショナルデータベースに複製
• ブロックチェーンが苦手とする複雑な参照処理(集計、分析)を、
データベース側で実装可能に
• 多くの開発者が慣れ親しんでいるOracleデータベースでの開発
• Oracle Analytics Cloudをはじめとした多種多様なBIツールの利用
• 他システムとのデータ統合も一般的なツールとノウハウで容易に実現可能
• ERP、SCMなどの基幹システムとブロックチェーンのデータを
統合することで、データの価値を最大限に活用
Quick Integration:他システムとの連携を迅速に実現
Copyright © 2021 Oracle and/or its affiliates
State DB
World State
台帳(Ledger)
47
ブロックチェーン台帳上のレコードをOracle Databaseのテーブルに複製
リッチヒストリーデータベース
Copyright © 2021 Oracle and/or its affiliates
ブロックチェーン
台帳
• State Key-Value
※ World State/State DB
• History
• Transaction Details
Last
alpha History
alpha State
beta State
beta History
alpha
beta
複
製
beta
Transaction Details
alpha
Transaction Details
詳細は以下のドキュメントを参照:
https://docs.oracle.com/en/cloud/paas/blockchain-cloud/usingoci/create-rich-history-database.html
48
複製先テーブルとしてBlockchain Tableに対応&チャネルごとにDBを分けられるように
• データベース上にデータを複製する際に、格納先と
してBlockchain Tableを選択可能に
• 複製データにも更新や削除をできない耐改ざん性、更
新や削除されていないデータとしての証跡性を付与
• 複製データもブロックチェーン台帳上のデータと同
様、信頼に足る情報、証跡として扱うことが可能に
• 対象は履歴を追記で蓄積していくHistoryおよび
Transaction Details
• 併せて、チャネルごとに複製先に別々のデータベー
スを設定可能に
• 分析用データベース、監査証跡蓄積用データベースな
ど、チャネルのデータのタイプごとに用途別データ
ベースを使い分けるなど
リッチヒストリーデータベースの機能拡張(2021年2月Update)
Copyright © 2021 Oracle and/or its affiliates
ブロックチェーン
台帳
alpha
beta
Database A
Database B
History
on Blockchain Table
State
State
History
on Blockchain Table
Transaction Details
on Blockchain Table
Transaction Details
on Blockchain Table
複
製
複
製
49
Oracle Blockchain Platformデモ
コンソール上で動作する
サンプルインターフェース
Peer Peer
Channel
REST
プロキシ
サンプル
スマート
コントラクト
Ledger
Ledger
Founder
Member
REST
クライアント
(Postman)
SQL Developer
Web
Oracle
Blockchain
Platform
Autonomous
Database
REST API
複
製
Copyright © 2021 Oracle and/or its affiliates
50
Copyright © 2021 Oracle and/or its affiliates
51
改ざん不能型データベース:
Oracle Databas Blockchain Table
耐改ざん性を追加、証跡性を強化した特別なデータベース・テーブル
データベース上のレコードに耐改ざん性と証跡性を付与
• 追記オンリーの不変なデータ…テーブル所有者も特権ユーザも改ざん不能
• ハッシュチェーンで行をリンク…整合性の検証、改ざんされていないことの証明が可能
Oracle Databaseの一部として高度で多彩な機能とともに容易に利用可能
• 他のテーブルと組み合わせたトランザクション
• 容易にデータ統合、多様なBIツールを用いての分析
• データベーストリガー、PL/SQLプログラムを利用したロジック表現
• レプリケーション、バックアップなどの耐障害性/高可用性機能、
アクセスコントロールなどのセキュリティ保護機能も併用可能
※19cではRU19.10アップデートおよび個別パッチ32431413を適用することで利用可能に。
データベースの基本機能として含まれており追加ライセンスは不要(SE2でも利用可能)。
Blockchain Table:Oracle Database 21c&19cで利用可能(※)
Copyright © 2021 Oracle and/or its affiliates
52
BLOCKCHAIN
データの完全性の担保、証明が求められるところ
• セキュリティ上重要な記録の保存:
• アプリケーションのアクセスログや監査ログ
• 高セキュリティエリアへの入退室記録
• 法律上確実な保存が要求される情報:
• 従業員の出退勤記録
• 企業の会計、財務のデータ
• 見積、契約、請求や支払のやり取りに係るドキュメント
• 内外からの攻撃に対してデータを保護:
• 勘定系システム、決済系システムなどのトランザクションログ
• 証券や各種アセットの所有権を管理する原簿
• 種々の認定、証明のエビデンス保存:
• 原産地証明、検査証、品質認証、etc.
Blockchain Tableのユースケースの一例
Copyright © 2021 Oracle and/or its affiliates
53
開発と分析に最高の生産性を
統合された マイクロサービス、イベント、REST, SaaS, 機械学習, CI/CD,
ローコード
あらゆるワークロードをサポート
トランザクション, 分析, 機械学習, IoT, ストリーミング, ブロックチェーン
あらゆるデータをサポート
Relational, JSON, グラフ, 地理空間, テキスト, OLAP, XML, マルチメディア
世界で唯一のコンバージドデータベース - インクラウドとオンプレミスの両方に対応
オラクルデータベースのビジョン
Copyright © 2021 Oracle and/or its affiliates
54
54
ブロックチェーン/DLT基盤や専用データベースと比較して……
利用のハードルが低い
• 一般的なOracle Databaseのスキルで十分使いこなせるため、学習コストが低い
• 通常のテーブルとの使い勝手の差異が小さく、アプリケーション透過的な利用が可能
• 通常テーブルからの乗り換えに必要な改修はゼロ~最小限
アプリケーション側の負担が小さい
• ふつうアプリケーションはイミュータブル(変更/削除しない)データのみを扱うわけではない
• イミュータブルデータ専用のデータベースを使う場合、
アプリケーションは少なくともふたつのデータベースを扱わなくてはならない
• 同一DB上で通常のテーブルとBlockchain Tableを扱えるためトランザクション、整合性担保が容易
データ分析、データ統合が容易
• Blockchain Table上でそのまま集計、分析が可能
• 他テーブル上のデータとのJOINやVIEW、多様なデータ統合ツールやBIツールも利用可能
処理性能
• Oracle Databaseの様々な処理性能向上手段を適用可能(例:Exadataを利用)
Oracle Databaseの1テーブルとして使えることのメリット
Copyright © 2021 Oracle and/or its affiliates
55
アプリケーションの負担を減らし、分析のための余分な手間も削減
単一用途データベース vs Oracle Database
Copyright © 2021 Oracle and/or its affiliates
56
App
BI
DIツール
イミュータブル
データ専用DB
(又はブロックチェーン/DLT)
通常データ用
DB
トランザクション
トランザクション
複製
複製
分析
分析用
DB
整合性担保は
アプリの責任
単一用途データベースの場合 Oracle Databaseの場合
App
BI
分析のための
データ統合に
余分な手間
トランザクション
Oracle
Database
分析
DB機能で
整合性担保
同一DB上で
容易に分析
CREATE BLOCKCHAIN TABLE + 3つの必須句
Blockchain Tableの作成
Copyright © 2021 Oracle and/or its affiliates
57
CREATE BLOCKCHAIN TABLE table_name(columns,constraints)
NO DROP [ UNTIL number DAYS IDLE ]
NO DELETE [ LOCKED ] | NO DELETE UNTIL number DAYS AFTER INSERT [LOCKED]
HASHING USING sha2_512 VERSION v1
テーブルのDROPに対しての制約を記述する句。
• UNTIL n DAYS IDLEを付けておいた場合、テーブル上の最新の行がINSERT後n日経っていないと
DROPできない(→付けない場合は常にDROP不可)。nの最小は0(16以上の指定を推奨)。
• 後からALTER TABLEでUNTIL~~は付けられない&nを減らせない(制約を緩められない)。
行のDELETEに対しての制約を記述する句。
• UNTIL n DAYS AFTER INSERTを付けておいた場合、INSERT後n日経っていないとDELETEできない
(→付けない場合は常にDELETE不可)。nの最小は16。
• 後からALTER TABLEでUNTIL~~は付けられない&nを減らせない(制約を緩められない)。
• LOCKEDを付けておくとnを増やすことも不能。
利用するハッシュアルゴリズムとデータフォーマットを記述する句。現状、値は固定。
シンプルなCREATE BLOCKCHAIN TABLEの例
Copyright © 2021 Oracle and/or its affiliates
58
CREATE BLOCKCHAIN TABLE bank_ledger (bank VARCHAR2(128), deposit_date DATE,
deposit_amount NUMBER)
NO DROP UNTIL 31 DAYS IDLE
NO DELETE LOCKED
HASHING USING "SHA2_512" VERSION "v1";
• NO DROP UNTIL 31 DAYS IDLE
…テーブル上の最新の行がINSERT後31日経っていないとDROPできない
• NO DELETE LOCKED
…行はDELETEできない
追記オンリーのテーブルで、イミュータブル/不変なデータを保持
• テーブルのDROPの制約(前述の通りn日~無制限の保護期間を設定可能)
• テーブルDROPは行のINSERT前なら常に可能(誤ってテーブル作成した場合すぐなら消せる)
• 行のDELETEの制約(前述の通りn日~無制限の保持期間を設定可能)
• データ量を削減したい場合、適切な保持期間を設定しておいたうえで、
保持期間を過ぎた行を整合性を検証した上で(必要に応じて外部にアーカイブしつつ)削除する
• 保持期間を過ぎた行の一括削除用PL/SQLパッケージファンクション
DBMS_BLOCKCHAIN_TABLE.delete_expired_rows()
• 行のUPDATEとMERGEが不可
• テーブルのTRUNCATEが不可
• パーティションのDROPが不可
• カラムの追加、削除および名前変更が不可
• データ型の変更や一部の長さ、精度の変更、NULL制約変更も不可
• Blockchain Tableの通常のテーブルへの変換、およびその逆の変換は不可
Blockchain Tableの特性①:データの削除、変更を制約
Copyright © 2021 Oracle and/or its affiliates
59
BLOCKCHAIN
ハッシュ値によるデータの検証可能性により、テーブルの中で完結した証跡性を提供
Blockchain Tableの特性②:ハッシュチェーン
Copyright © 2021 Oracle and/or its affiliates
60
• 行のINSERT時、自動的に
{行データ+前の行のハッシュ値}
に対して計算したハッシュ値を隠しカラムに保持
• ある行のハッシュ値はその前の行のハッシュ値に依存
し、その前の行のハッシュ値はその前の前の行のハッ
シュ値に依存し…
→ハッシュチェーンのつながりで改ざんが検知可能に
• ハッシュチェーンと行データを突合しながら辿ってい
くことで、整合性(INSERT以降、行データが変更、削
除されていないこと)の検証が可能
• 検証用PL/SQLパッケージファンクション
DBMS_BLOCKCHAIN_TABLE.verify_rows()
ID User Value
1 Tom 500
2 Carol 176
3 Steve 500
4 John 176
5 Mike 332
6 Sarah 632
7 Eve 25
8 Prisha 850
Hash
ADSJS
%SHS
SH@1
DHD3
*EGG
AH11
LIO$
SHS4
• INSERTした行にユーザーのデジタル署名を付与すること
が可能(オプショナル)
• 行データ(ハッシュ値を含む)に対して、データベース
外に保持する秘密鍵でデジタル署名を生成した上で付与
• デジタル署名はその行の隠しカラムに格納される
• 署名付与用パッケージファンクション
DBMS_BLOCKCHAIN_TABLE.SIGN_ROW()
• デジタル署名を付与していた場合は、行の整合性検証の際
に証明書によりデジタル署名の正しさも検証される
• エンドユーザーごとのデジタル署名を付与することで、
否認防止(Non-Repudiation)に効果的
Blockchain Table応用編①:デジタル署名の付与による否認防止
Copyright © 2021 Oracle and/or its affiliates
61
ID User Value
1 Tom 500
2 Carol 176
3 Steve 500
4 John 176
5 Mike 332
6 Sarah 632
7 Eve 25
8 Prisha 850
Hash
ADSJS
%SHS
SH@1
DHD3
*EGG
AH11
LIO$
SHS4
• テーブルオーナーのデジタル署名を付けた
テーブル上のデータのダイジェストを生成可能
• 署名付きダイジェスト生成用ファンクション
DBMS_BLOCKCHAIN_TABLE.GET_SIGNED_BLOCKCHAIN_
DIGEST()
• 定期的に署名付きダイジェストをデータベース外に保存す
ることで、データの検証可能性と証跡性を強化
• 外部の保存場所の例:
• パブリックブロックチェーン
• データベース管理者がアクセスできないストレージ
• データベース所有組織外部の監査機関
Blockchain Table応用編②:署名付きダイジェストのアンカリング
Copyright © 2021 Oracle and/or its affiliates
62
ID User Value
1 Tom 500
2 Carol 176
3 Steve 500
4 John 176
5 Mike 332
6 Sarah 632
7 Eve 25
8 Prisha 850
Hash
ADSJS
%SHS
SH@1
DHD3
*EGG
AH11
LIO$
SHS4
• セキュリティ担保や監査上、証跡として利用
するログ(例:入退室ログ、アクセスログ)
に耐改ざん性を付与
• 保存先を変えるだけで活用可能
• ログファイル→Blockchain Table
• 通常のテーブル→Blockchain Table
• アプリケーション側の変更はゼロ~最小限
• 元々データベースに保存している場合は保
存先のテーブルをBlockchain Tableとして
作り直すだけでOK
• 参照、検索、分析も通常のテーブルにある
レコードの場合と同様の使い勝手
• コンプライアンスに関わる様々な業務データ
の保存にも活用可能(例:会計や財務、契約
などの情報)
• ブロックチェーン台帳と違い、大きなデー
タサイズ、複雑なデータモデルにも対応可
• JSON形式で業務データを保存
• あとからのカラムの追加削除が不能なた
め、JSON形式を上手に使うのが実践的
• (21cバージョン以降では)21cで追加され
たJSON形式カラムを利用可能
• CLOB、BLOB形式でドキュメントファイルや
画像ファイルを保存
• 紙原本保存の慣行を不要に
Blockchain Tableを活用する際の実装イメージ
Copyright © 2021 Oracle and/or its affiliates
63
重要なログの保存先をBC Tableに変更 様々な業務データ、ドキュメントを保存
Appendix
Copyright © 2021 Oracle and/or its affiliates
64
• オラクルのブロックチェーンソリューションご紹介サイト
https://blogs.oracle.com/oracle4engineer/blockchain-table
• オラクルのブロックチェーンソリューションご紹介(2021/01版)Slideshare
https://www.slideshare.net/oracle4engineer/202001-241226594
• Oracle Blockchain Platform(およびHyperledger Fabric)を学ぶための情報サイト
https://blogs.oracle.com/oracle4engineer/oracle_blockchain_links
• Oracle Blockchain Platform Cloud Service
Oracle Blockchain Platform 関連情報
Copyright © 2021 Oracle and/or its affiliates
65
• 【公式ブログ】Blockchain TableによるOracle Databaseのコンバージドデータベースの拡張
…Blockchain Tableの技術的な特長およびユースケースの紹介記事
https://blogs.oracle.com/oracle4engineer/blockchain-table
• 【公式ドキュメント】 Oracle Database 21cドキュメントのBlockchain Tableについての箇所
https://docs.oracle.com/en/database/oracle/oracle-database/21/admin/managing-tables.html#GUID-
43470B0C-DE4A-4640-9278-B066901C3926
• 【ブログ】Oracle CloudでOracle Database 20c(プレビュー)のBlockchain Tableを使ってみた話
…Blockchain Tableを作成し、基本的な操作をテスト
https://miyacle.com/2020/07/oracle-cloud%E3%81%A7oracle-database-
20c%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AEblockchain-
table%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E8%A9%B1/
• 【ブログ】Oracle CloudのAlways FreeのATPのAPEXを使って作った我が家の体重管理アプリを、Blockchain
Tablesで改ざんできないようにした…Blockchain Tableを作成し、APEXで操作
https://qiita.com/maato/items/4a43841132074aa35d81
• 【ブログ】21cのブロックチェーン 表を使ってみる
…Blockchain TableにネイティブJSON型(21cで追加)でデータを保存し、APEXから表示
https://apexugj.blogspot.com/2020/12/blockchain-table-with-json.html
Blockchain Table関連情報
Copyright © 2021 Oracle and/or its affiliates
66
Oracle Cloud サービス概要
• https://www.oracle.com/jp/
Oracle Cloud Free Tier
(Always Free&無償トライアル)
• https://www.oracle.com/cloud/free/
マニュアル
• 英語 / 日本語
リージョン毎のサービス提供情報
• https://www.oracle.com/cloud/data-
regions.html#apac
Oracle Cloud Infrastructure 活用資料集
• https://oracle-japan.github.io/ocidocs/
Oracle Cloud Infrastructure チュートリアル
• https://oracle-japan.github.io/ocitutorials/
Oracle Cloud 活用事例
• https://blogs.oracle.com/oracle4engineer/or
acle-cloud-platformpaasiaas
セミナー情報
• https://blogs.oracle.com/oracle4engineer/co
lumn_cloud_seminar
Oracle Cloud Infrastructure: 参考資料
Copyright © 2021 Oracle and/or its affiliates
67
Oracle Cloud Infrastructure 技術情報
Copyright © 2021 Oracle and/or its affiliates
68
Oracle Cloud Infrastructure(OCI):関連情報まとめ
• https://blogs.oracle.com/oracle4engineer/colu
mn_oci_links
Oracle Cloud Infrastructure 活用資料集
• https://oracle-japan.github.io/ocidocs/
Oracle Cloud Infrastructure チュートリアル
• https://oracle-japan.github.io/ocitutorials/
Oracle Cloud Infrastructure 技術情報:Oracle LiveLabs
Copyright © 2021 Oracle and/or its affiliates
69
• 各種ハンズオン・シナリオが用意
• 実際の環境を触りながら、ハンズオンが可能
• ご自身の環境でも、オラクルが用意するハンズ
オン環境でも実施可能
• 英語ですが、ブラウザの翻訳ツールを使って十
分進められれます
• 詳細はこちらをご覧ください
•
•
• :
• #1: , INDETAIL,
• #2: , ,
• #3: G.U. Labs, TIS
• #4: IBM , NTT
• #5: , LayerX
• #6: ,
• #7: , NTT , LayerX
• #8: ,
•
• CONNPASS Oracle Code Night
Blockchain GIGの紹介
Copyright © 2021 Oracle and/or its affiliates
70
BlockchainGIG Exhibition
Oracle Code online 開催情報は
connpassにて公開中!
oracle-code-tokyo-dev.connpass.com
過去開催 Oracle Code online は
YouTubeにて公開中!
youtube.com/c/JapanOracleDevelopers
➢ 開催日 :3月17日(水)
➢ 開催時間:19:00 *18:50 接続開始 (Zoom)
Blockchain GIG Exhibition では
オラクルの持つブロックチェーン関連ソリューションにフォーカスして、
エンタープライズ領域でのブロックチェーン活用を既に行っている/目指している/検討している方向けに
そのときどきの旬な話題をお届けします!
~ オラクルのブロックチェーン関連ソリューション:Blockchain TableとOBPをご紹介! ~
Oracle Code Night Online
Blockchain GIG
各種Meetupの詳細・お申込みは で♪
ブロックチェーン推進協会オンラインセミナー オラクル資料 (2021年3月3日)

ブロックチェーン推進協会オンラインセミナー オラクル資料 (2021年3月3日)