プリペイドカード/ポイントカードpoint+plus(ポイントプラス)」のサービスを運営するアララは、テックビューロが提供するプライベートブロックチェーン技術mijinを評価する実証実験を実施し、その結果を見て同社の実システムへの採用する方針を固めた。「1年以内に、世の中に出す新サービスにブロックチェーンを使っていく」と同社の代表取締役 Group CEOの岩井陽介氏は話している。なお、アララは2016年4月、テックビューロへ出資した会社の1社として名前が挙がっていた(関連記事)。point+plusにmijinを適用するプランはその時点で発表されていたものだ。
実証実験の結果、mijinを使い毎分3000取引(平均50取引/秒に相当)の取引を安全に実施できることを確認した。また、1取引あたりのコストを現行システムの30%程度まで削減できると見込んでいる。同社の報告書では「多対1で大量トランザクション(取引)が発生する当社point+plusのようなシステムにも(mijinを)十分適用が可能であるとの結論に達した」と記している。
実証実験で用いたブロックチェーンのネットワーク。AWS上の4ノートにブロックチェーンをホストする。地理的に分散させたノードを使った実験も行っている。
実証実験で構築したアプリケーションの概念図。
同社は、プリペイドカード/ポイントカードのpoint+plusをスーパーマーケットや外食チェーンなどに展開している。point+plusを活用したサービスには、例えば日本サブウェイの電子マネー付きポイントカード「SUB CLUB CARD」がある。このようなサービスの情報インフラとしてブロックチェーンを適用可能かどうか評価するため、電子マネー分野のユースケースを想定したアプリケーションをmijin上に構築し、性能、可用性、取引の整合性に注目した実証実験を実施した。実証実験の結果は報告書として公開する。
電子マネー系サービスへのブロックチェーン適用を表明
ブロックチェーンの実証実験は金融機関を中心に各所で進められているが、今回の取り組みは2つの点で注目したい。1点目は、比較的詳細な報告書が開示されること。2点目は、世の中に出すサービスでのブロックチェーン技術の適用を進める考えを明らかにしていることだ。ブロックチェーンの実証実験は日本企業でも多数多数行われているが、実システムへの適用を決めたことを表明している企業はまだ多くない。
同社の岩井CEOは「電子マネー事業を手がけているので、以前から仮想通貨には興味を持っていた。知れば知るほどビットコインは凄い。その仮想通貨を支えるブロックチェーンの有用性を我々のサービスにも取り込めばメリットがあると考えた」と語る。
同社が特に解決したかった課題の一つが可用性だ。「サーバーでアクシデントがあるとサービスが停止してしまう。例えばスーパーマーケットのレジで人が並んでいる状況でサーバーが落ちて決済できない状況が生じると、現場は大混乱をきたす。2重、3重の対策を取ってはいるが、より強固で安全性が高いシステムを作る技術としてブロックチェーンに期待している」(岩井氏)。
可用性とコストの両立、それにセキュリティの高さも魅力だった。「従来の情報システムのディザスタリカバリは高価につく。地理的に分散したノードに配置したブロックチェーンの場合、トランザクション処理系についてはディザスタリカバリが不要となる。それにマルチシグネチャ、複数の人が承認しないと取引を確定できない仕組みも、セキュリティ向上のために魅力的だった。内部犯行でも改ざんが困難となる」(執行役員 技術本部 本部長 開発部 部長の鳥居茂樹氏)。
実証実験では、mijinの機能であるMosaicを用いて仮想通貨トークン「アララコイン」を用意し、スマートフォン上のウォレットアプリにより社内電子マネーとして活用するユースケースを想定した。10万ユーザー、1024部門の組織を想定し、過去の取引の蓄積データとして560万取引の規模の環境を用意した。ブロックチェーンをホストする4ノードのうち2ノードを定期的にリブートして整合性に問題が出ないかを調べた。またAWSの東京とシンガポールの各リージョンにノードを分散し、地理的に離れたノード間通信のレイテンシが挙動に影響するかどうかにも注目して実験を行っている。
アプリケーションは内製
実証実験のアプリケーションはアララが内製していることは要注目といえる。「mijinの環境構築は(提供会社の)テックビューロに支援してもらい、それ以外はアララで用意した。mijinのアプリケーション開発に必要なNEM Core APIを使ってアプリケーションを構築した」(鳥居氏)。同社の報告書では、処理時間が極端に長かったAPI処理を発見して改善する一種のトラブルシューティングを実施したことも記している。ブロックチェーン上のアプリケーション開発ができるエンジニアの数はまだ少ない中、ブロックチェーン上のアプリケーションを自社開発する能力を育てつつあると見ることもできる。
「ゼロ承認」でmijinを使う場合の整合性を調べた
実証実験では整合性を重視している。その背景として、ノードの障害からの復旧、地理的に離れたノードの扱いがあるが、実はもうひとつ大事な話がある。同社はmijinをゼロ承認で使うやり方で問題が出ないかも調べたのだ。
このゼロ承認については少々の説明が必要となる。mijinや他の多くのブロックチェーン(ビットコインを含む)では「取引が確定するか否か」は厳密にいうと時間と共に0に収束していく確率値となる(この点を否定的に捉えて「ファイナリティがない」と表現する場合もある。なおORB1やHyperLedgerのようにファイナリティを重視する仕組みを取り入れたブロックチェーン技術も存在する)。そこでブロックチェーン上の取引では、ある一定数のブロックが生成されたことを確認した上で取引が確定したものとみなす慣習となっている。
だが、「一定数のブロックの生成を確認してから取引を承認する」やり方では、取引の実行から確定までに時間がかかりすぎる。だが、アララのサービスであるポイントカード/プリペイドカードのサービスでは、取引は瞬時に完結させることが求められる。「電子マネー分野では取引は瞬時に完結しないといけない」(岩井氏)。
そこで、今回の実証実験ではブロックチェーン上の承認を待たずに取引を確定させる「ゼロ承認」で取引を確定させる仕組みとした。厳密さを重視する考え方からは、このような仕組みにすると二重支払いのような不整合が発生する可能性をゼロにできないが、実証実験の結果では不整合は発生しなかったとしている。
なお、ブロックチェーン上の取引をゼロ承認で使う例は他にもある。例えばレジュプレスが展開するビットコイン決済システムのcoincheck paymentでは、ビットコインのパブリックブロックチェーンの上でゼロ承認で取引を確定させている。
今回アララが実施した実証実験は、いわばmijinのスペックが公称通りかどうかを確認した内容といえる。それだけでなく、アララがブロックチェーン上のアプリケーションの構築運用の経験を積む側面もある。ブロックチェーン技術への評価が定まっていない段階で、同社が実システムへの適用を目指して手を動かす経験を積んだことには敬意を表したい。