目次


IBM ブロックチェーンの基礎: 開発者向けクイック・スタート・ガイド

IBM Blockchain Platform スターター・プランを利用してキックスターター・ブロックチェーン・ネットワークを構築し、今すぐコーディングを開始する

Comments

ブロックチェーン革命に参加してください!現在、ビジネス向けの分散型レジャー・テクノロジーを調べていて、デモ用、パイロット版、または本番前の段階のビジネス向けブロックチェーンを構築したいと思っているとしたら、このガイドはまさにうってつけです。このガイドでは、IBM Blockchain Platform スターター・プランをはじめ、今すぐブロックチェーン・ネットワークを開始する方法をいくつか紹介します。

このガイドでは最新のオープンソース Hyperledger Fabric フレームワークを基に、スターター・プランまたは他のいずれかの方法を使用してブロックチェーン・ネットワークを開始する手順を案内しますが、まずは、ビジネス向けブロックチェーン・ネットワークの開発に関連する主要な概念をおさらいしましょう。

ビジネス向けブロックチェーンの概念

ビジネス向けブロックチェーン・ネットワークとは何か

ビジネス向けブロックチェーン・ネットワークとは、分散型レジャー・テクノロジーを使用して、ネットワーク内のメンバー組織の間で効率的かつセキュアにビジネス資産を移転する分散型ネットワークのことです。ここで言う資産とは、自動車、ダイヤモンド、生鮮食品といった物理的な資産であることも、保険記録などのデジタル資産であることもあります。参加者の間で共有される分散型レジャーには、ネットワーク内の参加者間での資産のトランザクションのすべてが不変の履歴として記録されるとともに、それらの資産について現在の状態 (ワールド・ステート) が列挙されます。資産のトランザクションは、ビジネス・ルールによって制御されます。ビジネス・ルールはメンバーによる合意を得た上で、スマート・コントラクト (別名チェーン・コード) にカプセル化されます。

ブロックチェーン・ネットワークでは、トランザクションを検証するのに銀行や証券会社などの中央権力や信頼できる仲介者に依存することはありません。ブロックチェーン・ネットワークのメンバーはコンセンサス・メカニズムを使用するためです。コンセンサス・メカニズムによって、ネットワーク全体でのトランザクションの処理速度を向上させると同時に、透過性、説明責任を確保します。また、機密性を強化するために、メンバーは 1 つ以上のチャネルに参加します。各チャネルに固有のレジャーは、そのチャネル内の認証済みピアの間でだけ共有されるため、データを隔離することが可能になります。

ビジネス向けブロックチェーン・ネットワークは、企業、大学、病院などの識別可能かつ検証可能な機関からなるグループによって共同で所有および運用されます。こうしたパーミッション型ネットワーク内では参加者が互いに既知となるため、ビットコイン・ネットワークのような非パーミッション型のパブリック・ネットワークと比べると、トランザクションの処理時間が遥かに短縮されます。ビットコイン・ネットワークの場合、メンバーは匿名であることから、身元を確認してトランザクションを検証するために、計算に時間がかかる「プルーフ・オブ・ワーク」などのコンセンサス・メカニズムに頼らざるを得ません。

背景情報をさらに詳しく知りたいですか?

  • このリンク先の分散型レジャー入門を参照してください。
  • Blockchain essentials コースに参加してください。この無料で受けられる 2 時間のコースで、ビジネス向けブロックチェーンについて学び、このテクノロジーを使ってイノベーションに拍車をかけるための主な方法を把握することができます。動画とラボの演習を修了した後は、クイズに答えてバッジを獲得してください。
  • IBM Blockchain foundation developer コースに参加してください。同じく無料のこの 6 時間のコースでは、「Blockchain essentials」で学んだ知識を基に、ビジネス向けネットワークをモデル化、構築、テストする方法、そしてレジャーのクエリーを実行できるアプリケーションを作成する方法を学びます。動画とラボの演習を修了した後は、クイズに答えてバッジを獲得してください。

ビジネス向けブロックチェーンのオープンソース・エンジン: Hyperledger Fabric

