ブロックチェーンを使用して、民間非営利団体の間のコラボレーションを促進する

概要

このコード・パターンでは、必要とする人々に物品を配布する民間非営利団体 (NGO) の間で需要と供給を管理できるよう、Hyperledger Fabric ネットワークを使用してコラボレーションを促す方法を説明します。需要と供給にずれがあると、物品や材料の供給過剰あるいは供給不足につながる可能性があります。肝心なときに、物品の需要と供給の要望に関する正確な情報を入手するための信頼できるシステムがないことはよくあり、NGO が共通して直面する問題になっています。この開発者コード・パターンでは、Hyperledger Fabric ネットワークを使用した透明性のある方法で、平常時でも非常時でも NGO 同士が連携して効率的に物品や材料を配布できるようにするための方法を説明します。

説明

NGO とは、政府から独立して活動する非営利団体であり、社会福祉や社会的発展のために貢献しようとする市民からなるボランティア組織のことです。通常、NGO の資金は寄付によって賄われていますが、公的な資金提供を一切断り、ボランティアを中心に運営している NGO もあります。いずれにしても、すべての NGO には独自の使命と目標があります。

ニーズのある個人や組織は NGO に助けを求めることができますが、単独の NGO では特定のニーズに対応できない場合もあります。また、エンド・ユーザーがどの NGO に助けを求めればよいのかわからないこともあります。こうした場合、NGO は互いに争うのではなく、歩み寄って最善の結果を達成するために協力し合うことが理想となります。けれども互いを誤解していたり、信頼が欠如したコラボレーションであったりすると、パートナーシップによって最善の結果を達成する可能性が失われてしまいます。

このコード・パターンで紹介するブロックチェーン・ベースのソリューションを使用すれば、同様の、あるいは異なるポートフォリオを持つ NGO が団結して共同体を形づくることができます。例えば、教育用の書籍を求めるニーズを持つ個人または団体がある NGO に助けを求めてきたときに、その NGO がニーズに応えられない、あるいは単独では対処できないとします。こうした場合、その NGO がブロックチェーン・ネットワーク内で新しいリクエストを作成します。ニーズに貢献できる他の NGO は、このブロックチェーン・ネットワークを介してリクエストを更新するという仕組みです。このようなネットワークがあれば、ニーズとその現状を全体的な視点でとらえ、ニーズに効率的に対処できるため、供給過剰や供給不足の問題が削減されます。このプラットフォームは、NGO 間での活動に信頼性、説明責任、透明性をもたらします。

この複合パターンは、他の 2 つのコード・パターンに基づくソリューションを説明しています。

フロー

フロー

  1. Kubernetes 構成ファイルを使用して、IBM Cloud 上にブロックチェーン・ネットワークをセットアップします。
  2. Fabric Java SDK を使用したクライアント・アプリケーションをデプロイします。このアプリケーションは中間層として機能し、REST API を公開します。
  3. Node.js を使用して作成された Web UI アプリケーションをデプロイします。
  4. ユーザーは Web インターフェースを使用して以下のタスクを行うことができます。この Web インターフェースは中間層を利用して、内部でブロックチェーン・ネットワークと相互作用します。
    • 新しいニーズを作成する
    • ニーズに対する貢献を申し出る
    • ニーズを表示する

手順

詳細な手順については、README を参照してください。手順の概要は以下のとおりです。

  1. コードを入手します。
  2. Kubernetes を使用して、Hyperledger Fabric ネットワークを IBM Cloud 上にデプロイします。
  3. Fabric Java SDK をベースにクライアント・アプリケーションを作成します。
  4. Web アプリケーションをビルドしてデプロイします。
  5. 結果を分析します。