ブロックチェーン活用技術「mijin」のホームページ解説を読み解く(その1)

あけましておめでとうございます。今年のこちらはより一層技術(IT業界)ネタに絞って書いていこうと思いますのでよろしくお願いします(たまにセンシティブウェブネタとかはこっちに書くかも)。
さて、今年の個人的トレンドはこの「mijin」。ブロックチェーン技術が一般的な金融機関で活用されることには否定的な見解(例えばこれ)もありますし、最初に住信SBIネット銀行の話を聞いた時は「え?何に使うの」って思ったことは否めませんが、そんなことばかり言っていると色々取り残されてしまいそうなのでまずこいつらが何をしようとしているのか、というところは押さえていきたいですね。

ということで、非常に個人的スタディではありますが、mijinのホームページに書かれていることを読み解いていきたいと思います。

mijinとは?

そもそも、ブロックチェーン技術をBitCoinのような分散型の電子マネープラットフォームじゃない使い方をすることの目的はなんなのでしょうか。

mijinの名は、忍者の武器である「微塵」に由来します。3本の鎖に分銅がついたこの武器は、敵を「微塵」に打ち砕くことからそう名付けられました。
mijinは、既存のデータ管理インフラの常識とコスト構造を打ち砕きます。

mijin | ブロックチェーン構築プラットフォーム

ここに示されているように、目指すゴールはコスト削減のようです。ブロックチェーン技術は分散システムであり、ゼロダウンタイムシステムであるという特徴を活かすということでしょう。しかし、BitCoinに見る限り、このシステムはパブリックなネットワーク上で多くの計算機が膨大なCPUコストを消費した結果で維持されているように見えます。果たしてこれがコスト構造をどう打ち砕くのか。

プライベートブロックチェーン技術

mijinの特徴は、特定のネットワークに閉じたブロックチェーンの構築です。

ビットコインを代表とする、誰もがノードとして参加できるように公開されているブロックチェーンは「パブリック」であると言えます。それに対して、mijinはあなたが管理するネットワーク上で、指定したノードだけが参加することができる「プライベート」なブロックチェーン(Permissioned Blockchain)を構築するためのプラットフォームです。

http://mijin.io/about-mijin#

まあそれは原理上難しいことではないですよね。多分肝はブロックチェーンが必要とする計算量をプライベート上で確保することだと思うのですが、まだそこの話は読み取れません。というところで別の解説記事を引用。

加えて、ノード間のコンセンサス(同意)機構について、ノードの計算資源に依存した「proof of work」は採用せず、コイン保有量などに依存する「proof of stake」を採用する。プライベート型で利用する限りは、ビットコインのようなパブリック型チェーンと比べて悪意あるノードが入り込む余地が少なく、悪意あるノードを排除するため大量の計算資源を消費するproof of workは必要ないとの判断である。

[2]国内発ブロックチェーン「mijin」「Orb」の特徴を知る | 日経 xTECH(クロステック)

ふむふむ。つまり、参加するノード自体が信頼できる以上、信頼を担保するための膨大な計算量は必要ない仕組みで構築可能ということか。技術的な是非はともかく、理屈は通っているようですね。これはmijin(と元になったOSSであるNEM)の大きな特徴でしょう。

mijinの特徴

じゃあ、mijinそのものの特徴は何と喧伝されているのかを見てみましょう。

mijinで構築されたブロックチェーンは、以下のような特徴を兼ねそろえます。
「消えない」
ブロックチェーン上に記録されたデータは、全てのノードを停止するまでは消えることがありません。
「改ざんできない」
公開鍵暗号技術にて署名されたデータは、第三者によって改ざんすることができません。
「ゼロダウンタイム」
ブロックチェーンでは、既存の「クライアント・サーバー」方式では不可能な「ゼロダウンタイム」を実現します。

http://mijin.io/about-mijin#

ミッションクリティカルなトランザクションシステムにおけるパーマネントなデータ(あえてうざい言い方)に慣れ親しんでいる僕からすると「すべてのノードを停止するまで消えない」は「消える」に見えてしまいます。ブロックチェーンそのものはいわゆる「全取引履歴のデータベース」と言っても良いのでブロックチェーンが消えないかぎりはすべての取引履歴がそこにある=資産の把握ができるということにはなります。なので、「全てのノードが停止することはない」ことが大前提です(これは物理的な分散化が必要ということ)。
また、「改ざんできない」という点についてはプライベート型であるという前提であれば若干微妙な気がします。「proof of stake」を採用するのはノードが信頼できるからであるため、署名されたデータが改ざんされないことは当たり前として、悪意のあるブロックチェーンが入り込むことはそもそも想定していないんじゃなかろうかと。既に認められたブロックチェーンを後から改ざんできないという意味であればわかる。とはいえ、完全にオープンでないシステムに悪意のある少量のシステムが紛れても大丈夫、くらいではありそうです。
そして「ゼロダウンタイム」こそがここで重要になる特徴ですね。前の2点についてはトランザクションシステムとしては絶対必要な機能要件的なものですが、ゼロダウンタイムというのは非機能の話であり、ミッションクリティカルなシステムのコストセンターであると言えます。必要数のノードがあれば機能するブロックチェーン技術においては、個々のサーバーの生き死にはあまり問題ではない=サーバーが死んでも短期的には影響ないということをゼロダウンタイムと呼ぶのは妥当かとは思います。

さて、ここまでの話でだいたい見えてきたのはmijinが目指しているのは当然ながら「中央集権的な管理を必要としないシステム」「主体的に止めることを選択できないシステム」ではないということです。あくまでブロックチェーンという技術を応用して、管理されたシステムの中で高速化、インフラコストの効率化を図っていきましょうということですね。

mijinのやりたいことがだいたい見えてきたところで次回に続く。