最近の市場の需要に対応するために、IBM は他社と協力して業界に焦点を絞ったオープンソースのブロックチェーン・テクノロジー実装の開発を進めています。Hyperledger Fabric と名付けられた、このビジネス向けブロックチェーン・テクノロジー実装は、The Linux Foundation によってホストされている 8 つの Hyperledger プロジェクトのうちの 1 つとなっています。Hyperledger Fabric は、パーミッション型ネットワークにおける分散レジャー・ソリューションのフレームワークであり、モジュール式アーキテクチャーによってブロックチェーン・ソリューションに最大限の機密性、回復力、柔軟性、スケーラビリティーをもたらします。Hyperledger Fabric v1.0 には、27 の組織からの 159 名のエンジニアが貢献しました。

さらに詳しく調べてください。

IBM のエンタープライズ対応プラットフォーム: IBM Blockchain Platform

IBM Blockchain Platform は、IBM Cloud 上で利用できるブロックチェーン SaaS (Software-as-a-Service) オファリングです。IBM Blockchain Platform は、エンタープライズ対応としては唯一の、完全に統合されたブロックチェーン・プラットフォームであり、複数の機関からなるビジネス・ネットワークの開発、ガバナンス、運用を単純化するように設計されています。このプラットフォームでは Hyperledger Fabric フレームワークと Hyperledger Composer ツールによるオープンソース・テクノロジーを利用して、分散型ブロックチェーン・ネットワーク内でのコラボレーションを加速化します。

IBM Blockchain Platform を利用すれば、ネットワーク・メンバーは迅速、簡単にブロックチェーンの開発を開始して、コラボレーティブな環境に移行できます。この環境ではパフォーマンス、プライバシー、セキュリティーが確保されるため、最も要求が厳しい使用ケースや高度に規制された業界にも対応できます。

IBM Blockchain Platform では、エコシステム固有のニーズに合わせて特定のメンバーシップ・プランを選べるようになっています。セキュアでハイパフォーマンスのネットワーク上で、概念検証からパイロット、そして本番に移行できると同時に、完全にスケーラブルなので、ネットワークがどんなに成長しても一貫して IBM Blockchain Platform で対応できます。最新のメンバーシップ・プランは、本番前アプリケーションの開発とテストを簡単かつ経済的に開始できるように意図されています。それが、スターター・プランです。

IBM Blockchain Platform について調べてください。

スターター・プランの内容

IBM Blockchain Platform スターター・プランは、開発者が最も簡単に、しかも最も経済的にブロックチェーンの開発を開始する手段です。ブロックチェーン・テクノロジーについて調べていて、デモ用、パイロット版、または本番前の段階のビジネス向けブロックチェーンを構築したいと思っている開発者にとって、この開発・テスト環境はまさに理想的な選択肢となります。

スターター・プランを利用すれば、どの開発者でも (大企業、スタートアップ、学術機関のどこに所属しているか、さらには開発の経験があるかどうかに関わらず) コードをいろいろと実験して、全機能を備えた、複数の組織にまたがるブロックチェーン・ネットワークにコードをデプロイできます。

スターター・プランでは、事前に構成されたキック・スターター・ネットワークをワン・クリックでセットアップできるようになっています。このネットワークの構成要素は、共有レジャーに記録するトランザクションの順番を決定する順序付けサービス、メンバー企業間のデフォルト通信チャネル、そして 2 つのメンバー企業です。トランザクションを検証してレジャーにコミットするために、メンバー企業にはそれぞれ認証局とピア・ノードが関連付けられています。スターター・プランには、Hyperledger Fabric のすべての機能と Hyperledger Composer の開発ツールセット (「IBM Blockchain Platform: Develop」と呼ぶ) が統合されています。さらに、直感的な UI によって、ネットワークの管理およびガバナンスにかかる時間を短縮できるという付加価値もあります。

