Open Source Software : Crypto Pay App

Open Source Software

Crypto Pay App

本アプリはパーミッションドブロックチェーンを使用し、コミュニティ限定の仮想通貨での決済機能を提供します。 決済機能の活用により、コミュニティ内での「商品の販売・購入」「参加者間での送金」ができます。

本アプリケーションはオープンソースソフトウエア形式(OSS)にて無料公開されています。 OSSを参照して頂くことで、技術者の方はBCアプリの全体像を掴みつつ、ご自身でソースコードを改変して理解を深めて頂けます。 以下は、OSSを公開した背景、用語の説明等を行います。

公開背景

本アプリケーションをオープンソースとして公開した背景には、株式会社ミクロスソフトウエアの「ブロックチェーンを社会基盤」にしたいという想いがあります。

ミクロスは、社長田中の「ブロックチェーンは近い将来社会を支える基盤になる」という想いから、4年前よりブロックチェーンの開発を始めました。 ミクロスではビジネスシーンでの活用を想定し、誰もが参加できる「パーミッションレス」ではなく、 参加者を制限できる「パーミッションド」ブロックチェーンを採用し、中でも「Hyperledger Fabric」というパーミッションドブロックチェーンを採用し、 現在アーキクチャの構築やアプリケーションの開発に力をいれております。

今回OSSにて公開するアプリケーション「Crypto Pay」は、「Hyperledger Fabric」を基盤に開発されたフルスタックアプリケーションであり、 ミクロスが開発を行ってきたBCアプリケーションの知見を活かしたものになっています。このOSSをご活用頂くことにより、単純にアプリを利用するだけでなく、 実際にソースコードを見て、BCアプリへの理解を深め、技術者の方や所属する組織に合わせてカスタマイズして頂くことができます。

そしてご活用頂く輪を広げていくことで、社会全体でブロックチェーンの開発が促進されること、ブロックチェーンがシステムの基盤となることを目的としています。

用語説明

パーミッションドブロックチェーン

パーミッションドブロックチェーンは、ブロックチェーン上で行われる取引に対して、許可された人だけが参加することができるブロックチェーンです。 ビットコインなどの世界中の誰もが参加できるパーミッションレスブロックチェーンを対照とした物であり、 主にコンソーシアムを組んで行われる企業間取引や、特定のコミュニティ内での取引など、閉じた範囲での取引に信頼性を与える用途で使用されます。

今回発表するOSSでは、特定のコミュニティ内で仮想通貨のやり取りを行うことができるアプリケーションをとして、パーミッションドブロックチェーンの機能を使用していますが、 一般的にも。それと似た用途で、企業間の商品のトレースや契約書の管理などに使用されている例があります。 気になる方は、IBM社などの先駆的にブロックチェーンをビジネス利用している企業の活用例をご覧になり、より理解を深めてください。

Hyperledger Fabric

「Hyperledger Fabric」は、非営利団体のLinux Foundation が開発を主導するパーミッションドブロックチェーンです。 IBM者が一番始めに開発をし、Linux Foundationに寄贈したという背景から、主にビジネス上の取引への活用が想定されています。

同様にエンタープライズ領域に特化した「パーミッションドBC」は他にもありますが、 HLFはGitHubでのスター数が抜きんでていることから、特に多くの技術者から注目を集めているBCと言えます。

Hyperledger Fabricは公式サンプルが出されており、現状は英語での文書がほとんどですが、日本語対応が進んでいることから、 開発のハードルは下がりつつあるようです。 さらに技術者からの人気も相まって、今後、日本でのビジネス利用が増えていくと考えられます。

課題整理

ビジネスシーンでの活用が期待される「Hyperledger Fabric」ですが、このブロックチェーンを学ぶハードルは依然として高いとミクロスは考えます。 なぜなら、Linux Foundationが公開している公式サンプルは、アプリケーションアーキテクチャの一部であるからです。 本来アプリケーションを作成する場合には、ユーザーインターフェース(フロント)を始めとした3層アプリケーション(フロント /バックエンド/ DB)から 構成するのが一般的ですが、一方で公式サンプル「fabric-sample」では、主にバックエンドとデータ保存層のブロックチェーンの2層に焦点を当てたサンプルが多いのです。 したがって、このサンプルを見ることで「Hyperledger Fabric」を使用した実装が可能になる一方で、 ブロックチェーンを学び始めた技術者にとっては、難解な内容になっているとミクロスは考えています。

つまり、公式サンプルだけでは、「ブロックチェーンに直接関係はないがアプリ全体を構成する部分」 と「ブロックチェーンに直接関係する部分」の関係性の把握が難しいことが課題になっていると言えます。

本OSSの狙い

前のセクションでも述べたように、「Hyperledger Fabric」は、特に初学者の方からすると全体像を捉えて学習することが難しいと、ミクロスは考えています。 そのため、今回のオープンソースで公開するアプリケーションは、「ブロックチェーンアプリの全体像を把握できること」を目的に作成しました。 具体的には、アプリケーションの3層構造をカバーしたものになっており、ブロックチェーンの関連部分に加えて、ユーザーインターフェースといった アプリに必須の構成要素も含んだアプリケーションになっています。 そのため、このOSSを参考にして頂くことで、技術者の方はブロックチェーンに関連した範囲だけではなく、他の機能との関連や全体における使われ方など、 1つのアプリの動きの中でブロックチェーンがどのように活用されているのかについても把握できるようになっています。

このOSSはBSD 3-Clauseライセンスにて提供されているため、ソースコードの改変や商用利用も可能になっています。 是非OSSの中身を把握するだけでなく、実際に手を動かして頂くことで、「Hyperledger Fabric」への知見を深めて頂くともに、 ご自身のアプリケーション開発に活用して頂きたいと考えています。