BaaS(Blockchain as a Service)とは、ブロックチェーンを活用したアプリケーションやサービスなどの開発がクラウド上で簡単にできるサービスです。SaaSやPaaSと同様、個々の企業でゼロからシステムを構築する必要がなく、ブロックチェーンを利用したアプリケーションやサービスの開発に専念できることがメリットです。
本記事では、Oracle Cloudで提供されているBaaS のOracle Blockchain Platform(OBP)の特徴と、インスタンス作成からコンソールへアクセスするまでの手順を紹介します。
Oracle Blockchain Platformとは
Oracle Blockchain Platform(以下、OBP)は、Hyperledger Fabricベースのエンタープライズ向けBaaS(Blockchain as a Service)です。OBPは、チェーンコードとも呼ばれるスマートコントラクトコードを実行することで、台帳を更新したり、クエリに応答したりする検証ノード(ピア)で構成されるネットワークです。
チェーンコードはブロックチェーン上で実行されるビジネスロジックです。外部アプリケーションは、クライアントSDKやREST APIを通じて、トランザクションの呼び出しやクエリを実行して、該当するピアにチェーンコードを実行します。
OBPは、Oracle Cloud Infrastructureの仮想マシン・インスタンスを使用して、OBPインスタンスをデプロイし実行します。OBPインスタンスを作成すると、他のすべての必要な内部リソースはオラクルによって作成および管理されます。
Oracle Blockchain Platformの特徴
事前に構築済みの環境を提供することで構築の迅速化と容易化が可能
ブロックチェーンネットワークに必要な構成の要素は自動でセットアップされます。インスタンスの構築も数ステップで完了し、構築後すぐにコンソール画面の利用やスマート・コントラクト(チェーンコード)のデプロイが可能です。
運用・管理コストの削減
使いやすいコンソール画面および多機能なサービスAPIの提供により、Hyperledger Fabricの難解な設定ファイルの準備、コマンドや手順の習得が不要となるため、運用・管理コストの削減が可能です。また、ネットワークの可視化に加え、リソース使用状況やノード死活情報、トランザクション処理状況などをGUIコンソールで分かりやすく表示できます。監視やトラブルシューティングのサポートも充実しています。
様々な環境に対応した柔軟性
OBPは、同等の機能をオンプレミスで構築できる 「Oracle Blockchain Platform Enterprise Edition (OBPEE)」 も提供されています。OBPEEは自社データセンターやオラクル以外のクラウド(IaaS)上に OBP を構築し、Oracle VirtualBox、VMware vSphereといったVM基盤をサポートしています。また、オンプレミスで構築されたブロックチェーンネットワークだけでなく、マルチクラウドやハイブリッドクラウドのブロックチェーンネットワークの構成も可能です。
エンタープライズ要件への対応
OBPは、エンタープライズの要件(耐障害性、セキュリティ、運用・保守性、スケーラビリティ)を満たす機能が提供されています。Hyperledger Fabricでは、ブロックチェーン台帳の現状データが格納されているデータベース(State DB)として、通常、シンプルなKey-Value構造向けの高速な「LevelDB」か、比較的低速だがリッチクエリが利用可能な「CouchDB」のどちらかを選択できます。OBPでは独自のState DBとして、LevelDBとそれほど遜色ない性能を実現している「Berkeley DB」 を採用しています。Berkeley DBを利用することで、Phantom Read検知不能問題を解消し、リッチクエリを安全に利用することができます。
他システムとの連携やアプリ開発が容易な独自機能
OBPではREST Proxyが用意されており、標準的なREST APIを用いてプログラムによるチェーンコード取引の照会と呼び出し、ブロックチェーンネットワークの管理を行うことができます。そのため、アプリ開発者はFabricによるアプリ開発を習得する必要がなく、Webアプリ開発の一般的なスキルがあればアプリの開発が容易にできます。また、「Oracle Integration Cloud Service」を利用することで、オラクルや他社製のクラウドまたはオンプレミスのソフトウェアとのシステム連携が可能です。さらに、ブロックチェーン台帳のデータをオラクルデータベース上に複製するリッチヒストリーデータベース機能によって、他システムとのデータ統合が容易にできるほか、高度なデータ活用の迅速化も実現できます。
Oracle Blockchain Platform インスタンスの作成
前提条件
- Oracle Cloud のアカウントを準備します。OBP は無料トライアル期間(Free Trial Credit)および Always Free で利用できるサービスには含まれていないため、有償アカウントが必要です。
- OBP インスタンスが利用するコンパートメントを事前に作成する必要があります。
- OBPインスタンスの構築に使用されるユーザーに対して、OBPサービス利用の権限とOBPインスタンス作成の権限を付与する必要があります。
1. Oracle Cloud Infrastructureにサインインし、[ブロックチェーン・プラットフォーム] を検索します。検索結果の[サービス]で表示される[ブロックチェーン・プラットフォーム]をクリックします。
2. サービス・コンソール が表示されたら、「ブロックチェーン・プラットフォームの作成」をクリックします。
3. 「ブロックチェーン・プラットフォームの作成」ページで下記の情報を入力し、作成をクリックします。
- コンパートメント: 事前に作成されたOBP用コンパートメントを選択
- 表示名: 任意のOBPインスタンス名を記載
- 説明: 作成するインスタンスについて説明を記載
- プラットフォーム・ロール: 新規ネットワークの作成(デフォルト) or 既存ネットワークに参加を選択
- プラットフォーム・バージョン: Hyperledger Fabric のバージョン 1.4.7 or 2.2.4(デフォルト) or 1.47を選択
- エディション: エディション インスタンスに割り当てられる CPU、メモリ、ストレージのリソースのサイズおよび利用料金に係わるオプション 標準(デフォルト) or Enterprise を選択 ※2
※
・標準 :(2 OCPU と 50GB のストレージ固定)
・ENTERPRISE:
(Small: 4 OCPU/Medium: 8 OCPU/Large: 16 OCPU/X-Large: 32OCPU のいずれかのシェイプを選択。OCPU 数はインスタンス作成後に変更可能。
ストレージは 150GB が付属しており、インスタンス作成後に 1TB 単位で追加可能。)
今回は、任意のインスタンス名と説明のみを記載し、その他全ての項目はデフォルトのままにして作成します。
4. インスタンスが正常に作成されたことを確認します。
インスタンスが作成されると、インスタンスの状態メッセージが 「Creating 」から「 Created Successfully」 に変わります。作業リクエストの状態が「成功」 になったことを確認します。※インスタンスを作成してアクティブ状態になるまで15分程度かかります。
Oracle Blockchain Platform Consoleへアクセス
Oracle Blockchain Platformのネットワークを設計・管理したり、チェーンコードをデプロイしたりするには、「サービス・コンソール」をクリックして、インスタンスのサービス・コンソールのダッシュボードを開きます。
おわりに
入力項目が少なく簡単なGUI操作で作成できるほか、多機能なサービスAPIの提供により、スピーディーで高品質なブロックチェーン・アプリケーションの開発が可能となります。また、マネージドサービスの恩恵により、運用時の管理コストも削減できるでしょう。今回紹介した内容はほんの一部に過ぎません。Oracle Cloudのブロックチェーン・プラットフォームについてご興味のある方は、お気軽にシステムエグゼまでお問い合わせください。
- カテゴリ:
- エンジニアリング
- キーワード:
- OBP