スターター・プランには以下の利点があります。

  • 迅速に (IBM Cloud の継続的デリバリー・ツールチェーンを使用して) サンプル・アプリケーションをデプロイし、資産移転の動作を確認できます。
  • 本番前のステージング環境内で、独自のアプリケーションとチェーン・コードを何度でも開発してテストできます。
  • ネットワークとやり取りするには、Swagger UI 内の API を使用できます。ネットワーク資格情報が提供されるので、これらの API を独自のアプリケーションに統合することもできます。
  • ネットワークに参加するよう他の組織を招待して、独自のピアをセットアップできます。
  • 自分の IBM Cloud アカウントに他のメンバー組織を追加し、複数の組織にわたるトランザクションのシナリオをシミュレーションできます。
  • ネットワークのガバナンスと運用に役立つスキルを磨いて、それらのスキルをエンタープライズ・プランにシームレスに適用することができます。スターター・プランでの操作はエンタープライズ・プランと同じなので、完全な本番ネットワークに移行する際の学習曲線はありません。

スターター・プランのサンプル・アプリケーションは、独自のアプリケーションを開発する際の出発点としても、デモ用にも使用できます。IBM Cloud のツールチェーンを使用してサンプル・アプリケーションを選択するだけで、自動的にサンプル・アプリケーションをデプロイして起動できます。あるいは、サンプル・アプリケーションを手作業で段階的にデプロイしてカスタマイズすることで、独自のアプリケーションを開発する方法を学ぶこともできます。

いろいろと試してデフォルト・チャネル内で実行できるよう、さまざまなサンプル・アプリケーションが用意されています。例えば、以下のアプリケーションがあります。

  • Marbles サンプル・アプリケーションは、ネットワーク上のメンバーが他のメンバーたちと仮想の大理石所有権を移転する様子を通して、フロントエンドのアプリケーションがチェーン・コードとやり取りする方法をカラフルにデモンストレーションします。このアプリケーションは Node.js を使用して作成されていて、チェーン・コードは Go を使用して作成されています。
  • Vehicle Manufacture サンプル・アプリケーションは、チュートリアルを兼ねた Angular Web アプリケーションです。チュートリアルでは、Hyperledger Composer を使用して新車の注文から配送までを追跡するサンプル・ネットワークをモデル化する手順を説明しています。
  • Perishable Goods サンプル・アプリケーションは、サプライ・チェーン内での配送を追跡して、ブロックチェーン上でセンサー・データを保管します。この一連の流れによって、スマート・コントラクトの使用方法をデモンストレーションします。

スターター・プランの直感的な UI は、ネットワークのガバナンスとモニタリングに役立ちます。この UI を使用して、例えばピア・ノードの表示、ネットワークへの組織の追加といった操作を行うことや、メンバーのサブセットのデータを隔離してプライバシーを確保するために、新しいチャネルを作成することができます。また、チェーン・コードをピアにインストールしてチャネル上で起動したり、メンバーの承認を必要とするアクティビティーの通知をセットアップしたりすることもできます。

スターター・プランのデモ (動画)

この動画では、Don と Mark がスターター・プラン・ネットワークを起動する手順を説明した後、他では見られないような優れた機能を紹介しています。また、必要なときに役立つよう、ヘルプの入手先も教えてくれます。

簡単に言うと、スターター・プランはこれまでになく簡単に、コラボレーション型の本番前環境内でビジネス・ブロックチェーンの開発、ガバナンス、運用を実践できるようにするためのプランです。また、他のメンバーシップ・プランでも、このプランと同じ使いやすい UI を使用しているので、本番環境でのデプロイに移行する際の学習曲線は平板化されます。

スターター・プランに含まれていないもの

スターター・プランは、本番前の開発とテストを迅速に開始できるように最適化されています。このことから、エンタープライズ・プランとは異なる点がいくつかあります。

  • スターター・プランでは、認証局と順序付けサービスに耐障害性が備わっていません。スターター・プラン・ネットワーク内の各企業に関連付けられている認証局は 1 つだけです。また、ネットワーク内では 1 つの順序付けサービスだけでコンセンサスに対処します。
  • スターター・プランではハードウェア・セキュリティー・モジュール (HSM) を使用できません。HSM は、認証と暗号化処理を強化するためにデジタル鍵を保護して管理するモジュールです。
  • スターター・プランでは、メンテナンスとネットワーク更新 (毎週火曜日の朝に実施) の際に短時間、ネットワークが停止する可能性があります。
  • スターター・プランではリリースのアップグレードにより、データが失われる可能性があります。ただし、スターター・プランの .bna ファイル、チェーン・コード、アプリケーションをエンタープライズ・プランに移行することができます。

