bitFlyerは同社が独自開発したプライベートブロックチェーン技術「Miyabi」を発表した。3大メガバンク(みずほフィナンシャルグループ、三井住友銀行、三菱UFJフィナンシャル・グループ)とデロイトトーマツグループによる実証実験の報告書が11月30日に公開されているが(関連記事)、ここで用いたブロックチェーン技術がこのMiyabiであることも今回明らかにした。
bitFlyerの説明によれば、Miyabiはすでに製品と呼べる段階にある。すでに、前述の3大メガバンク以外のある大手企業の顧客での検証が進んでいるとのことである。ただし「とても問い合わせ全部には対応できないので大型案件を中心に取り組んでいる」(加納氏)。大型案件は時間がかかることから「事例として登場するのは、来年(2017年)ではまだ難しいだろう」(加納氏)というスケジュール感である。適用分野としては「複数の企業が参加する、ある程度大きなシステムに向いている」。いわゆるコンソーシアムチェーン向けの技術ということになる。つまり、従来は第三者機関が台帳管理を行っていた分野に適用することで、取引のコストや所要時間を大幅削減可能な技術としての使い方がスイートスポットになる。発表会では、銀行、証券会社、シェアリングエコノミー(空き家の活用、カーシェアリング)、食品トレーサビリティ、不動産登記、マイナンバー、電子政府などへの活用が可能であるとアピールした。
ビジネスモデルとしてはSI(システム構築)よりもプラットフォームを志向していると話しており、「今後1〜2年の間に、BaaS(Blockchain as a Service)の形でプラットフォームとしてMiyabiを提供することも考えている」とのことだ。BaaSはクラウドサービスとしてブロックチェーン技術を提供するもの。ブロックチェーンでは、トランザクションごとの電子署名を行うこと、ブロックチェーン上の記録も耐改ざん性が高いことから、クラウド上の情報システムであっても厳重な物理的セキュリティに守られた情報システムと同等以上に記録内容が信用できると考えられている。
Miyabiは、前述の3大メガバンクとデロイトトーマツによる実証実験では1500tps(トランザクション/秒)の性能を実証している。「ファイナリティを持たせた上で秒間1500件の処理性能を第三者が検証した例は他にない。世界最速だ」とbitFlyer代表取締役の加納裕三氏は話している。なお、1500tpsは全銀システムの処理性能をやや上回る数字だ。加納氏は「別の環境では1万tpsも達成可能だ」とも話している。
他社製品の例として、プライベートブロックチェーン技術mijinの次世代版が4000tpsの性能を記録している(関連記事)。これを見ると、最新のプライベートブロックチェーン技術の処理性能はほとんどの業務システムの要求に対応できる段階まで来ているようである。ただ、これらの数字は前提が異なるので比較する場合には注意が必要だ。
加納氏は「直線だけ速くて曲がれない車を作っても仕方ない」と話す。ブロックチェーン技術は使い方の幅が広く、自動車のように総合性能で見ないと速さを議論できないというのだ。プライベートブロックチェーンの性能は、地理分散をどう扱うか(例えば1地域内のノード群だけで合意して高速性を達成し、他の地域のノードはバックアップとして扱う設計もありうる)、アプリケーションの種類(銀行と電子マネーでは特性が異なる)など使い方に大きく左右される。ブロックチェーン技術の性能の比較可能な数字をどうするか、このあたりは今後課題となってくるだろう。
独自の新合意アルゴリズム、貨幣型、スマートコントラクトを組み込み
発表資料によれば、Miyabiの特徴は、次のようになる。
(1) 独自設計の合意アルゴリズムBFK2
ビットコインで用いているPoW(Proof of Work)の挙動が確率的(取引が覆る確率が時間とともに0に収束する)であるのと異なり、挙動が決定論的、つまりファイナリティ(決済の確定性)を確保している。また計算競争にエネルギーを消費するPoWと違い省エネルギーとのこと。PoWと違いノード数は既知であることが前提。n台のノードがあるとき、(n-1)/3台までのビザンチン故障(例えばノードが乗っ取られて不正をする可能性を含む)に耐え、(n-1)/2台までのハードウェア障害(ノードが不正をしない単純な故障)に耐える。例えば13ノード中4ノードのビザンチン故障に耐え、6ノードまでのハードウェア故障に耐える。
このアルゴリズムの詳細は非開示だが、「ブロックの承認に使うこと、ファイナリティを持つことを前提とした合意アルゴリズムで、仕組みは(分散システム研究から生まれた合意のアルゴリズムの)Paxosに近い」(小宮山峰史CTO)とコメントしている。
なお、このアルゴリズムの前提はノード数が既知であることなので、不特定多数のノードが自由に参加/脱退する環境には適用できない。ただし、2種類のノード(合意ノードと参加ノード)を分けており、合意形成に参加するノードだけが既知のノードで、他のノードは不特定多数でもよい。「ビットコインのネットワークも、実質的な合意形成は一部のマイナーたちで実施しており多数派のノードは参加しているだけだ。それと似ている」(加納氏)。
(2)「貨幣型」を組み込み
ビットコインのデータ構造(UTXO)はコインを取引した結果の総額(入出力の合計)が一致するように設計されている。Miyabiでは、この考え方を参考に「総額の増減がない」など貨幣特有の制約条件を組み込んだ「貨幣型」を導入し、プログラム開発の負担を減らし、システムの信頼性を高めたとしている。具体的には、トランザクションごとに、電子署名の強制、総資産が一定の強制、残高が非負であることの強制が働き、不正やバグが発生しにくい仕組みとしている。
(3) 独自のスマートコントラクト環境「理(ことわり)」
ここでいうスマートコントラクトは「ブロックチェーン上で動作するプログラム」のこと。特徴として、合意アルゴリズムと共に動作させることで外部のデータを取り込むときの決定性を保証する仕組みを備えている。例えば外部から金融商品の価格や利回りの情報を入手するとき、ノードごとに「時差」がある場合に時差に応じて数字が変わってしまうが、ここである一つの時点の数字を選び決定できるようにした。
プログラミング環境として.NET Frameworkを用いており、C#などのプログラミング言語を使える。他の対応言語は検討中とのことだ。
このほか「キャンセル機能」もMiyabiが導入した新しい機能の一つだ。ブロックが承認される前であれば、トランザクションを取り下げ、ブロックの記録に含ませないようにできる。
「ビットコインの設計思想に影響された」
bitFlyer代表取締役の加納裕三氏は「自分たちはサトシ・ナカモトを尊敬している。Miyabiもビットコインの設計思想に影響を受けている」と語っている。bitFlyerではビットコイン取引所を開設するにあたり、独自実装のクライアントソフトを開発するなど自前技術にこだわってきたのだが、その過程で新たなブロックチェーン技術の開発に乗り出すことになった。発表会にゲストとして登壇したカレンシーポート代表取締役CEOの杉井靖典氏は「やはり、(ブロックチェーン技術を)作りたくなっちゃったんだなと思いました」と、“ブロックチェーン界隈”の雰囲気を伝えるようなコメントをしている。
今回の発表内容を見る限り、Miyabiはほとんどのエンタープライズシステムの要求に対応できる内容を備えている。処理性能、ファイナリティ、貨幣型、スマートコントラクトでロジックを組み込める性質は、エンタープライズシステムの要求にはマッチしそうだ。3大メガバンクが参加した実証実験で使われたという実績もある。発表会では技術の説明にかなり時間を割いたのだが、それでもユーザー企業が製品として検討するには技術情報の量はまだまだ乏しい。今後さらなる情報公開を期待したいところだ。
最後に、発表会のゲストの杉井氏の言葉を紹介したい。「日本が開発の中心になっているブロックチェーンはいくつかある。HyperledgerプロジェクトのIroha、mijin、Orb、Keychain、それに本日発表のMiyabi。これだけたくさんの基盤技術を日本のベンチャー企業がリスクを取ってやっている。失われた20年の中では珍しい動きではないか」。日本のスタートアップのブロックチェーン技術には、今後もまだまだ動きがありそうだ。