Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オラクルのブロックチェーンソリューションご紹介 /blockchain

オラクルのブロックチェーンソリューションご紹介 /blockchain

Oracle Blockchain Platformや、Oracle Databaseの機能のOracle Blockchain Tableについて、最新のブロックチェーン事例、試用環境とデモスクリプト、Hyperledger Fabricの技術情報とともにご説明しております。

最新版:2022/12/2

oracle4engineer
PRO

December 02, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Oracleのブロックチェーンソリューションご説明 中村 岳 クラウド事業統括 ソリューションアーキテクト本部 2022/12/2

  2. エンタープライズ領域でのブロックチェーン活用 Copyright © 2022, Oracle and/or its affiliates 2

  3. ブロックチェーン/分散台帳技術* • 分散:複数の組織で分散して所有、管理されるノードによりブロックチェーン・ネットワークが構成さ れる。ノードは相互に通信し、確実に同一なデータを共有する。 • 台帳:保持されたデータは削除や改変ができないような仕組み(耐改ざん 性)を備えており、台帳(Ledger)と呼ばれる。 データの整合性は検証可能となっており、そのため証跡性を有する。 • スマートコントラクト:あらかじめ合意され、検証されたロジック

    によってのみ台帳の更新が可能。これにより、自動化された契約の締 結やその履行を実現できる。 *)正確にはブロックチェーン技術は、分散台帳技術の一種だが、 両者を「ブロックチェーン」と呼ぶことが多い 3 Copyright © 2022, Oracle and/or its affiliates 3
  4. 仮想通貨の基盤として始まり、適用領域を拡大 Copyright © 2022, Oracle and/or its affiliates • 2008年にサトシ・ナカモトを名乗る人物が特定の管理者がいないネットワーク上に分

    散した台帳上で管理されるビットコインという新たな通貨(を実現するシステム)に係 る論文をネット上に発表 • 仮想通貨を実現する基盤の特長に徐々に注目が集まり、 より一般的な用途への応用が進み、 「ブロックチェーン/DLT(分散台帳技術)」の適用領域が拡大 • エンタープライズ領域では「データ活用のための信頼できる企業間データ共有基盤」、 「ビジネスプロセス効率化のための企業間ワークフロー基盤」としてユースケースが 続々 4 4
  5. ブロックチェーンの利用形態(ネットワーク)の分類 Copyright © 2022, Oracle and/or its affiliates パブリック 公開制のネットワークを

    不特定多数で運用 コンソーシアム 許可制のネットワークを 複数組織で運用 プライベート 許可制のネットワークを 単一組織で運用 パーミッションレス← →パーミッションド 5 5
  6. ブロックチェーンによるデータ共有 高い耐改ざん性を持つ台帳を複数企業で分散して保持、信頼できる企業間データ共有基盤を実現 Copyright © 2022, Oracle and/or its affiliates 従来の世界

    ブロックチェーンの世界 XXX YYY AAA ZZZ 特定組織にデータを集中し共同利用 改ざんできないデータを皆で水平に共有 ・権限が集中、責任も集中 ・中央が強く、競合関係が障害に ・関係者が、確実に自分と同じデータを保持 ・透明性と検証可能性を実現 ・企業が対等な関係に、エコシステムを形成しやすい SSoT SSoT SSoT: Single Source of Truth SSoT SSoT 6 6
  7. ブロックチェーンによるビジネスプロセス効率化 信頼のある共有データと合意されたロジックによる、効率的な企業間ワークフローを実現 Copyright © 2022, Oracle and/or its affiliates XXX

    YYY ZZZ AAA ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ 従来の世界 ブロックチェーンの世界 複雑で遅い企業間ビジネスプロセス スマートコントラクトによるプロセスの自動化 ・企業間ワークフローの自動化、効率化 ・価値(所有権)の移転 ・取引→決済、商流→物流→金流など 多段階のプロセスを統合して効率化実現 ・遅延、不整合を招くデータのバケツリレー ・バラバラのフォーマット、多くの人手作業 ・ミスや不正を防ぐため、情報を照合する手間が多大 SSoT SSoT SSoT SSoT 7 SSoT: Single Source of Truth 7
  8. エンタープライズでのブロックチェーンの適用領域例 有力な適用領域 Copyright © 2022, Oracle and/or its affiliates 公共

    • 投票システム • 土地や資格の管理 • 行政記録管理、市民サービス 自動車 • サプライチェーン効率化 • 偽装品対策、原産地証明 • 所有権証明 通信 • ローミング決済 • メディア、ゲーム • セキュリティと不正対策 小売 • トレーサビリティーとリコール対応 • 製品認証、ブランド証明 • ワランティ管理 教育/研究機関 • 学歴履歴 • デジタル著作権管理 • 教育コンテンツマーケットプレイス メディア/エンターテイメント • ロイヤリティポイント • C2C/P2P コンテンツ共有 • デジタル著作権管理 ハイテク/製造 • サプライチェーン効率化 • トレーサビリティー、 偽装対策 • IP、著作権管理 ヘルスケア • 医薬品のトレーサビリティー • 医療費管理 • 資格管理 金融 • 国際間決済、送金 • 認証管理、KYC • 取引管理 企業間データ共有/ ワークフロー基盤 • 契約、請求支払、会計、リコンサイル • 在庫、受発注、取引 8 8
  9. 例:UNDP(国連開発計画)によるSDGs分野でブロックチェーンを活用の見込める6つのカテゴリ 1. 金融包摂のサポート 2. エネルギー・アクセスの改善 3. 生産と消費の責任 4. 環境保護 5.

    法的なアイデンティティの広範な提供 6. 援助の効果の改善 赤字部…エンタープライズ領域でのブロックチェーン活用が進んでいる領域 サステナビリティ、ESG、SDGsに絡んだブロックチェーンユースケースの盛り上がり Copyright © 2022, Oracle and/or its affiliates From: https://feature.undp.org/beyond-bitcoin/#group-5- things-blockchain-can-do-for-the-sdgs-CWDXIGEkKN 9 9
  10. 規制の拡大 消費者の意識向上 リスク管理 様々な業種のサプライチェー ンへの規制の拡大と強化 • ESG/SDGsへの世界規 模での取り組みの拡大 • 軍事、経済安全保障の

    重要性の増大 • 消費者保護 消費者の企業、製品への視 線がより厳しく • サステナビリティ、コンプライ アンス、フェアトレードなどの バックグラウンド • 安全性、品質 • ブランド価値 複雑化したサプライチェーンに 潜在するリスクの把握、顕在 化時の即応が求められる • 規制リスク • 地政学リスク • レピュテーションリスク • リコール/回収対応 Copyright © 2022, Oracle and/or its affiliates トレーサビリティへのトレンド:主要なドライバー 10
  11. トレーサビリティ実現の鍵:データを記録する×一元的に共有する Copyright © 2022, Oracle and/or its affiliates 材料加工 製造

    物流 小売・顧客 特性 • 多くの関係者が登場 • 各社で分断されたデータ(サイロ化) • N対Nの関係での情報のやり取り • 国をまたがることもしばしば • 多くの場合互いへの信頼が完全ではない 共通データプラットフォームで実現 • 共通化された形式の、一貫性があり、信頼できる 情報を共有 • 共有された確実なデータに基づいて企業間のワー クフローを実行 共通データ プラットフォーム 材料加工 製造 物流 小売・顧客 11
  12. アセットのライフサイクル管理も:販売後の履歴も追跡 アセットを巡るエコシステムを拡大、強化 • 使用状況、メンテナンス履歴の記録と証明 • 品質保証サービスや保険の適正化 • 資産価値の証明により製品を担保としてファイナンス利用 • リコール対応、規制対応のために必要な情報の把握

    • 市場の拡大とアセット価値向上 • 健全な二次流通市場の実現 • 顧客の正規店エコシステムへの囲い込み • データを活用した新サービスの実現 Copyright © 2022, Oracle and/or its affiliates 販売・契約履歴 顧客情報 保険 ファイナンス 製造履歴 品質情報 廃棄 リサイクル リユース 二次流通 使用状況 メンテナンス 履歴情報 正規店登録 認証業者 共通データPF 12
  13. 共通データ PF 誰が運営するプラットフォームなのか=誰に/どこにデータを集めるのか 共通データプラットフォーム実現の3つのモデル Copyright © 2022, Oracle and/or its

    affiliates 共通データ PF 共通データ PF • プレイヤーのうち一社がPFを サービスとして提供、運営 • 他プレイヤーはPFを利用 代表プレイヤーが提供 • 中立的な業界団体、公的機 関、ベンダーなどがPFをサービス として提供、運営 • 利用者がPFと組織運営のコス トを分担 第三者が提供 • コンソーシアム型ブロックチェーン の参加者で水平にPFを実現 • データを自身で持ちつつ確実、 タイムリーに共有 ブロックチェーンで共同実現 13 13
  14. ブロックチェーンを利用した水平なプラットフォームならではのメリット Copyright © 2022, Oracle and/or its affiliates 共通データ PF

    共通データ PF • プレイヤーのうち一社がPFを サービスとして提供、運営 • 他参加者はPFを利用 代表プレイヤーが提供 • 中立的な業界団体、公的機 関、ベンダーなどがPFをサービス として提供、運営 • 利用者がPFと組織運営のコス トを分担 第三者が提供 • コンソーシアム型ブロックチェーン の参加者で水平にPFを実現 • データを自身で持ちつつ確実、 タイムリーに共有 ブロックチェーンで共同実現 Why Blockchain? プラットフォームの実現、拡大を阻む以下のような課題を回避 • いずれかのプレイヤーに特権を与えるかたちでは協力することが難しい (競合他社を有利にしたくない、全面的には信頼できない等) • 公共機関や業界団体など中立的な機関が存在しない、 あるいはプラットフォームを提供(開発、運用)する能力がない • ベンダーなど第三者プラットフォーマーを介在させると中間コストが増大する ⇨これまでは実現できなかった協力、共創を実現できる可能性 14 共通データ PF 14
  15. プライベート型のブロックチェーン利用とは? • 分散:複数の組織で分散して所有、管理されるノードによりブロックチェーン・ネットワークが構成さ れる。ノードは相互に通信し、確実に同一なデータを共有する。 • 台帳:保持されたデータは削除や改変ができないような仕組み(耐改ざん 性)を備えており、台帳(Ledger)と呼ばれる。 データの整合性は検証可能となっており、そのため証跡性を有する。 • スマートコントラクト:あらかじめ合意され、検証されたロジック

    によってのみ台帳の更新が可能。これにより、自動化された契約の締 結やその履行を実現できる。 15 Copyright © 2022, Oracle and/or its affiliates 単一の組織内に閉じている 分散/分権が前提 15
  16. プライベート型のブロックチェーン利用とは? Copyright © 2022, Oracle and/or its affiliates パブリック 公開制のネットワークを

    不特定多数で運用 コンソーシアム 許可制のネットワークを 複数組織で運用 プライベート 許可制のネットワークを 単一組織で運用 パーミッションレス← →パーミッションド 16 16 フォーカスは • データの持ち主でも改ざんできないこと • 改ざんされていないことを証明できること これらが実現できれば、使うのは「ブロックチェーン」/ 分散台帳技術でなくてもよい ⇨ブロックチェーンにインスパイアされた技術を備えた 中央集権型データベースの活用にシフト
  17. • データの不変性、耐改ざん性 • データベースの持ち主であっても、 一旦書き込まれたデータを更新、削除できないようにする仕組みを備えている • 検証可能性と監査性、証跡性 • 更新、削除されていないことを検証できる仕組みを備えている •

    検証可能であることにより改ざんされていないことの監査も容易に • 中央集権型(NOT分散/分権) • 複数組織で所有や管理を分散できるようにはなっていない • (「分散データベース」は複数組織で分散できるわけではない) 改ざん不能型データベースとは? 17 17 Copyright © 2022, Oracle and/or its affiliates
  18. 共通データプラットフォームでのブロックチェーン or (耐改ざん型)データベース • 課題に対して分散/分権が不要(有利に働かない)なら、「どこか一箇所にデー タを集める」中央集権的なモデルの選択がベター • どこかのデータベースに集め、適切にアクセス制御を行う • 「プラットフォームの持ち主自身もデータを改ざんできないこと」が求められる場合も、

    耐改ざん性だけが必要なのであれば改ざん不能型データベースを利用すればよい • 持ち主も改ざん不能なかたちでデータを保持 • 監査により非改ざんの証明が可能 • これらは単一組織でブロックチェーンを使った場合と同様の効果 • Why Blockchain? • ブロックチェーンには性能面での課題や現状でのスキル保持者確保の難しさ、構 築、運用コストなどのデメリットが存在 • それらを上回るメリットが生じるのは、基本的には分散/分権が活かせる場合 Copyright © 2022, Oracle and/or its affiliates 共通データ PF 代表プレイヤーが提供 共通データ PF 第三者が提供 18 18
  19. Oracleのブロックチェーンソリューション Copyright © 2022, Oracle and/or its affiliates 19

  20. Oracle Database Blockchain Table Oracle Blockchain Platform Cloud Service 「信頼できるデータ」でビジネスの課題を解決するふたつの”ブロックチェーン”テクノロジー

    フルマネージドサービスとして提供されるブロックチェーン基盤Oracle Blockchain Platform Cloud Serviceと Oracle Databaseの機能の一部として使えるBlockchain Tableでブロックチェーン技術の活用を強力に推進 Oracleが提供するブロックチェーンソリューション • 実績多数のOSS:Hyperledger Fabricベース • コンソーシアム型ブロックチェーン・ネットワークを形成し、複数企 業間で確実かつリアルタイムにデータとロジックの共有が可能 • 業界全体の抱える課題の解決や、集積したデータの活用による 新たなビジネスを創出をサポート • ユースケースの例: • サプライチェーンのトレーサビリティ向上と全体効率化 • 発注/請求/支払業務の自動化 • データの追記のみを許し、削除/修正不可の特殊なテーブル • 外部からの攻撃はもちろん、管理者を含めた内部による改ざんも 防止し、データの検証可能性により監査も容易 • 既存のデータベース資産とスキルを活かしてすぐに、容易に、ピン ポイントでの利用開始が可能 • ユースケースの例: • 契約情報や会計/財務データ、CO2排出量などの法律上 確実な保管が要求される情報の保持 • セキュリティログや監査証跡の保存 分散/分権 集中管理 Copyright © 2021 Oracle and/or its affiliates 20 Copyright © 2022, Oracle and/or its affiliates 20
  21. ブロックチェーン/DLTと改ざん不能型データベース:それぞれの用途 対応する 主要なニーズ 例となる ユースケース ▪ 複数の企業間で水平に確実かつリアルタイムに データを持ち寄り共有したい ▪ 企業をまたいだワークフローを信頼できるかたち

    で実行したい ▪ 原材料~製造~輸送~小売までの一貫した データ持ち寄りによるサプライチェーンの全体最適 化 ▪ スマートコントラクトによる取引約定~決済までの 企業間ワークフローの自動化、効率化、迅速化 ▪ 台帳上での価値交換 分権/分散, ブロックチェーン/DLT Oracle Blockchain Platform ▪ 法律上確実な保存が要求される契約情報や会 計、財務データの保持 ▪ 重要なアクセス情報や操作履歴などの システムログを監査証跡として保存 ▪ データを外部犯行、内部犯行両面から保護し、 セキュリティ確保 ▪ 保存して以降、誰にも変更・削除できないよう データを保持したい ▪ 監督機関、監査法人などに対し、改ざんされて いないことを証明したい 中央集権, 改ざん不能型データベース Oracle Database Blockchain Table 21 Copyright © 2022, Oracle and/or its affiliates 21
  22. Oracle Blockchain Platform 製品概要 Copyright © 2022, Oracle and/or its

    affiliates 22
  23. Hyperledger Fabricをベースにエンタープライズ利用向けPaaSとオンプレミスで提供 • 数ステップで構築完了、GUIコンソールで管理・運用も容易 • エンタープライズグレードの耐障害性、堅牢性 • マルチクラウド、ハイブリッドクラウド、 オープンなネットワーク構成が可能 •

    Oracle独自の付加価値: • State DBとしてBerkeley DBを利用:パフォーマンスとクエリ利便性向上 • 多機能なREST API:スマートコントラクトの利用を容易に • 台帳のデータをRDBに複製:大量照会、分析、データ統合 • スマートコントラクトを容易に開発:付属の開発ツールでアセット仕様からコードを自動生成 • 複数ChannelのアトミックトランザクションとXA対応:複数Channelでの更新のアトミックな実行 や、ローカルのDB、MQなどとのグローバルトランザクションをサポート Oracle Blockchain Platform Copyright © 2022, Oracle and/or its affiliates 東京DCからも サービス提供中 23
  24. 使用ユーザー様、パートナー様からいただいたコメント一例 Oracle Blockchain Platform ・GUIベースや、豊富なAPIなど、非常に使いやすい ・最初のハードルが低い ・ブロックチェーン未経験者が2週間でPoC環境構築 ・環境構築から、メンバー追加などの拡張、設定変更など、 自分たちでできる ・自分たちで理解できているので、システム構築会社に対して、

    依頼がしやすい ・Database連携、 Phantom Read問題対応、既存システム との連携機能など、製品コンセプトがエンタープライズ活用 を想定している ・PaaSとしての完成度が高い ・ロードマップや、実装機能含めて、他社クラウドベンダーより進ん だものを提供している ・使ってみたら、まじ「ネ申」だった ・これこそFull Managed ・簡単すぎて、エンジニアをだめにする ・ビジネス要件定義や、アプリ開発に専念できる ・エンジニアがアプリケーションの開発に専念できるちゃんとした PaaS ・ブロックチェーンプロジェクトで、本来工数をかけるべきビジネス検 討タスクに集中できる 24 Copyright © 2022, Oracle and/or its affiliates 24
  25. 5つの特長によりエンタープライズでのブロックチェーン活用を加速 Oracle Blockchain Platform Copyright © 2022, Oracle and/or its

    affiliates Pre-Assembled: 簡単、高速に高機能なインフラを構築 Easy to Use: 運用、管理の手間を削減 Open: マルチクラウド、ハイブリッドクラウド、 オープンで柔軟なネットワーク構成が可能 Enterprise Grade: エンタープライズ要件を満たすために 独自に強化された基盤 Quick Integration: 他システム連携、アプリ開発を容易にする 独自の機能とサポートツール Oracle Blockchain Platformの特長 提供する価値 ✓ 独自機能によりエンタープライズ用途に最適 化された基盤をすぐに利用可能 ✓ 環境構築やアプリ開発、運用管理の工数を 削減し、業務検討に注力可能 ✓ 迅速な立ち上げとスケールを実現、 エコシステムの拡大を促進 25 25
  26. • 数ステップ、数分で構築完了 • 必要なブロックチェーンネットワーク構成要素は自動でセットアップ • 構築後すぐにコンソール画面の利用やスマートコントラクトのデプロイが可能 Pre-Assembled:簡単、高速に高機能なインフラを構築 Copyright © 2022,

    Oracle and/or its affiliates 26 26
  27. • 基盤の運用 • 使いやすいコンソールと多機能なサービスAPI • 動的なスケールアウトとスケールアップ • セキュリティ管理 • クラウドID管理と統合された認証・認可

    • 送受信データ、保存データの自動暗号化 • 可用性とメンテナンス • ビルトインされたHA構成 • ゼロダウンタイムでのパッチ自動適用、アップグレード Easy to Use:運用、管理の手間を削減 Copyright © 2022, Oracle and/or its affiliates 27 27
  28. 使いやすいコンソール画面と多機能なサービスAPIで運用、管理をサポート • 運用、監視、管理のための使いやすいコンソール画面および多機能なサービスAPIを提供 • 必要となる運用、管理タスクをコンソール画面とAPI両方でカバー: …Hyperledger Fabricの難解な設定ファイル、コマンド、手順は習得不要 • ノードの起動/停止 •

    設定の変更 • ブロックチェーンネットワークのメンバー追加 • 監視とトラブルシューティングも: • ネットワークの視覚化 • リソース使用状況やノード死活情報 • トランザクション処理状況 Easy to Use:運用、管理の手間を削減 Copyright © 2022, Oracle and/or its affiliates 28 28
  29. • 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 © 2022, Oracle and/or its affiliates 29 29
  30. オンプレミス、マルチクラウド、ハイブリッドクラウドでの構成が可能 Open:オープンで柔軟なネットワーク Copyright © 2022, 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 (手組ベース) 30 30
  31. Enterprise Grade:エンタープライズ要件を満たす Copyright © 2022, Oracle and/or its affiliates 運用/保守性

    • 使いやすいコンソール画面と 多機能なサービスAPI • モニタリングダッシュボードを通じ システムの状態を把握 • OracleマネージドPaaS セキュリティ/機密性 • ID管理サービスとの統合 • より細やかな権限分割が可能 • 送受信/保存データ暗号化 処理性能/スケーラビリティ • 並行処理/高速なコンセンサス • 動的なスケールアップ/アウト • 低遅延のネットワーク 耐障害性/可用性 • HA構成のVMを標準で提供 • 自動再起動 • 台帳、設定の常時バックアップ 31 31
  32. State DBとしてBerkeley DBを採用、パフォーマンス&ロジック表現力を強化 パフォーマンスの向上 • スマートコントラクトの同時実行性の強化 SQLリッチクエリのサポート • (値がJSONであれば)JSONの属性を指定してのSQL- Likeクエリが可能

    • COUNT,SUM,AVG,MIN,MAXなどの集計関数も利用可 CouchDB互換のJSONリッチクエリも利用可能 Enterprise Grade:エンタープライズ要件を満たす Copyright © 2022, Oracle and/or its affiliates + ブロックチェーン: トランザクションと 値の履歴を格納 State DB (World State): 現在の値を格納する データベース Hyperledger Fabricにおける 台帳(Ledger)構成 ※通常のHyperledger Fabricでは、 State DBはLevelDBかCouchDB 32 32
  33. エンタープライズ活用で重要なシステム間の連携をサポートする機能を提供 Quick Integration:他システムとの連携を迅速に実現 Copyright © 2022, Oracle and/or its affiliates

    • REST APIでブロックチェーンが利用可能。 アプリケーション開発および既存システムとの連携 が容易に • Oracle Integration Cloudの事前定義済アダプ ターを用いることで、ERPなどの基幹システムや各種 SaaSとの連携を更に迅速に実現 アプリケーション連携 • ブロックチェーン上のデータをデータベースに複製す る機能が付属。複雑な集計、分析なども高速かつ 容易に開発可能 • ブロックチェーンのデータと他システムのデータをデータ ベース上で統合することで、 より高度なデータ活用も可能に Blockchain Integration Database データ連携 他システム BIツール等 33 33
  34. REST APIでのブロックチェーン利用でアプリケーション開発が容易に REST Proxy概要 Copyright © 2022, Oracle and/or its

    affiliates Oracle Blockchain Platform Fabric Peerノード 台帳 Chaincode アプリケーション Fabric SDK Fabric Peerノード 台帳 Chaincode RESTプロキシー Fabric SDK アプリケーション gRPC REST API 34 FabricのIdentity FabricのIdentity gRPC Oracle CloudのID管理 サービスを利用して認証 • Fabric SDKの 組み込みが必須 • アプリで管理する秘密 鍵&証明書で認証 ⇨アプリケーション開発者 はFabricアプリ開発の習 熟が必須 通常のFabric利用アプリ開発 Oracle Blockchain Platform利用アプリ開発 • アプリはREST APIで ブロックチェーンを容易 に利用可能 • クラウドのIDを用いて容 易&セキュアに認証・認 可 ⇨Webアプリ開発の一般 的なスキルがあればOK 34
  35. Quick Integration:他システムとの連携を迅速に実現 RESTプロキシー+Oracle Integration Cloudを利用してのシステム連携 35 Copyright © 2022, Oracle

    and/or its affiliates 35 Oracle Blockchain Platform ノード ノード ブロックチェーンノード 台帳 Chaincode (スマート コントラクト) REST プロキシー 既存 データベース ERP、SCM 等 基幹システ ム ERP、SCM 等 基幹システ ム ERP、SCM等の 基幹システムや 他アプリケーショ ン 既存 データベース 既存 データベース Oracle Integration Cloud Oracle Integration Cloud:ERP、SCMなどの基幹システムや 各種SaaSとの連携を短期間で効率的に開発 • Oracleはもちろん、他社のクラウド/オンプレミスのソフトウェアとの 豊富なアダプターを利用(例:SAP、Salesforce、 NetSuite、 Oracle SCM Cloud、各種データベース) • 申請→承認などのワークフローの作りこみや、 API管理も可能 RESTプロキシーを通じて Oracle Integration Cloudを はじめとした様々なREST API 対応の連携ツールを活用可能
  36. リッチヒストリーデータベース:Oracleデータベースにブロックチェーンのデータを複製 • 台帳のデータをブロックチェーン外部のリレーショナルデータベースに複製 • ブロックチェーンが苦手とする複雑な参照処理(集計、分析)を、 データベース側で実装可能に • 多くの開発者が慣れ親しんでいるOracleデータベースでの開発 • Oracle

    Analytics Cloudをはじめとした多種多様なBIツールの利用 • 他システムとのデータ統合も一般的なツールとノウハウで容易に実現可能 • ERP、SCMなどの基幹システムとブロックチェーンのデータを 統合することで、データの価値を最大限に活用 Quick Integration:他システムとの連携を迅速に実現 Copyright © 2022, Oracle and/or its affiliates + ブロックチェーン: トランザクション と値の履歴を格納 State DB (World State): 現在の値を格納 台帳(Ledger) 複製 36
  37. データベースに複製されたデータの利活用イメージ Copyright © 2022, Oracle and/or its affiliates 37 ブロックチェーン:

    トランザクション と値の履歴を格納 State DB (World State): 現在の値を格納 JSON 単純型 • Key-Value型でデータ を保持 • ValueはJSONや単純 データ型(文字列、数 値など) スマート コントラクト ブロックチェーン データベース 各種ツール • 現在のState • 過去バージョンのState • トランザクション履歴 の情報をテーブルとして保持 データベース向けの様々なツールも利用し、 高度、高速なデータ利活用 • スマートコントラクトの代替としてアプリケー ションからテーブル上のデータをクエリ • JSONの内容を別テーブルにコピーしカラム に展開 • 高度な集計や分析の実行 • 他のシステムやデータベースとのデータ統合 Data Integration GoldenGate Analytics Visual Builder APEX アプリ開発 Graph データ統合 分析 ERP、SCM、CRM アプリ連携 Integrations 複製
  38. グラフ分析×ブロックチェーン上のデータ ユースケースの例 • 資金の移動元と移動先を分析 • マネーロンダリングや不正などが疑 われる支払いを検出 • 製品、部品、サプライヤーの関係 を可視化/分析

    • トレーサビリティを実現するとともに、 よりリスクに強く最適なサプライ チェーンを構築 • ユーザー同士、ユーザーと店舗、 ブランドの関係を分析 • ユーザープロファイルの構築とリコメ ンデーションなどへの応用 38 Copyright © 2022, Oracle and/or its affiliates デジタル通貨/ペイメント サプライチェーン マーケットプレイス/コミュニティ
  39. Oracle Blockchain Platform内のサンプルChaincode Copyright © 2022, Oracle and/or its affiliates

    Balance Transfer • AとBのふたつの口座間での残高のやり取りを表現する最もシンプルなサンプル • 現在残高のクエリとA⇔B間の移転のみの機能で、Chaincodeの基礎の学習に最適 Car Dealer • サプライチェーンのトレーサビリティを表現したサンプル • 自動車メーカーとディーラーの間でのパーツおよび自動車のやり取りが題材 • パーツから自動車の組み立て(アセットの含有関係)もデータ構造として表現 Marbles • Marble(おはじき)を題材としたNFT(Non-Fungible Token)のサンプル • 各MarbleはIDと色や大きさ、所有者などの属性を持つ • 台帳の範囲クエリやリッチクエリなど、Chaincodeの基本として覚えておくべきひととおりの操 作が含まれる Marbles with Fine Grained ACLs • MarblesにFine-Grained Access Control Libraryを用いたアクセス制御を追加 したサンプル Fiat Money Token • 複数の口座間、複数種類のトークンの残高のやり取りを表現するサンプル • 口座の作成、複数種類のトークンの発行と残高管理(照会、移転)など、Balance Transferよりも多機能な、Fungible Tokenの本格的サンプル 39
  40. スマートコントラクトのローコード開発、およびテスト、デプロイを容易にする補助ツール • Visual Studio Codeの拡張機能、およびCI/CD用のCLIツールとして提供 • 一連のライフサイクル(開発、パッケージング、デプロイ、アップデート)に対応 • ローカルなHyperledger Fabricネットワークを自動構成してデプロイ、テスト

    • Chaincodeのステップ実行によるデバッグが可能 • リモートのOracle Blockchain Platformにデプロイ、テストも可 • アセット仕様からプログラムを自動生成 • 宣言的に記述したアセットの属性とメソッドの仕様をもとに Chaincodeのコード、プロジェクトを自動生成 • トークンの開発を強力にサポート • Fungible Token(FT)…金額やポイントの残高などを扱うユースケース • Non-Fungible Token(NFT)…唯一性を持ったモノに紐づくトークン 例:サプライチェーンの物品の追跡、デジタルコンテンツ Blockchain App Builder Copyright © 2022, Oracle and/or its affiliates 詳細は以下のドキュメントを参照: https://docs.oracle.com/en/cloud/paas/blockchain-cloud/usingoci/using-chaincode-development-tools.html 40 40
  41. Blockchain App Builderのトークン開発サポート • TTF(Token Taxonomy Framework)およびERCをベースとした標準に 基づいたトークン仕様からコードとAPIを自動生成 • トークンのメタモデル(例:Fungible)と振る舞い(例:Mintable、

    Transferable、Burnable)、カスタムメソッドをテンプレートに記述する ことでそれに合わせたコードとSDK(カスタムコード内で再利用可能) を生成 • 30種類以上のトークンラッパー関数 • ビルトインのロールベースドセキュリティ、アクセス制御機能を利用可能 Copyright © 2022, Oracle and/or its affiliates 41
  42. 利用料金の構成は、選択したインスタンスタイプにより ① or(②+③)のどちらかになります: • 2つのインスタンス・タイプ(CPU数×使用時間) • ①Standard:2 OCPUで固定、ストレージは50GB付属で追加不可、非HA構成 • ②Enterprise:OCPU拡張可能(最小4

    OCPU)、ストレージは150GB付属で追加可能、HA構成可能 • ③追加ストレージ(TB/月)…Enterpriseのみ追加可能(オプショナル) インスタンス停止中のOCPU分の料金は25%に低減されます • 例:インスタンスを月20日×8時間稼働(残りは停止)させた場合の月額: • Standardの場合… 2×(30.1×8×20+30.1×0.25×(16×20+24×11))= 18421.2 (円) • Enterprise最小構成の場合… 4×(60.214×8×20+60.214×0.25×(16×20+24×11))= 73701.936 (円) Oracle Blockchain Platform Cloud Service の価格体系 (2022/12/1時点) Copyright © 2022, Oracle and/or its affiliates サービス名 単価 メトリック 最小構成 参考月額費用(※) ①Oracle Cloud Infrastructure – Oracle Blockchain Platform Cloud Service –Standard ¥30.1 OCPU/Hour 2 OCPU(固定) ¥44,788 ②Oracle Cloud Infrastructure – Oracle Blockchain Platform Cloud Service –Enterprise ¥60.214 OCPU/Hour 4 OCPU(拡張可能) ¥179,196 ③Oracle Cloud Infrastructure – Oracle Blockchain Platform Cloud Service -Storage ¥9,856 TB/Month 1 TB単位で追加可能 ¥9,856 ※最小構成の24時間×31日 稼働で計算 42 42
  43. Blockchain Platform 【ご参考】小規模PoCの構成例と費用イメージ カテゴリ サービス 月額費用 備考 ブロックチェーン Blockchain Platform※

    ¥44,788 Standardインスタンス×1 Webアプリ APEX 無料 DBCS、ADBに含まれる IaaS VM(CPU)※ ¥6,645 Standard – X7、1OCPU IaaS VM(Storage) ¥714 Block Volume、 200GB データベース Autonomous DB(CPU)※ ¥140,001 1OCPU Autonomous DB(Storage) ¥16,576 1TB Database Cloud Service (CPU)※ ¥22,394 Standard、1OCPU Database Cloud Service (Storage) ¥3,570 Block Volume、 1TB 43 Copyright © 2022, Oracle and/or its affiliates ブロックチェーン Blockchain Platform ※企業ごとに分ける 場合は複数の インスタンスを利用 Webアプリ APEX、 Visual Builder or IaaS VM データベース Autonomous DB or DBCS ユーザー 参考構成例①:Blockchain Platform(1インスタンス)+IaaS VM+DBCS →月額費用:¥78,111 参考構成例②:Blockchain Platform(2インスタンス)+IaaS VM + DBCS →月額費用:¥122,899 …フル稼働の場合。停止により節減可能。 サービスごとの月額費用(最小構成の24時間×31日稼働で計算) (※)停止により利用料金削減が可能リソース
  44. Copyright © 2022, Oracle and/or its affiliates Oracle Blockchain Platform

    事例・ユースケース 44 44
  45. Oracle Blockchain Platform ユースケース & PoC 例(1/2) Copyright © 2022,

    Oracle and/or its affiliates 電気自動車バッテリーのコバルトの トレーサビリティ(Circulor) 製造業、サプライチェーン 食品の証跡、サステナビリティ バージンオイルのトレーサビリティ、 品質証明(Certified Origins) 牛肉のトレーサビリティ(ICBF) パーム油の持続可能なリワードシステム 高級品偽装対策 ダイヤモンドの正当性、所有権証明 (Everledger) 薬のトラッキング、偽装薬対策 (NITI Aayog, Apollo hospital) 物流、ロジスティクス 海上貿易、物流に関する文章管理、 イベントトラッキング(CargoSmart) 企業間の決済と請求業務 複数のERPにおけるリコンサイルと 決済のための企業間台帳(GE) 物流、配送のトラッキング(Intelipost) 大手自動車会社における、 サプライヤーの認証、登録、検証 教育履歴管理 大学単位取得履歴管理(Taibah Valley) 学位認証、履歴管理証明(CDEL) 商流、物流データの共有と効率化 含有物質管理、規制対応、品質検査管理 カッコ内:事例社名 45
  46. Oracle Blockchain Platform ユースケース & PoC 例(2/2) Copyright © 2022,

    Oracle and/or its affiliates 証券におけるアセットトークン (Standard Chartered PLC) 国際間資金送金 (Arab Jordan Investment Bank) 金融、ファイナンス 大手国際銀行におけるe-KYC ファクタリング、リコンサイルサービス ヘルスケア 複数プロバイダをまたいだ患者の 医療情報の一元ビュー 遠隔患者管理( HealthSync) データ連携 アクセスコントロール、データ連携基盤 ポイント、ロイヤリティー 地域ポイント、社内ポイント 既存ロイヤルティポイントのトークン化 (PRAVICI) IoTセキュリティ IoTデバイスセキュリティ管理 政府、パブリックセクター 犯罪調査の証拠品管理、文章管理 難民管理、ID管理 輸出入管理、関税管理 エネルギー 電力取引、電力証明 CO2排出権証明 カッコ内:事例社名 46
  47. + ダイヤモンドのトレーサビリティ 個々のダイヤモンドの流通、品質の情報をブロック チェーンに記録することで、偽造品や詐欺などの不正 を対策し、正規品の価値を証明 • 来歴の記録 採掘から小売までの一貫した履歴情報を追跡可能に • さらにライフサイクルを追跡

    二次流通を含め、誰が/誰に、売却/購入したかを 確認可能にし、正規の流通を保護 • 改ざんできないデジタル鑑定書 ダイヤモンドに関する40項目のメタデータを記録 改ざん不能なブロックチェーンを用いることで、紙の鑑定書 の改ざんや偽造の問題を解決 Copyright © 2022, Oracle and/or its affiliates Everledger社 47
  48. + Certified Origins社 オリーブオイルのトラッキング “当社は、イタリアのボトリング施設から米国の到着港 までのEVOOの出荷を追跡するためにOracle Blockchainを使用しています。 Oracle Blockchain Platformはパートナーのもつ既

    存システムと簡単に統合でき、供給と流通の関係者 間でスマートな契約を作成できるため、運用コストを削 減することができます。“ Andrea Biagianti Chief Information Officer, Certified Origins Italia Srl Copyright © 2022, Oracle and/or its affiliates • オリーブオイルは産地や原材料、品質の偽装が横行 • ブランド勝ちの保護、消費者の保護の観点から トレーサビリティソリューションを開発 • オリーブオイルの生産者のサプライチェーンを、生産、 包装、出荷の各段階で認証 • 品質管理の強化 • 許可された売り手と買い手の確認をセキュアに実行 • 企業、製品への信頼性を向上 48
  49. + Copyright © 2022, Oracle and/or its affiliates • 業界の複雑なサプライチェーンに取り組む

    ブロックチェーンにより、顧客のサプライチェーンの各ス テップで収集されたデータの信頼性を確保 CO2や水使用量、動物の保護など、社会的インパ クトを考慮したサプライチェーン上のKPIを迅速に把 握可能 • Oracle Cloudの利用による迅速な展開 起業からOracle Cloud Infrastructureサービス群 の利用開始までを12ヶ月で完了 データベース管理者不要のADWとATP、 Kubernetesを利用しソリューションを実現 “私たちの顧客は、自分たちの製品がどこから来たのか 理解したいと願っています。私たちが収集したデータが 正しく、誰によっても改ざんされていないことを確証しな ければなりません。” Lukas Puender Co-Founder, Retraced エシカルファッションを実現する Retraced アパレル、フットウェア、ジュエリー等のファッションブランド における持続可能な調達を支援するドイツのスタート アップ企業 Retraced社 49
  50. + Copyright © 2022, Oracle and/or its affiliates ”オラクルのブロックチェーン技術により、当社はサプライ ヤーとの緊密な連携のもと、サプライチェーンの完全なト

    レーサビリティーを確保し、関連するリスクを最小化するた めの次のステップを踏み出すことができます。” Martina Buchhauser Head of Procurement, Volvo Cars エシカル購買対応への取り組み Volvo Cars社におけるコバルトのリサイクル追跡: Circulor社との取り組み https://blogs.oracle.com/blockchain/the-next-generation-of-electric-cars-verified-by-blockchain https://youtu.be/PVp3BlzYDCg • 自動車メーカーとして初の、責任ある資源調達対 応のためのコバルトのトレーサビリティを実装 • 原材料のサプライチェーンの透明性を向上 • コバルトの原産地、重量とサイズ、および製造中 在庫保管責任のデータを保持 • 関係する作業員情報、採掘場、トラックを認証し、 コバルトが、誰がどのようにして採掘され、輸送さ れたのかを把握し、公正な取引を確保 • OECDのサプライチェーンガイドラインに準拠 • Volco Cars、CATL、 Circulorによる、 Oracle Blockchain Platformを利用した実証実 験を2019年に実施 Circulor社 51
  51. Circulor社のさらなる展開: ダイムラー社とのCO2排出量の トラッキング Circulor社のさらなる展開: Volvo社とのCO2排出量の トラッキング 環境会計適用への検討 (Hyperledger SIG) サプライチェーンからのさらなる展開:CO2排出量のトラッキング

    https://www.ledgerinsights.com/volvo-owned-polestar- blockchain-to-track-emissions-circulor/ Hyplerledger ホームページより抜粋 https://www.hyperledger.org/announcements/2020/03/04/hyp erledger-ecosystem-growth -strong-as-members-make-headlines-discuss-production- deployments-at-hyperledger-global-forum-2020 Hyplerledger ホームページより抜粋 https://wiki.hyperledger.org/display/CASIG/Climate+Action+and+Account ing+SIG+Home Copyright © 2021, Oracle and/or its affiliates 52
  52. + Copyright © 2022, Oracle and/or its affiliates • プラスチックの「潮」を転換する

    地中海をリスクに晒しているプラスチック廃棄物の削 減を目指し、市民ボランティア、リサイクル業者、プラ スチック製品メーカーが協力 トレーサビリティと透明性の仕組みにより、より多くの プラスチック廃棄物が地中海から回収され、リサイク ルされるようにする狙い • トレーサビリティと認定バッジ 廃棄物の回収~再生プラスチックの利用までのライ フサイクルをブロックチェーン上に記録し、トレーサビリ ティと透明性を担保 廃棄物からリサイクルされたプラスチックを認証しバッ ジを発行 Keep Sea Blue 再生プラスチックのトレーサビリティにより地中海を救う #RecoveredSeasidePlastic 廃棄物からリサイクルされた プラスチックを利用していることを 認定するデジタルバッジ Keep Sea Blue 53
  53. National Institution for Transforming India Aayog、 Apollo Hospitals、オラクルの取り組み 背景 •

    インド市場全体の10%とも言われる、偽装薬 • 世界の偽装薬の35%はインド(WHO) 課題 • 複雑なサプライチェーン、偽装が起きても分かりづらい • サイロ化されたデータ • トレース可能なラベリングの不在 • 輸送状況の温度、管理状態が重要 課題 • 医薬品の製造から最終消費まで、サプライチェーン全体を ブロックチェーンで完全に追跡 • IoTデバイスにより、輸送中の温度や位置情報も取得 • 偽造薬を検出し、市民を偽造薬の脅威から守る取り組み インドにおけるブロックを用いた薬剤サプライチェーン管理による、偽造薬の撲滅 病院、患者、 薬局、顧客 物流、代理店 原材料+ 製薬会社 Order Flow Order Flow 0 1 2 3 Block Chain 医者 患者 病院 販売代理店 製薬会社 54 Copyright © 2022, Oracle and/or its affiliates 54
  54. Oracle Blockchain helps the Global Shipping Business Network (GSBN) create

    trust among the network “It all comes down to trust and transparency. A peer-to- peer immutable distributed ledger provides near real- time insights. This unprecedented transparency will restore trust in the industry,” Steve Siu CEO, CargoSmart Copyright © 2021, Oracle and/or its affiliates. All rights reserved. 国際海運コンソーシアム GSBNの取り組み • 海運ロジスティクスに関わるプロセスを効率化 • 紙ベースの証書類の管理 →デジタル化/オンライン化 • ロジスティクス業務の幅広いワークフローをカバーし サポート • 大手コンテナ船社、港湾運営会社など8社で 商用稼働を開始 • 参加者で世界のコンテナ数の三分の一を 扱う • Oracle Blockchain Platform、 および他社クラウド上のHyperledger Fabricの 混成ブロックチェーンネットワークを利用 Copyright © 2022, Oracle and/or its affiliates 55
  55. ブロックチェーンを用いた企業間データ連携 COVID-19に関する医療情報の共有、分析プラットフォーム Mipasa • COVID-19のためのデータ分析、データコンソーシアムプラット フォーム。HACERAがWHO、Oracle、IBM、Microsoftなどと 連携して構築。 • WHOや医療関係、研究機関から、COVID-19に関する検証 データを収集、統合、提供、分析可能に

    • Oracle Blockchain Platformを利用し、スマートコントラクト を実行し、グローバルな研究コミュニティが使用するデータを検証 https://blogs.oracle.com/blockchain/oracle-and-hacera-team-up-on-multi-cloud-blockchain-based-mipasa-data-platform-to-strengthen-covid-19-response 56 Copyright © 2022, Oracle and/or its affiliates 56
  56. まずはグループ会社内の会社間取引から 会社間元帳による、会社間取引の照合・突合(リコンサイル) 売掛金 買掛金 売掛金 買掛金 売掛金 買掛金 売買 売買

    注文 ・売掛金のファクタリング、早期 現金化、キャッシュフロー改善 ・グループ会社の売掛金を束ねての ファクタリング、マーケットプレイス化 拡張 ・連結管理業務における会社間 取引の照合と突合業務 ✓ 決算とレポーティングの早期化 ✓ 単一情報源により照合コストを削減 ✓ グローバル会社間契約業務の強化 57 57 Copyright © 2022, Oracle and/or its affiliates
  57. ブロックチェーン技術を応用した、行政文章の情報公開に係る実証実験 熊本市 様 実証実験の範囲と公開文書へのブロックチェーン応用イメージ ブロックチェーン技術を応用し、開示可能な行政文 書をインターネット上に安全かつ透明性の高い情報 として公開し、二次利用等の 促進につなげるための実証実験 • 文章のハッシュ値、閲覧履歴、更新履歴を

    ブロックチェーンに登録 • ハッシュ値の突き合わせにより、文章の改ざん有無を確認 • 期待される効果 • 行政文章公開プロセスの業務負荷低減 • Web上での開示請求、閲覧の利便性向上 • 改ざんなどの不正の抑止 • 行政文章の透明性が高まり、信頼度向上と 二次利用促進 • 日本オラクルと協働しながら実用化に向けた検証を実施 詳細ドキュメントより抜粋 https://go.oracle.com/LP=99119 58 58 Copyright © 2022, Oracle and/or its affiliates
  58. 過疎地域の活性化を目指すISOU PROJECT、地域通貨の流通基盤としてオラクルのブロックチェーンを採用 ISOU PROJECT 地域通貨流通から地域間連携までを視野に入れ た柔軟かつ安全な地域通貨プラットフォームをブ ロックチェーン技術で実現 • ISOU PROJECT推進協議会は、株式会社INDETAIL、TIS

    株式会社の2社が事務局を運営し、日本オラクルをはじめとする8 社の賛同企業が参画 • 地域課題への取り組みとして、電気自動車や再生エネルギー、さ らにはブロックチェーン技術を用いた次世代交通システムおよびエネ ルギープラットフォームの実現により、新たな移動手段の提供や地 域の活性化、エコ社会の実現を目指す • 用途を限定した地域通貨を発行し、再生エネルギーを燃料とする EV車両へ乗車や地域内施設利用に地域通貨を利用することが 想定 • 2019年8月、北海道檜山郡厚沢部町で実証実験を実施 Oracle Blockchain Platform Cloudを利用 2019/7/23 日本オラクル プレスリリースより抜粋 https://www.oracle.com/jp/corporate/pressrelease/jp20190723.html 59 59 Copyright © 2022, Oracle and/or its affiliates
  59. 事業創出に向けた社員の意識改革およびビジネス・クリエーション文化を醸成するために、 独自トークンを用いたゲーミフィケーション基盤を構築 TIS様の新たな取り組み • 社員の意識改革や文化醸成につながるさまざまな行動に対 してトークンが付与される仕組みを構築 ✓ ビジネス・プレゼン大会での施策企画 ✓ チーム内への新たな働きかけ

    ✓ 新サービスのアイデア投稿など • モチベーションの向上と意識改革の加速 につなげることを目的 • Oracle Autonomous Database、 Oracle Blockchain Platform、 Oracle APEXで構築 2019/8/1 日本オラクル プレスリリースより抜粋 https://www.oracle.com/jp/corporate/pressrelease/jp20190801-1.html 60 60 Copyright © 2022, Oracle and/or its affiliates
  60. ◼ テレワーク等で優先度の高い課題である社内コミュニケーション活性化するため コミュニケーションプラットフォーム「NikuQ」を開発 ◼ 言葉に表現しにくい日頃の”小さな感謝を見える化”し,部門間や事業所間をこえた コミュニケーションを推進するあたたかいチームづくりを実現 ◼ 自社内での採用とその効果を元に外販サービスとして展開を決定。社内の情報を 安全に管理可能な高セキュリティ機能があり,初期投資の最小化と安定した運用が 可能のため,将来に向けたサービス拡張も容易なクラウドサービスを選定

    お客様のニーズとビジネス課題 ◼ Oracle Blockchain Platform Cloud Service ◼ Oracle Database Cloud Service ◼ Oracle Cloud Infrastructure ( Compute, Storage, Network) ◼ 事前構築済のフルマネージド・サービスでブロックチェーン基盤の構築や運用が 容易であり(自社導入した結果、70%の工数削減)、データベースとの標準連携 機能や分析アプリケーションとの迅速に連携可能な点を評価して「Oracle Blockchain Platform Cloud」を採用 ◼ セキュリティ・ファーストで設計された高セキュリティな機能が備わると同時に、 事前の自社内での採用と実運用により初期投資と運用コストの最小化と、安定し た運用が可能である点が裏付けされ、Oracle Cloudを選定 Service on Oracle Cloud 事例 株式会社システムエグゼ ”小さな感謝を見える化”することで、社内コミュニケーションの活性化を促進する 新サービス「nikuQ」を新規開発 ◆ 設立 1998年2月 ◆ 従業員数 633名 ※2020年4月時点 ◆ 主な事業内容 データベース分野をはじめとして、お客様課題を解決に導くデータベース関連製品、基幹業務パッケージ、ソリューションサー ビスの開発・提供をしている www.system-exe.co.jp/ 社内コミュニケーション 情報共有ソリューション システムエグゼがOracle Cloudを選んだ理由 Why Oracle Cloud:Oracle Cloudを選んだ理由 採用したクラウド・サービス 【既存ビジネス】 SI、パッケージ、 ソリューションサービス 【新規ビジネス】 SaaSサービス 新たなビジネスの確立と拡大 お客様の声 システムエグゼではこれまでもOracle Cloudを活用し、お客様のイノベーショ ンとビジネス変革を推進してきました。今回のビジネスの展開にあたり、 Oracle Cloudのもつ高いセキュリティ機能、新たなSaaSビジネスをスモールス タートから実現可能とする柔軟性と、安定した運用実績を高く評価しておりま す。また、Oracle Blockchain Platform Cloudは構築、運用の容易性のみなら ず、DB連携といったエンタープライズ活用で求められる機能を有したフルマ ネージドなブロックチェーンサービスであり、今後柔軟なビジネス展開ができ る点を評価し、採用しています。コストパフォーマンスも高く、セキュアな Oracle Cloudにより、より付加価値の高いサービスを提供できると考えており ます。 株式会社システムエグゼ データソリューション部 橋本健司氏 フルマネージドな ブロックチェーンクラウド セキュリティ・ファーストで 設計された 高セキュリティ・クラウド 初期投資と運用コストの最小化、 安定した運用実績 ORACLE CLOUD INFRASTRUCTURE (Tokyo REGION) Availability Domain Object Storage Client WAF Database Cloud Service (Standard) Block Chain Cloud Service Oracle Cloud Compute 61 61 Copyright © 2022, Oracle and/or its affiliates
  61. ◼ 5Gに伴うIoTサービスの増加に対応するため、あらゆる「モノ=IoT」の安全な相 互通信を目指した新PKI技術によりIoTのシステムモデルに最適なセキュリティを 実現するkusabi™を用いた「IoTセキュリティ基盤サービス」を他社クラウド上で 提供してきたが、新しくSaaSビジネスを立ち上げることによってビジネスの幅を 広げるために最適なプラットフォームの検討を行った お客様の声 Oracle Blockchain Platform

    Cloudは、エンタープライズ活用で求められる機能 を有したフルマネージドなブロックチェーンサービスであり、今後kusabi™を 用いたセキュアなIoTサービスのSaaSビジネスを展開するにあたり、柔軟なビ ジネス展開ができることを評価し、採用しました。またOracle Cloud全体でコ ストパフォーマンスも高く、フルマネージドなサービスも豊富にあり、構築の みならず運用保守も効率化が見込まれます。 『Oracle ISV Cloud Program』に より、迅速なビジネス展開ができたことも高く評価しております。 アイビーシー株式会社 執行役員 IoTセキュリティ事業部 事業部長 田嶋 健 氏 お客様のニーズとビジネス課題 ◼ Oracle Blockchain Platform Cloud ◼ Oracle Cloud Infrastructure ( Compute, Storage, Network) ◼ GUIの画面で完結するフルマネージドなブロックチェーンクラウドであり、 kusabi™の稼働する基盤として、容易な環境構築と機能拡張、運用保守の最適化を 実現 ◼ REST API連携、 State DBとしてBerkeley DB利用など、エンタープライズ活用で 求められるブロックチェーン要件を実現する機能を要しており、耐障害性・可用性 を満たしながらも、ニーズに応じた機能拡張や、柔軟なビジネス展開が可能 ◼ 既存パッケージサービスをSaaSサービスとして提供するためのビジネス支援を行う 『Oracle ISV Cloud Program』の活用により、サービス検証や初期構築の迅速化と 効率化が実現 Service on Oracle Cloud 事例 アイビーシー株式会社 Oracle Cloudを使った「IoTセキュリティ基盤サービス」の新規ビジネスを実現 エンタープライズ活用向け ブロックチェーンクラウド フルマネージドな ブロックチェーンクラウド SaaSサービスの 新ビジネス立ち上げ支援 ◆ 設立 1996年7月 ◆ 従業員数 75 名 ※2019年10月時点 ◆ 主な事業内容 「ネットワークシステム性能監視ツール」や「IoTセキュリティサービス」の開発・販売・コンサル支援を行っている企業 www.ibc21.co.jp/company/outline.html IoTセキュリティ ソリューション アイビーシーがkusabi™ のSaaSサービス化にOracle Cloudを選んだ理由 【既存ビジネス】 パッケージサービス 【新規ビジネス】 SaaSサービス kusabi™ アプリケーションと 稼働するクラウドを別々に ご契約いただくビジネスモデル 限られた技術者リソースで SaaSサービスの構築が可能であり新た なビジネスチャンネルの拡大 Why Oracle Cloud:Oracle Cloudを選んだ理由 採用したクラウド・サービス 62 62 Copyright © 2022, Oracle and/or its affiliates
  62. Copyright © 2022, Oracle and/or its affiliates Oracle Database Blockchain

    Table概要 63 63
  63. 耐改ざん性を追加、監査性を強化した特別なデータベース・テーブル データベース上のレコードに耐改ざん性と監査性を付与 • 追記オンリーの不変なデータ…テーブル所有者も特権ユーザも改ざん不能 • ハッシュチェーンで行をリンク…整合性の検証、改ざんされていないことの証明が可能 Oracle Databaseの一部として高度で多彩な機能とともに容易に利用可能 • 他のテーブルと組み合わせたトランザクション

    • 容易にデータ統合、多様なBIツールを用いての分析 • データベーストリガー、PL/SQLプログラムを利用したロジック表現 • レプリケーション、バックアップなどの耐障害性/高可用性機能、 アクセスコントロールなどのセキュリティ保護機能も併用可能 ※19cではRU19.11アップデートを適用することで利用可能に。 データベースの基本機能として含まれており追加ライセンスは不要(SE2でも利用可能)。 Blockchain Table:Oracle Database 21c&19cで利用可能(※) 64 64 Copyright © 2022, Oracle and/or its affiliates
  64. 追記オンリーのテーブルで、イミュータブル/不変なデータを保持 • 行のDELETEの制約(前述の通りn日~無制限の保持期間を設定可能) • データ量を削減したい場合、適切な保持期間を設定しておいたうえで、 保持期間を過ぎた行を整合性を検証した上で(必要に応じて外部にアーカイブしつつ)削除する • 保持期間を過ぎた行の一括削除用PL/SQLパッケージファンクション DBMS_BLOCKCHAIN_TABLE.delete_expired_rows() •

    行のUPDATEとMERGEが不可 • テーブルのDROPの制約(前述の通りn日~無制限の保護期間を設定可能) • テーブルDROPは行のINSERT前なら常に可能(誤ってテーブル作成した場合すぐなら消せる) • テーブルのTRUNCATEが不可 • カラムの追加、削除および名前変更が不可 • データ型の変更や一部の長さ、精度の変更、NULL制約変更も不可 • Blockchain Tableの通常のテーブルへの変換、およびその逆の変換は不可 • パーティションのDROPが不可 Blockchain Tableの特性①:データの削除、変更を制約 65 65 Copyright © 2022, Oracle and/or its affiliates
  65. ハッシュ値によるデータの検証可能性により、テーブルの中で完結した監査性を提供 Blockchain Tableの特性②:ハッシュチェーン • 行の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 [email protected] DHD3 *EGG AH11 LIO$ SHS4 66 66 Copyright © 2022, Oracle and/or its affiliates
  66. ブロックチェーン/DLT基盤や専用データベースと比較して…… 利用のハードルが低い • 一般的なOracle Databaseのスキルで十分使いこなせるため、学習コストが低い • 通常のテーブルとの使い勝手の差異が小さく、アプリケーション透過的な利用が可能 • 通常テーブルからの乗り換えに必要な改修はゼロ~最小限 アプリケーション側の負担が小さい

    • 通常の構造化データやJSON、BLOB(画像やドキュメントファイル)、CLOBなど多様な形式のデータを Blockchain Table上で扱えるため、複数のデータストアを使い分ける必要がない • 同一DB上で通常のテーブルとBlockchain Tableを扱えるためトランザクション、整合性担保が容易 データ分析、データ統合が容易 • Blockchain Table上でそのまま集計、分析が可能 • 他テーブル上のデータとのJOINやVIEW、多様なデータ統合ツールやBIツールも利用可能 処理性能 • Oracle Databaseの様々な処理性能向上手段を適用可能(例:Exadataを利用) Oracle Databaseの1テーブルとして使えることのメリット 67 67 Copyright © 2022, Oracle and/or its affiliates
  67. アプリケーションの負担を減らし、分析のための余分な手間も削減 単一用途データベース vs Oracle Database App BI DIツール イミュータブル データ専用DB

    (又はブロックチェーン/DLT) 通常データ用 DB トランザクション トランザクション 複製 複製 分析 分析用 DB 整合性担保は アプリの責任 単一用途データベースの場合 Oracle Databaseの場合 App BI 分析のための データ統合に 余分な手間 トランザクション Oracle Database 分析 DB機能で 整合性担保 同一DB上で 容易に分析 68 68 Copyright © 2022, Oracle and/or its affiliates
  68. CREATE BLOCKCHAIN TABLE + 3つの必須句 Blockchain Tableの作成 Copyright © 2022,

    Oracle and/or its affiliates 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を増やすことも不能。 利用するハッシュアルゴリズムとデータフォーマットを記述する句。現状、値は固定。 69
  69. シンプルなCREATE BLOCKCHAIN TABLEの例 Copyright © 2022, Oracle and/or its affiliates

    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できない 70
  70. App Database • 書き込んだBlockchain Table上の行データに対し、エンドユーザー が自身の秘密鍵を用いて生成したデジタル署名を付与可能 • 秘密鍵は(DBには引き渡さず)アプリケーション側で保持し、 署名の生成もDB外で実行 •

    エンドユーザーのデジタル証明書はDBに事前に登録 • 証明書に照らして署名が有効かチェックされる • 署名と併せて証明書IDも行に格納 • 「誰が書き込んだか」を確実に区別、記録することでセキュリティを 向上し、否認防止にも利用可能 • さらに応用編として、書き込まれた行内容および署名に対して DB側の秘密鍵を用いて署名(Countersign、副署)した結 果を受領証としてアプリケーションに返却することで、書き込み 成功の確実性の担保および双方向の否認防止が可能 エンドユーザーによるデータへのデジタル署名(オプショナル) Copyright © 2022, Oracle and/or its affiliates CertID GRTE SOQP OPRT ID User Value 1 Tom 500 2 Carol 176 3 Wang 500 TRADE LEDGER Signature RT#E GI(! HV*P 行内容 ハッシュ 署名& 証明書ID 行内容 ハッシュ ①書き込み ②署名 ③副署 受領証 71
  71. Blockchain Table: 主なユースケース Copyright © 2022, Oracle and/or its affiliates

    内外からの攻撃に対してデータを保護 ・勘定系システム、決済系システムなどのトランザクションログ ・証券や各種アセットの所有権を管理する原簿 セキュリティ上重要な記録の保存 ・アプリケーションのアクセスログや監査ログ ・高セキュリティエリアへの入退室記録 種々の認定、証明のエビデンス、法律上確実な保存が要求される情報 ・従業員の出退勤記録、企業の会計、財務のデータ ・見積、契約、請求や支払のやり取りに係るドキュメント ・原産地証明、検査証、品質認証、RE100証明、CO2排出量証明など 72
  72. 情報の真正性の担保=確実な保管と監査、証明を大幅にシンプル化 Blockchain Tableを用いることで… 情報の 確実な保管 監査と証明 認証設計、アクセス制御、監査ログ、etc... 様々な情報を収集し、突き合わせて整合性を確認 複雑で手間のかかる監査プロセス データベースに情報を保存しつつ、

    耐改ざん性のために紙原本や別媒体での記録 →記録、保管に余分なコスト Blockchain Tableに保存し、 データ活用の利便性と耐改ざん性を両立 Blockchain Tableで完結した検証可能性により 監査、証明が容易 73 73 Copyright © 2022, Oracle and/or its affiliates
  73. Blockchain Tableのご利用事例 GDPR関連データへのアクセスなど、 銀行の法的に重要な業務について のレポートおよび監査ログを Blockchain Tableに保存 管理ワークフロー(申請、確認、 データ暗号化)の法的な記録を高 い監査性で保持できるように

    コーポレート・ガバナンスに係るワークフ ローの作業をBlockchain Tableに記 録して追跡可能にすることで、信頼性、 不変性を担保し、また、証書を発行 ドキュメントへのデジタル印の生成を可 能に: • ドキュメントの初版 • ドキュメントのレビュー • 承認ワークフロー 等 匿名化された(ある距離内/持続時間 以上の)接触の記録をBlockchain Tableに保管 アプリユーザーがCOVID19陽性となった 場合には、X-RINGのボタンを押すことで、 濃厚接触した可能性があるすべてのユー ザーに警告通知を送ることができる スマートコンプライアンス 法律×テクノロジー 接触追跡ソリューション 74 74 Copyright © 2022, Oracle and/or its affiliates
  74. 【Blockchain Table検証事例】 PwC様:アンカリングによる証拠データの信頼性担保 クライアントのeディスカバリー業務(電子証拠開示)を支援されているPwC様において、Oracle Blockchain Tableとパブリック チェーンを組み合わせ、第三者視点で証拠データの信頼性を担保する検証を実施いただきました。 Copyright © 2022,

    Oracle and/or its affiliates eディスカバリーの業務ステップ Webアプリを使用した検証 業務上の要求事項/課題 アーキテクチャ概要 収集 レビュー/分析 提出/報告 証拠性を保持しつつ データを受領 データ分析で検知した 不正をレビュー レビュー結果を文書に 整理・報告 ✓Oracle Blockchain Tableとパブリックチェーンの組み合わせ ✓Forensic業務以外でも信頼性担保を要求する業務に適用可能 ・証拠データは収集から分析、報告、破棄に至るまで トレース出来る必要がある ・プロジェクトの実施内容について、データが改ざんされていないことを 証明する必要がある ・従来はExcel資料や紙媒体で管理していたが、手作業を 排除し アプリで一元管理することで業務品質を高めたい ✓Oracle Cloudを用いてPwCインドとWebアプリを構築 ✓証拠データとクライアント署名を紐づけブロックチェーン上で管理 ✓デバイスに張り付ける QRコードも自動生成 証拠データの ハッシュ値を に保存 テーブルの ダイジェスト値 を保存 Oracle Database Cloud Service Blockchain Table パブリック ブロックチェーン 証拠データ 75
  75. 文書の内容および履歴をBlockchain Tableで保持することで、真正性を担保し監査性も向上 Blockchain TableはOracle Databaseのテーブルなので: • ドキュメントファイルそのものを登録可能 (WORD、EXCEL、PDF、画像形式など) • 登録したドキュメントの中身の文章も検索可能

    (Oracle Textによる全文検索) 文書に付随する履歴も併せて保存可能: • 修正、更新に伴う複数のバージョンを保存 • 申請~承認のようなワークフローの操作履歴を保存 監査も容易に: • 保存されて以降不変な内容、登録日時、履歴をチェック • 整合性検証機能を利用することで改ざんされていないことを容易に 確認、証明可能 Blockchain Table応用例: 文書の確実な保存とその証明 Copyright © 2022, Oracle and/or its affiliates A部門 B部門 C部門 作成 更新 承認 監査 履歴 情報 文書 内容 76
  76. 電子取引保存およびスキャナ保存の要件を満たしたシステムを短期間、低コストでシンプルに構築 電子取引保存 • 真実性の要件:Blockchain Tableの耐改ざん性を活かし、記録事項の訂 正・削除をできないようにする、あるいは訂正・削除の履歴を確実に保存し 確認可能に • 可視性の要件:検索機能も容易に実装可能 スキャナ保存

    • 「電磁的記録について訂正又は削除を行った場合に、これらの事実及び内 容を確認することができる」 「入力期間内にその電磁的記録の保存を行ったことを確認することができる」 の条件を満たすシステムを開発することで、原本保存を廃止(ペーパーレ ス)&タイムスタンプサービスを利用したタイムスタンプ付与が不要に 既存ERPの補助システムとして開発・利用 • 上記について必要となる範囲でピンポイントに実装し、監査を含めた追加・変 更オペレーションも最小限に • データベースに含まれるOracle APEX機能を活用することで、UIも簡易に開 発・運用が可能 Blockchain Table応用例: 改正電子帳簿保存法への対応に活用 Copyright © 2022, Oracle and/or its affiliates スキャナ保存 電子取引 ERP Blockchain Tableにも保存 APEX 77 77
  77. 品質情報に関わる内部の不正を防止し、真正性を証明 Blockchain Table応用例: 品質検査結果データへの耐改ざん性付与および外部証明 検査装置 2.データの分析、検索 1.検査結果ファイル、ファイルのハッシュ、検査値を、 耐改ざん性の高いBlockchain Tableに登録 5.

    外部に開示したドキュメントの真正性を 証明するためには、別途の仕組みの検討が必要 例)ハッシュ値をブロックチェーン上で共有 4.品質証明書を取引先に開示 取引先 3.品質証明書を作成、 Blockchain Tableに登録 78 78 Copyright © 2022, Oracle and/or its affiliates
  78. 求められる「データの正当性」、「詳細かつリアルタイムでの可視化」、「データドリブンなアクションと経営判断」 Blockchain Table応用例: ESGや脱炭素社会への取り組みの信頼できるデータ基盤に利用 CO2排出量DB 可視化 予測 アクション CO2排出量DB CO2排出量、品質検査/品質認証、RE100証明、原産地証明

    などへの展開 1.自社の稼働実績に基づいた CO2排出量を算出、集約、 可視化、改善アクションへ 2.SCOPE3を見据えた、複数企業間で の正確詳細なCO2排出量の可視化 4.LCAでの排出量正当性、 新たなビジネス創出のための 領域拡大、取引市場へ 3.CO2排出量の正当性証明のため 取引先、投資家、監査機関へ共有 自社 他社 取引先、投資家、 監査機関 79 Copyright © 2022, Oracle and/or its affiliates
  79. • すぐに、簡単に使える • 耐改ざん性と監査性の課題をシンプルに、最低限のコストだけで解決 • アプリケーションの改修はゼロ~最小限、学習コストも極小 • ピンポイントソリューション • 他の箇所に影響を与えることなく、データベースの一部分、アプリケーションの一部分のみにセキュリティ

    向上を適用可能 • 参照、分析、データ統合、BIツール等は通常テーブルと同様にそのまま使える • どこでも利用可能 • クラウドでもオンプレミスでも利用可能 • 追加ライセンス不要:データベースのすべてのエディションで利用可能 Blockchain Tableまとめ 80 80 Copyright © 2022, Oracle and/or its affiliates
  80. DB管理者職務分掌 /アクセスパス制限 (Database Vault) 内部犯行や悪意ある操作によるデータ抽出、破壊、改竄を保護 知財・機密情報、個人情報を守るデータベースセキュリティソリューション ユー ザー データベー ス

    管理者 イベント DF11233 U*1 $5Ha1qui %H1 HSKQ112 A14 FASqw34 £$1 [email protected]£!1ah HH! データの暗号化 (Transparent Data Encryption) 行列レベルのアクセス制御 (Virtual Private DB, Real Application Security) 不正検知・証跡管理 (Audit Vault and Database Firewall) 通信暗号化 (標準機能) レポー ト アラート ポリシー 開発 データの伏字化 (Data Masking and Subsetting) 多要素認証 (Identity CS) 改ざん対策 (Blockchain Table) セキュリティアセスメント、監査・ 検知の可視化・自動化 (Data Safe CS) 81 81 Copyright © 2022, Oracle and/or its affiliates
  81. Q. データが削除不能なら容量がずっと積み上がり続け るのでは?不要になっても消せない? A. 古いデータを破棄できるようにする設定も可能です。 ・行レベル:登録後、指定の日数過ぎた行は削除が可 能になる ・テーブルレベル:指定の日数新たなデータが登録されな い場合、テーブルの削除が可能になる いずれのレベルの設定もテーブル作成時に定義します。

    作成以降は設定を緩められない点に注意ください。 Q. バックアップやリストアはできる? A. バックアップ、リストアも可能です。 ただし、Flashback Tableや19cでのDatapumpを利用 した論理バックアップ/リストアなど、耐改ざん性の担保の 仕様上、一部のツールには制約があります。 Q. インデックスやトリガー、通常のテーブルと組み合わせ たJOIN、VIEWやトランザクションは使用できる? A. 使用可能です。 Q. 利用できるデータ型は? A. 通常のテーブルで利用可能なほとんどのデータ型が 利用可能です。一部(LONG、TIMESTAMP WITH TIME ZONEやBFILE等)のデータ型のみ利用できませ ん。 Q. 削除、更新不可の他に制約はある? A. シャーディング、分散トランザクションなど一部のデー タベース機能の利用に制約があります。 21cの公式ドキュメント、19cの公式ドキュメントそれぞれ の制約の箇所を確認ください。 Blockchain TableのFAQ Copyright © 2022, Oracle and/or its affiliates 82 82
  82. テーブル作成時に”Immutable”キーワードを追加するだけでインサート オンリーの不変なテーブルを作成 • リレーショナルデータ、JSONやLOBドキュメントも格納可能 • 帳簿データだけでなく参照情報もテーブルに保管 通常のテーブルと同様に利用が可能だが、以下の操作には制約: • 行のUPDATEとDELETE •

    テーブル定義の変更 • Immutable Tableの通常のテーブルへの変換、およびその逆 • データベースディクショナリでテーブルメタデータの修正 アプリケーションに変更を加えることなくImmutable Tableを利用可能 Oracle Immutable Table CREATE IMMUTABLE TABLE trade_ledger (…); ID User Value 1 Tom 500 2 Carol 176 3 Wang 500 4 Eve 25 TRADE LEDGER データベース19.11, 21.3で利用可能 83 83 Copyright © 2022, Oracle and/or its affiliates
  83. Appendix Blockchain 関連情報 84 84 Copyright © 2022, Oracle and/or

    its affiliates
  84. • エンタープライズ領域でのブロックチェーン活用の、実際の事例での苦労話や 技術ノウハウなどを共有できるコミュニティ • 企業の枠組みを超えたオープンな知識、ノウハウ共有が目的 • 資料、動画も公開済(こちら) • CONNPASSで “Oracle

    Code Night”グループに登録を! Blockchain GIGの紹介 85 85 Copyright © 2022, Oracle and/or its affiliates
  85. オラクルのブロックチェーンへの取り組み、ブロックチェーン概要ご紹介 Oracle Blockchain Platform 関連情報 ブロックチェーンと Oracle Blockchain Platform Cloud

    Serviceのご紹介 https://youtu.be/efUTDWxEMkU Oracleのブロックチェーンへの取り組み https://youtu.be/HZ0Si8Xcz_8 86 86 Copyright © 2022, Oracle and/or its affiliates
  86. • Oracle Blockchain Platform Cloud Serviceサイト、ドキュメント、事例 https://www.oracle.com/jp/application-development/cloud-services/blockchain-platform/ • Oracle Blockchain

    Platform Enterprise Edition サイト、ドキュメント https://www.oracle.com/database/technologies/blockchain-platform-enterprise-edition.html • Oracle Blockchain Platformの日本語チュートリアル https://oracle-japan.github.io/ocitutorials/blockchain/ • Oracle Blockchain Platform Cloud Service デモンストレーション動画 Oracle Blockchain Platform 関連技術情報 87 Oracle Blockchain Platform Cloud Service の概要紹介(日本語字幕) https://youtu.be/wDrYM9ecYz4 Oracle Blockchain Platform Cloud Service の一連のデモ、実際の利用方法(日本語) https://youtu.be/IuUrqBQ2bXY 87 Copyright © 2022, Oracle and/or its affiliates
  87. Blockchain GIG#9 今度こそわかる!Hyperledger Fabric 入門 • コンポーネント、ネットワーク構造、トランザクション、そしてそれらを貫く設計思想などの基本 • 資料:https://speakerdeck.com/gakumura/blockchain-gig-number-9-hyperledger-fabric-zai-ru-men •

    動画:https://youtu.be/nHEU29zRKdc Blockchain GIG#10 使いこなす!実践 Hyperledger Fabric • システムを開発していくうえでの設計の進め方、デザインパターン、重要Tips • 資料: https://speakerdeck.com/gakumura/blockchain-gig-number-10-shi-jian-hyperledger-fabric • 動画: https://www.youtube.com/watch?v=pyOEsGt7lvw Blockchain GIG#11 開発!Hyperledger FabricアプリとChaincode!! • Hyperledger Fabricを利用するアプリケーションとChaincode(スマートコントラクト)の設計と実装 • 資料: https://speakerdeck.com/gakumura/developing-hyperledger-fabric-application-and-chaincode • 動画: https://www.youtube.com/watch?v=uqjgq-WCp18 Hyperledger Fabric関連 ご参考技術資料 88 88 Copyright © 2022, Oracle and/or its affiliates
  88. Blockchain Table 関連情報 89 ブロックチェーンから生まれた技術で、データの耐改ざん性を高めるメリットとは?(2021/4/8実施) 内部不正対応、監査対応、法律規制対応、品質検査対応、脱炭素対応、企業内には様々な目的のために、「耐改ざん性が必要」 なデータが存在します。もちろん、すでに様々なセキュリティ対応を実施されていらっしゃる方が多いと思いますが、それでもなお、改ざんさ れるリスクにさらされたデータが存在しているのが実情ではないでしょうか。 そのような高まる耐改ざん性へのニーズにシンプルに対応するため、オラクルはブロックチェーンの思想からうまれた技術を、Blockchain Tableとしてデータベースに実装し、様々なデータの耐改ざん性と証跡性を、シンプルかつ容易に実現可能としています。

    本セミナーではそのBlockchain Tableについて、その生まれた背景をユースケースやデモをまじえてご紹介します。 動画 https://go.oracle.com/LP=96105#On-Demand-Webinars-2 資料 https://www.slideshare.net/oracle4engineer/oracle-blockchain- tableoracle-cloud-202148 89 Copyright © 2022, Oracle and/or its affiliates
  89. • 【公式ブログ】Blockchain TableによるOracle Databaseのコンバージドデータベースの拡張 • Blockchain Tableの技術的な特長およびユースケースの紹介記事 https://blogs.oracle.com/oracle4engineer/blockchain-table • 【公式ドキュメント】

    Oracle Database 21cドキュメント • https://docs.oracle.com/en/database/oracle/oracle-database/21/admin/managing-tables.html#GUID-43470B0C-DE4A- 4640-9278-B066901C3926 • https://docs.oracle.com/en/database/oracle/oracle-database/21/nfcon/details-oracle-blockchain-table-282449857.html • 【イベントスライド】 Oracle Databaseの新機能 Blockchain Tableのご紹介 • https://speakerdeck.com/gakumura/oracle-databasefalsexin-ji-neng-blockchain-tablefalsegoshao-jie • 【イベントスライド】 2021/3/17 BlockchainGIG Exhibition • 動画 https://www.youtube.com/watch?v=6ZNLZj-os5Y • 改ざん不能データベース登場の背景とOracle Blockchain Platformのご紹介 https://speakerdeck.com/gakumura/gai-zanbu-neng-detabesudeng-chang-falsebei-jing-to-oracle-blockchain- platformfalsegoshao-jie • Blockchain GIG Exhibition Blockchain Tableセッション資料 https://www.slideshare.net/oracle4engineer/20210317-blockchain-gig-exhibition-blockchain-table Blockchain Table 関連技術情報 90 90 Copyright © 2022, Oracle and/or its affiliates
  90. • 【ご参考ブログ】Oracle CloudでOracle Database 20c(プレビュー)のBlockchain Tableを使ってみた話 • Blockchain Tableを作成し、基本的な操作をテスト https://bit.ly/34lFSQr

    • 【ご参考ブログ】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にドキュメントのPDFファイルを保存してOracle Textで全文検索してみた • https://gakumura.hatenablog.com/entry/how-to-store-files-into-blob-and-use-oracletext-on-blockchain- tables • 【ご参考ブログ】 OracleDBにブロックチェーン?21c新機能Blockchain Tableとは (アシスト様ブログ、Oracle Database 19c Release Update 19.10への実装) • https://www.ashisuto.co.jp/db_blog/article/oracle-blockchain-table.html Blockchain Tableについての参考Webサイト 91 91 Copyright © 2022, Oracle and/or its affiliates
  91. Appendix Oracle Cloud Free Tierを使った、Blockchain Tableのテスト 92 92 Copyright ©

    2022, Oracle and/or its affiliates
  92. Oracle Cloud Free Tier: Free TrialとAlways Free Copyright © 2022,

    Oracle and/or its affiliates Oracle Cloudにサインナップいただくと、両方が利用可能です • https://www.oracle.com/jp/cloud/free/ Free Trial 30日間 300ドル フリー・クレジット + Always Free 時間制限なく 特定サービスを利用可能 93
  93. Oracle Cloudでは以下いずれかのサービスのOracleデータベース上で Blockchain Tableの利用が可能です: • Autonomous Database • フルマネージド型のデータベース •

    ワークロードごとに以下のタイプを選択: • Autonomous Data Warehouse:分析ワークロード、データウェアハウス • Autonomous Transaction Processing:オンライントランザクション処理 • Database Cloud Service • カスタマーマネージド型のデータベース Oracle Cloud Free TierでBlockchain Tableを試用する方法 Copyright © 2022, Oracle and/or its affiliates 94
  94. • 19cバージョンあるいは21cバージョンを選択して構築したAutonomous DatabaseでBlockchain Table の利用が可能です • Autonomous Databaseの21cバージョンを利用する際の制約: • 現状、21cバージョンを選択して構築するには以下の制約があります

    • ①Always Free枠で構築するAutonomous Databaseに限定(有償枠では21cが選べない) • ②Ashburn、Phoenixなどのいくつかのリージョンに限定 • 上記の制約を満たすためには、Free Trial環境としてクラウドテナントをサインアップする際に選択する ホームリージョン(Home Region)を②に含まれるリージョンにしておく必要があります • 理由:Always Free枠でのサービスの利用はホームリージョン内に限られる、また、サインアップ以降ホームリー ジョンの変更ができないため • 以上から、Ashburnをホームリージョンとして指定することを推奨します Autonomous DatabaseでのBlockchain Table試用(2022年11月時点) Copyright © 2022, Oracle and/or its affiliates 95
  95. • データベースバージョンの制約:以下いずれかでBlockchain Tableを利用可能です • 21cバージョンを選択して構築したDatabase Cloud Service • 19cバージョン(RU19.11以降)を選択して構築し、適用したDatabase Cloud

    Service • サービスの制約:Database Cloud ServiceはAlways Free枠で提供されていないため、Free Trialクレ ジット範囲内での使用が必要です • Database Cloud Serviceを試用する場合は、リージョンの制約はありません Database Cloud ServiceでのBlockchain Table試用(2022年11月時点) Copyright © 2022, Oracle and/or its affiliates 96
  96. 通常のテーブルと異なる点及び通常のテーブルと同様な点を体験 Oracle Blockchain Tableの基本機能(変更/削 除不可、隠しカラム、ハッシュ値の生成、通常の SQL操作)を確認 • ユーザー情報、操作情報(マスター情報)を通常の テーブルで作成 •

    書き換え、削除のできないログテーブルをBlockchain Tableを使って作成 • UPDATE, DELETE, TRUNCATE, DROP不可確認 • 通常のテーブルとBlockchain Tableの同一トランザク ション(COMMIT, ROLLBACK)の確認 • ログテーブル、ユーザーテーブル、操作テーブルを結合 し、監査ログViewを作成 スキーマ図 サンプルSQLスクリプト: Blockchain Tableの基本 Copyright © 2022, Oracle and/or its affiliates LOGS (Blockchain Table) USERS (Table) OPERATIONS (Table) AUDIT_LOGS (View) システムの操作ログを記録 Blockchain Tableで作 成 操作内容が記録される 操作マスターテーブル ユーザー情報が記録される ユーザーマスターテーブル LOGS、OPERATIONS、 USERS 3表をJOINした 監査ログVIEW 97
  97. Copyright © 2022, Oracle and/or its affiliates -- exhibition スキーマ

    -- システムの操作内容が記録される通常のテーブルを作成(操作マスター) CREATE TABLE operations ( operation_id number(10) PRIMARY KEY, operation_name varchar2(50) NOT NULL UNIQUE ); -- ユーザーの情報が記録される通常のテーブルを作成(ユーザーマスター) CREATE TABLE users ( user_id number(10) PRIMARY KEY, user_name varchar2(30) NOT NULL UNIQUE, last_name varchar2(30) NOT NULL, first_name varchar2(30) NOT NULL, mail varchar2(60) NOT NULL ); -- システムのログを記録するBlockchain Tableを作成 CREATE BLOCKCHAIN TABLE logs ( log_id number(30) PRIMARY KEY, user_id number(10) NOT NULL, operation_id number(10) NOT NULL, error number(10), ip_address varchar2(20), log_stamp timestamp DEFAULT systimestamp NOT NULL, CONSTRAINT user_id_fk FOREIGN KEY(user_id) REFERENCES users(user_id), -- ユーザーIDに対して外部キーを指定 CONSTRAINT operation_id_fk FOREIGN KEY(operation_id) REFERENCES operations(operation_id) -- 操作IDに対して外部キーを指定 ) NO DROP NO DELETE UNTIL 365 DAYS AFTER INSERT HASHING USING "SHA2_512" VERSION "v1" ; -- 隠しカラムの表示をONにしてからLOGSテーブル定義を表示→Blockchain Table特有の隠しカラムが自動的に作成されている SET COLINVISIBLE ON; DESC logs; -- OPERATIONSテーブルに操作情報をINSERT INSERT INTO operations VALUES (1, 'login'); INSERT INTO operations VALUES (2, 'logout'); INSERT INTO operations VALUES (3, 'add_user'); INSERT INTO operations VALUES (4, 'delete_user'); INSERT INTO operations VALUES (5, 'insert_data'); -- USERSテーブルにユーザー情報をINSERT INSERT INTO users VALUES (1, 'tanaka01', 'tanaka', 'tarou', '[email protected]'); INSERT INTO users VALUES (2, 'hanako02', 'yamada', 'hanako', '[email protected]'); INSERT INTO users VALUES (3, 'hiroshi03', 'suzuki', 'hiroshi', '[email protected]'); -- 通常テーブルへのINSERTを確定 COMMIT; -- 通常テーブルのINSERT確認 SELECT * FROM operations; SELECT * FROM users; -- LOGSテーブルにログ情報をINSERT INSERT INTO logs VALUES (1, 1, 1, 0, '192.168.1.1', systimestamp); INSERT INTO logs VALUES (2, 2, 1, 0, '192.168.1.2', systimestamp); INSERT INTO logs VALUES (3, 2, 5, 0, '192.168.1.2', systimestamp); -- (隠しカラム含め)LOGSテーブルをSELECTしてみる→ハッシュ値などの隠しカラムはまだ入っていない SELECT log_id, user_id, operation_id, log_stamp, ORABCTAB_INST_ID$ "inst", ORABCTAB_CHAIN_ID$ "chain", ORABCTAB_SEQ_NUM$ "seq", ORABCTAB_CREATION_TIME$ "time", ORABCTAB_USER_NUMBER$ "user", ORABCTAB_HASH$ "hash" FROM logs; -- Blockchain Tableへのinsertを確定 COMMIT; -- (隠しカラム含め)LOGSテーブルをSELECTしてみる→ハッシュ値などの隠しカラムが自動的に埋められている SELECT log_id, user_id, operation_id, log_stamp, ORABCTAB_INST_ID$ "inst", ORABCTAB_CHAIN_ID$ "chain", ORABCTAB_SEQ_NUM$ "seq", ORABCTAB_CREATION_TIME$ "time", ORABCTAB_USER_NUMBER$ "user", ORABCTAB_HASH$ "hash" FROM logs; -- LOGSテーブルに対してUPDATEを試す UPDATE logs SET user_id = 2 WHERE log_id = 1; -- LOGSテーブルに対してDELETEを試す DELETE FROM logs WHERE user_id = 1; -- LOGSテーブルに対してTRUNCATE(テーブル上のデータ全削除)を試す TRUNCATE TABLE logs; -- LOGSテーブルに対してDROP(テーブルごと削除)を試す DROP TABLE logs CASCADE CONSTRAINTS; -- OUTPUTをON SET SERVEROUTPUT ON; -- LOGSテーブルの行の整合性を検証 DECLARE verify_rows NUMBER; BEGIN DBMS_BLOCKCHAIN_TABLE.VERIFY_ROWS('exhibition','logs', NULL, NULL, NULL, NULL, verify_rows); DBMS_OUTPUT.PUT_LINE('Number of rows verified = '|| verify_rows); END; / -- USERSテーブルとLOGSテーブルに対して行を追加INSERT INSERT INTO users VALUES (4, 'kenta04', 'maeda', 'kenta', '[email protected]'); INSERT INTO users VALUES (5, 'haruka05', 'yamamoto', 'haruka', '[email protected]'); INSERT INTO logs VALUES (4, 1, 3, 0, '192.168.1.1', systimestamp); INSERT INTO logs VALUES (5, 3, 3, 0, '192.168.1.10', systimestamp); INSERT INTO logs VALUES (6, 3, 5, 0, '192.168.1.10', systimestamp); -- 通常テーブルのINSERT確認 SELECT * FROM users; -- (隠しカラム含め)LOGSテーブルをSELECTしてみる→ハッシュ値などの隠しカラムはまだ入っていない SELECT log_id, user_id, operation_id, log_stamp, ORABCTAB_INST_ID$ "inst", ORABCTAB_CHAIN_ID$ "chain", ORABCTAB_SEQ_NUM$ "seq", ORABCTAB_CREATION_TIME$ "time", ORABCTAB_USER_NUMBER$ "user", ORABCTAB_HASH$ "hash" FROM logs; -- 通常テーブルとBlockchain TableへのINSERTを取り消し ROLLBACK; -- 通常テーブルのROLLBACK確認 SELECT * FROM users; -- Blockchain TableのROLLBACK確認 SELECT log_id, user_id, operation_id, log_stamp, ORABCTAB_INST_ID$ "inst", ORABCTAB_CHAIN_ID$ "chain", ORABCTAB_SEQ_NUM$ "seq", ORABCTAB_CREATION_TIME$ "time", ORABCTAB_USER_NUMBER$ "user", ORABCTAB_HASH$ "hash" FROM logs; -- 再度USERSテーブルとLOGSテーブルに対して行を追加INSERT INSERT INTO users VALUES (4, 'kenta04', 'maeda', 'kenta', '[email protected]'); INSERT INTO users VALUES (5, 'haruka05', 'yamamoto', 'haruka', '[email protected]'); INSERT INTO logs VALUES (4, 1, 3, 0, '192.168.1.1', systimestamp); INSERT INTO logs VALUES (5, 3, 3, 0, '192.168.1.10', systimestamp); INSERT INTO logs VALUES (6, 3, 5, 0, '192.168.1.10', systimestamp); -- 通常テーブルのINSERT確認 SELECT * FROM users; -- (隠しカラム含め)LOGSテーブルをSELECTしてみる→ハッシュ値などの隠しカラムはまだ入っていない SELECT log_id, user_id, operation_id, log_stamp, ORABCTAB_INST_ID$ "inst", ORABCTAB_CHAIN_ID$ "chain", ORABCTAB_SEQ_NUM$ "seq", ORABCTAB_CREATION_TIME$ "time", ORABCTAB_USER_NUMBER$ "user", ORABCTAB_HASH$ "hash" FROM logs; -- 通常テーブルとBlockchain TableへのINSERTを確定 COMMIT; -- (隠しカラム含め)LOGSテーブルをSELECTしてみる→ハッシュ値などの隠しカラムが自動的に埋められている SELECT log_id, user_id, operation_id, log_stamp, ORABCTAB_INST_ID$ "inst", ORABCTAB_CHAIN_ID$ "chain", ORABCTAB_SEQ_NUM$ "seq", ORABCTAB_CREATION_TIME$ "time", ORABCTAB_USER_NUMBER$ "user", ORABCTAB_HASH$ "hash" FROM logs; -- ログのユーザー情報と操作内容を表示する監査ログのVIEWを作成…通常のテーブルとBlockchain TableをJOINしたVIEWの利用が可能 CREATE VIEW audit_logs AS SELECT l.log_id "ID", o.operation_name "operation", l.ip_address "ip_address", l.log_stamp "time", u.first_name || '.' || u.last_name "name", l.ORABCTAB_HASH$ as hash FROM logs l, users u, operations o WHERE l.user_id = u.user_id and l.operation_id = o.operation_id ORDER BY log_stamp WITH READ ONLY ; -- 作成したVIEWで監査ログを確認 SELECT * FROM audit_logs; SQLスクリプト ~コピペしてご利用ください~ 98
  98. Blockchain Tableと通常のテーブルでの基本的な操作の比較で耐改ざん性を体験 このシナリオでは… • 通常のテーブルとBlockchain Tableを作成し、品質情報に見立てたデータを格納する • 両者に対してデータのUPDATE/更新(→改ざん)、DELETE/削除(→隠蔽)の操作結果を比較する • Blockchain

    Table独特の隠しカラムに自動的に保存されるデータの有用性を理解する サンプルSQLスクリプト:Blockchain tableへの品質情報の保存 Copyright © 2022, Oracle and/or its affiliates QUALITY 製品の品質検査の 結果データを保存する 通常のテーブル QUALITY_BCT 製品の品質検査の 結果データを保存する Blockchain Table ・UPDATE ・DELETE ・UPDATE ・DELETE 99
  99. Copyright © 2022, Oracle and/or its affiliates -- ※※※まずは通常のテーブルを作成し操作を実験※※※ --

    QUALITYという名前の品質検査結果を記録する通常のテーブルを作成 -- 製品ID、検査結果スコア、検査実施日時 CREATE TABLE quality ( product_id VARCHAR2(256) NOT NULL, test_score NUMBER NOT NULL, inspection_date DATE NOT NULL ); -- QUALITYテーブルに品質検査結果データをINSERT INSERT INTO quality VALUES ('aaa111', 88, TO_DATE('2021/03/02 10:12:34', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('bbb222', 89, TO_DATE('2021/03/02 11:11:22', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('ccc333', 64, TO_DATE('2021/03/02 12:18:44', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('ddd444', 92, TO_DATE('2021/03/02 13:13:21', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('fff666', 89, TO_DATE('2021/03/02 14:22:04', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('ggg777', 93, TO_DATE('2021/03/02 15:23:12', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('hhh888', 94, TO_DATE('2021/03/02 16:12:58', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality VALUES ('iii999', 90, TO_DATE('2021/03/02 17:18:07', 'YYYY-MM-DD HH24:MI:SS')); -- QUALITYテーブルの品質検査結果データを全件表示 SELECT * FROM quality ORDER BY product_id; -- 検査結果スコアが89点(ギリギリ不合格)のものを90点(ギリギリ合格)に更新…品質情報の改ざん -- 成功する UPDATE quality SET test_score = 90 WHERE test_score = '89'; -- 検査結果スコアが一定以上低かった不良品のデータを削除…隠ぺい -- 成功する DELETE FROM quality WHERE test_score < 70; -- 検査漏れしていた製品の結果を過去日時で新規登録…ねつ造 -- 成功する INSERT INTO quality VALUES ('eee555', 90, TO_DATE('2021/03/02 14:00:45', 'YYYY-MM-DD HH24:MI:SS')); -- QUALITYテーブルの品質検査結果データを全件表示 SELECT * FROM quality ORDER BY product_id; -- ※※※次にBlockchain Tableを作成し操作を実験※※※ -- QUALITY_BCTという名前の品質検査結果を記録するBlockchain Tableを作成 CREATE BLOCKCHAIN TABLE quality_bct ( product_id VARCHAR2(256) NOT NULL, test_score NUMBER NOT NULL, inspection_date DATE NOT NULL ) NO DROP UNTIL 0 DAYS IDLE NO DELETE HASHING USING "SHA2_512" VERSION "v1" ; -- QUALITY_BCTテーブルに品質検査結果データをINSERT INSERT INTO quality_bct VALUES ('aaa111', 88, TO_DATE('2021/03/02 10:12:34', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('bbb222', 89, TO_DATE('2021/03/02 11:11:22', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('ccc333', 64, TO_DATE('2021/03/02 12:18:44', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('ddd444', 92, TO_DATE('2021/03/02 13:13:21', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('fff666', 89, TO_DATE('2021/03/02 14:22:04', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('ggg777', 93, TO_DATE('2021/03/02 15:23:12', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('hhh888', 94, TO_DATE('2021/03/02 16:12:58', 'YYYY-MM-DD HH24:MI:SS')); INSERT INTO quality_bct VALUES ('iii999', 90, TO_DATE('2021/03/02 17:18:07', 'YYYY-MM-DD HH24:MI:SS')); -- QUALITY_BCTテーブルの品質検査結果データを全件表示 SELECT * FROM quality_bct ORDER BY product_id; -- 検査結果スコアが89点(ギリギリ不合格)のものを90点(ギリギリ合格)に更新…品質情報の改ざん -- 失敗する(Blockchain Tableの制約) UPDATE quality_bct SET test_score = 90 WHERE test_score = '89'; -- 検査結果スコアが一定以上低かった不良品のデータを削除…隠ぺい -- 失敗する(Blockchain Tableの制約) DELETE FROM quality_bct WHERE test_score < 70; -- 検査漏れしていた製品の結果を過去日時で新規登録…ねつ造 -- 成功する…ただし隠しカラムに自動で記録されるタイムスタンプと齟齬が出るため識別可能 INSERT INTO quality_bct VALUES ('eee555', 90, TO_DATE('2021/03/02 14:00:45', 'YYYY-MM-DD HH24:MI:SS')); -- 一部の隠しカラム含めBlockchain Tableのデータを表示 -- Blockchain Tableでは、自動的にINSERT時のタイムスタンプが登録されている SELECT product_id, test_score, inspection_date, ORABCTAB_CREATION_TIME$ "bc_date", ORABCTAB_HASH$ "hash" FROM quality_bct ORDER BY product_id; -- ※※※Blockchain Tableのその他の操作※※※ -- 隠しカラムの表示をONにしてからテーブル定義を表示 SET COLINVISIBLE ON; DESC quality_bct; -- Blockchain Tableの行の整合性を検証 DECLARE verified_rows NUMBER; BEGIN DBMS_BLOCKCHAIN_TABLE.VERIFY_ROWS('admin','quality_bct', NULL, NULL, NULL, NULL, verified_rows); DBMS_OUTPUT.PUT_LINE('Number of rows verified = '|| verified_rows); END; -- Blockchain Tableに対してTRUNCATE(テーブル上のデータ全削除)を試す -- テーブル作成時にNO DELETEを指定している場合は常に失敗する TRUNCATE TABLE quality_bct; -- Blockchain Tableに対してDROP(テーブルごと削除)を試す -- テーブル作成時のNO DROP UNTIL n DAYS IDLEの指定およびテーブル上の最新データの経過日数次第で可不可が分かれる -- NO DROP UNTIL 0 DAYS IDLEで作成している場合は常に成功する DROP TABLE quality_bct; サンプルSQLスクリプト ~コピペしてご利用ください~ 100
  100. 文書ファイルの保存、参照、管理のBlockchain Table+APEXでの容易な実現を体験 Blockchain Tableのふたつの特性―耐改ざん性と監査性―を、文書ファイルの管理の シナリオを通じて体験いただくためのサンプルアプリケーションです。 • WORD、PDF、Excel、テキストなど任意の形式の文書ファイルをBlockchain Tableに保 存(アップロード)し、文書の検索や参照(ダウンロード)が可能です。 •

    Blockchain Tableの持つ耐改ざん性、監査性を体験するための機能も備えています。 データベース上で迅速、容易にアプリケーションを開発し、稼働させるためのツールである Oracle APEXを利用しています。 • アプリケーションサーバーの用意は不要で、Oracle Databaseのみでサンプルアプリケー ションの利用が可能です。 • インストール~セットアップは最速数分程度で完了し、すぐにトライ可能です。 詳細、ダウンロードはこちら:https://oracle- japan.github.io/ocidocs/solutions/blockchain/blockchain-table-document- sample/ サンプルアプリケーション:Blockchain Tableでの文書管理 Copyright © 2022, Oracle and/or its affiliates APEX 101 101
  101. DOCUMENT_BCT (Blockchain Table) 文書管理サンプルアプリケーションの主な機能 Copyright © 2022, Oracle and/or its

    affiliates 文書ファイルを不変・確実に保管 ADDITIONAL_INFO (通常Table) 文書①:document_id=aaa バージョン1:発行日=2021/7/1, ファイル=XXX バージョン2:発行日=2021/8/1, ファイル=XXX 文書②:document_id=bbb バージョン1:発行日=2021/5/16, ファイル=XXX バージョン2:発行日=2021/6/17, ファイル=XXX バージョン3:発行日=2021/8/2, ファイル=XXX 更新可能な付帯情報 文書①の付帯情報 (文書ステータス、 カテゴリー、 備考) 文書②の付帯情報 ひとつの文書について 複数バージョンを登録、 保持可能 文書管理に 関わる機能 耐改ざん性と 監査性に 関わる機能 • 文書と付帯情報の新規登録 • 文書の新バージョン登録 • 付帯情報の更新 • 文書と付帯情報の検索、閲覧 (文書ファイルのダウンロード) • ブロックチェーンテーブルの行の 整合性確認 • ハッシュ値などの確認 • 文書削除・更新不能確認 102
  102. 文書管理サンプルアプリケーションの利用するテーブルとビュー Copyright © 2022, Oracle and/or its affiliates document_id(ドキュメントID):varchar2 -

    PK revision(バージョン):number - PK document_title(ドキュメント名):varchar2 registerer_name(登録者名):varchar2 publish_date(発行日):date update_type(更新種別):varchar2 document(ドキュメント):BLOB document_filename(ファイル名):varchar2 document_mimetype(ファイル種別):varchar2 document_charset(ファイル文字セット):varchar2 document_register_date(ファイル登録日時):date document_bct(文書ブロックチェーンテーブル) document_id(ドキュメントID):varchar2 - PK category( 文書のカテゴリー):varchar2 status(文書のステータス):varchar2 remarks(備考):varchar2 additional_info(付帯情報) update_type(更新種別):varchar2 - PK description(説明):varchar2 update_type_master(更新種別マスタ) category(文書のカテゴリー):varchar2 - PK description(説明):varchar2 category_master(カテゴリーマスタ) status(文書のステータス):varchar2 - PK description(説明):varchar2 status_master(ステータスマスタ) ※文書ブロックチェーンテーブルから各ドキュメントIDについて最新 のバージョンのレコードを抽出し、 付帯情報テーブルとJOIN latest_document_with_additional_info (最新バージョン文書+付加情報のビュー) 103
  103. 無償トライアルで利用可能なワークショップ お客さまのクラウド環境ですぐに利用できるワークショップを多数 掲載。画面キャプチャおよび実行コマンドを記載、実環境にて 順を追って操作方法を学習することが可能。 英語ですが、ブラウザの翻訳機能を使って日本語で利用可能。 https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/home Oracle LiveLabs Copyright ©

    2022, Oracle and/or its affiliates 104
  104. 無償トライアルで利用可能なワークショップ:Oracle blockchain tablesのチュートリアル Oracle blockchain tablesのチュートリアル 英語ですが、ブラウザの翻訳機能を使って日本語で利用可能。 https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=746&session=13873808601344 Oracle LiveLabs

    Copyright © 2022, Oracle and/or its affiliates 105
  105. Copyright © 2022, Oracle and/or its affiliates