スターター・プランからのアップグレード

ネットワークをさらに拡大して、ネットワーク定義、チェーン・コード、アプリケーションを本番環境にデプロイする準備が整ったら、強化されたセキュリティー層を追加し、優先サポートを受けるために、エンタープライズ・プランにアップグレードしてください。

エンタープライズ・プランには、スターター・プランのすべて機能に加え、耐障害性を備えた本番レベルのインフラストラクチャーを入手できます。このインフラストラクチャーは IBM z メインフレーム上のセキュアなクラウド・コンテナー内で実行されるので、ランタイム/データは完全に隔離されます。さらに、順序付けサービスと認証局の高可用性が確保され、鍵をセキュアに保管するために HSM カードも使用できるようになっています。

自分のコンピューター上で直接オープンソース・テクノロジーを使用できます

Hyperledger Fabric フレームワークをベースに、Hyperledger Composer ツールを使用してブロックチェーンを作成し、そのブロックチェーンをローカルにデプロイすれば、素晴らしいシミュレーションになるでしょう。

けれども、他のメンバー組織にアクセスできなければ、複数の組織にわたるネットワークのスケーラビリティーと力を体験したりテストしたりすることはできません。しかも、オープンソース・テクノロジーをローカルで使用するとなると、コマンド・ラインを使用して忍耐強く、器用にコーティング作業を行わなければなりません。

それとは逆に、スターター・プランではスケーラブルで信頼できる、完全に統合された IDE を使用できます。この IDE で、簡単な手順に従って単純なクリック操作をするだけで、幅広いサンプルを基にネットワークの作成から、デプロイ、モニタリング、ガバナンスにまで対処できます。本番環境の大規模なネットワークに対応する準備が整ったら、スターター・プランによって開発したコードと培ったスキルを容易にエンタープライズ・プランに移行できます。

今すぐスターター・プランを利用してブロックチェーン・ネットワークを迅速に開始!

今すぐ IBM Blockchain Platform スターター・プランに登録してください。実際のビジネス向けブロックチェーンに取り組む方法を学び、ブロックチェーンのスキルを磨いてアプリケーションの開発を始めるには、これが最も簡単で、しかも最も経済的な方法です。

  1. スターター・プランに登録します。
  2. IBM Cloud 内のブロックチェーン・カタログ・ページにリダイレクトされます。そのページで「Starter Membership Plan (スターター・メンバーシップ・プラン)」を選択し、「Sign up (登録)」をクリックします。これによってスターター・プラン・ネットワークが起動するので、ネットワークの「Service name (サービス名)」を入力し、「Pricing Plans (料金体系プラン)」セクションで「Starter Membership Plan (スターター・メンバーシップ・プラン)」を選択してから、「Create (作成)」をクリックします。
  3. ウェルカム画面が表示されたら、最初に Don と Mark の入門動画を見るか、サンプル・アプリケーションをデプロイするか、独自のアプリケーションを開発してデプロイするかを選択します。
  4. 「Develop apps (アプリの開発)」を選択した場合、一連の簡単なステップに従って「IBM Blockchain Platform: Develop」ツールをインストールします。このツールを使用してネットワークをモデル化し、そのネットワーク定義をスターター・プランにデプロイします。詳細については、スターター・プランのドキュメントを参照してください。案内されるステップの概要は次のとおりです。
    1. ビジネス・ネットワークを作成およびテストするための開発ツール (npm モジュール) をインストールします。
    2. ビジネス・ネットワークを定義するために必要なすべてのコンポーネント (資産、参加者、トランザクションを含む) を格納するディレクトリーを作成します。
    3. ビジネス・ネットワークをモデル化するために、資産のクラス、参加者のクラス、トランザクションのクラス、イベントのクラス、アクセス制御ルールを定義します。
    4. 新しいビジネス・ネットワークを、ビジネス・ネットワーク・アーカイブ (.bna) と呼ばれる単一のデプロイ可能なファイルにパッケージ化します。
    5. .bna ファイルを IBM Blockchain Platform スターター・プラン・ネットワークにデプロイします。.bna ファイルがデプロイされると、REST サーバーが生成されて、RESTful API 呼び出しを作成できるようになります。これで、外部アプリケーションとブロックチェーン・ネットワークとのやり取りが可能になります。

