電子マネーサービス「point+plus(ポイントプラス)」の運営などを手掛けるアララは2016年10月11日、ブロックチェーン技術の電子マネーへの適用可能性を実証する実験の報告書を公開した(同社サイト)。

図●ブロックチェーン実証実験の概要
図●ブロックチェーン実証実験の概要
(出所:アララ)
[画像のクリックで拡大表示]

 この実験は、同年6月~8月に実施したもの。アララの出資先であるテックビューロが開発するブロックチェーンソフト「mijin」を使って独自のトークン「アララコイン」を発行し、電子マネーに多い多対1の取引を中心に、耐障害試験や負荷試験を実施した。

 主なシステム構成は、ブロックチェーンを管理するmijinサーバー4台と、決済用クライアント(スマホアプリやWebサーバーなど)とmijinサーバーとの通信を仲介するアプリケーション(AP)サーバー1台。いずれもAmazon Web Services上に構築した。

 この実験の結果、アララは「課題はいくつかあるものの、不整合性が発生することなく、1分間に3000以上の取引が可能であり、データの改ざんが困難かつデータ消失を防止する仕組みに実用性、容易性が高いことが証明された」(報告書)との結論を得たという。

 アララの実証実験は、自社内でのみ運用する「プライベートブロックチェーン」について、一般的なリレーショナルデータベースシステム(RDBMS)と比べた利点・欠点を考える上で貴重な材料を提供している。以下、アララの報告書と担当者への取材を通じ、RDBMSと比較したプライベートブロックチェーンの特性を読み解きたい。

重複取引の検知に課題

 報告書の結論にある「不整合が発生することなく」とは、同一の電子マネートークンで多重に取引が成立するような不整合がなかったことを指す。

 例えば、あるユーザーの電子マネーに100円の残高がある場合、この100円を支払う取引が何度も成立してしまうようなら、トークン残高に不整合が発生する。こうした不整合を起こさないことは、電子マネーの基本要件だ。

 RDBMSであれば、ある一連の取引(トランザクション)を実行中はDBの該当項目にロックがかかるため、こうした重複取引の問題は起こらない。1回の取引で残高データは100円から0円になるため、次の取引では100円をもう一度支払うことはできない。

 今回の実証実験では、各ユーザーのトークン残高は、4台のmijinサーバーがそれぞれ個別にブロックチェーン上で管理し、互いに同期を取っている。このため残高100円のユーザーについて、100円を使う二つの取引記録をほぼ同時に発生させ、それぞれ異なるmijinサーバーに送信すると、mijinサーバーは取引をいったん受領してしまう。

 最終的に、mijinサーバーが複数の取引記録を「ブロック」と呼ばれるデータに取り込み、過去のブロックに連結する際、残高がマイナスにならないよういずれかの取引記録が排除される。このため、全体としての整合性は保たれる。

 ただ、最新のブロックが作成されるまでの間(mijinの場合、設定にもよるが数秒間)は、決済端末側では重複取引を検知できない。10分たたないと検知できないビットコインよりは「まし」だが、これはロック機構を持つRDBMSと比べた一つの欠点といえる。

 この欠点をカバーするには、アプリケーション(AP)サーバー側からmijinサーバーに問い合わせ、取引が正しくブロックに取り込まれたかを確認する必要がある。ただ今回の負荷実験では、mijinサーバーからの返答を処理するため、APサーバーの負荷が高まりすぎる課題も見つかったという。

 今回の実証実験では、APサーバーは取引記録を作成する際の暗号処理のため、mijinサーバーと比較して常に高い負荷が発生していたという。電子マネーの運用において、決済端末とmijinサーバーを仲介するAPサーバーに高い負荷が求められるとすれば、運用コストの面では不利になってしまう。