他の方法を選んでブロックチェーン・ネットワークの構築を開始する場合

ローカルでネットワークを構築して実行するという方法を選ぶ場合は、このリンク先の手順に従って、Docker Compose を使用して Hyperledger Composer と Hyperledger Fabric をセットアップしてください。ネットワークをローカルにデプロイする手順については、このリンク先の IBM Code パターン「Build a blockchain network」で詳しく説明しています。

他の開発者がやり取りできるネットワークをセットアップする場合は、インターネットに公開されるネットワークが必要になります。IBM Cloud 内の Kubernetes クラスター上で動作するブロックチェーン・ネットワークを作成するには、このリンク先の IBM Blockchain ページで、Kubernetes 上に Hyperledger Composer をセットアップする手順を確認できます。また、他の開発者がブロックチェーン・ネットワークとやり取りできるように、API エンドポイントを公開する REST サーバーを作成する方法も参照できます。

オープンソースに徹し、コマンド・ラインを使って独力でコーディングを行うとしたら、Hyperledger.org にアクセスして、Hyperledger Fabric ネットワークを作成する方法に関するドキュメントを参照してください。

ヘルプとサポートを入手する

サポートや質問に対する答えを得るには、さまざまな方法があります。

  1. ブロックチェーンに関する一般的な問題:
    このリンク先の「dW Answers」で問題を検索します。すでに質問が挙がっている問題を閲覧することも、新しい質問 (キーワード blockchain を含めてください) を送信することもできます。
     
  2. IBM Blockchain Platform スターター・プランに関するヘルプ:
    UI 内の「Support (サポート)」セクションに、セルフ・ヘルプ向けの多数のリソースとリリース・ノートが掲載されています。掲載されているリソースを活用しても解決できないソフトウェアの欠陥や問題がある場合は、IBM Cloud サービス・ポータルからサポート・ケースを送信する手順も、このセクションで確認できます。サポート・ケースを送信すると、数分以内に e-メールで応答が返ってきます。
     
  3. 特定の Hyperledger Fabric 実装に関する質問:
    Hyperledger Rocket.Chat チャネルStack Overflow が質問の答えを見つける確実な手段です。
     
  4. Hyperledger に関するその他のヘルプ:
    このリンク先の「Hyperledger Channel Guide」を参照し、質問内容に適したディスカッション・グループに参加してください。

次のステップ

このクイック・スタート・ガイドの締めくくりとして、ブロックチェーンのスキルを磨くための 5 つの素晴らしい方法を紹介します。

  • developerWorks の Blockchain ニュースレターで最新情報を入手します。サブスクライブについて調べてください。
     
  • このリンク先の developerWorks Blockchain Developer Center にアクセスします。ここには、ビジネス向けブロックチェーン・ソリューションを開発してデプロイするためのツールとチュートリアルが揃っているだけでなく、コードとコミュニティー・サポートも入手できます。
     
  • 開発者向け Blockchain essentials コースで、資産移転の一部始終を学んでください。自分のペースで進められるこの無料の 2 時間のコースを修了したら、クイズに答え、バッジを獲得して、ビジネス・ネットワークに役立つブロックチェーン・アプリケーションの計画を開始してください。
     
  • このリンク先の開発者向け IBM Blockchain 基礎コースに取り組んでください。「Blockchain essentials」コースを修了した後の次のステップとして、この無料の 6 時間のコースではブロックチェーン・ネットワークのコンポーネントとアーキテクチャーをさらに詳しく探るとともに、ネットワークの構築とアプリケーションの作成を体験できます。
     
  • このリンク先のページでさまざまなブロックチェーン・コード・パターンを参照してください。このページには、複雑な問題を解決する際のロードマップに加え、概要、アーキテクチャー図、プロセス・フロー、リポジトリー・ポインター、その他の資料が揃っています。

ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=1040108
ArticleTitle=IBM ブロックチェーンの基礎: 開発者向けクイック・スタート・ガイド
publish-date=11292018