複数の企業や個人の間で真正性のある共有場所を設ける技術がブロックチェーン
3年前よりブロックチェーンの現場を担当している廣瀬氏。「ブロックチェーンでプログラミングしている人には、最初の部分は少し退屈かもしれないが」と前置きした上で、廣瀬氏のセッションは始まった。
ブロックチェーンは、仮想通貨がきっかけで使われ始めた技術なのでブロックチェーン=仮想通貨というイメージを持つ人が多いかもしれないが、本来は複数の企業や個人の間で真正性のある共有場所を設ける技術である。
これを実現するのが、ブロックチェーンが有する4つの機能である。第1は電子署名。これは公開鍵と秘密鍵技術により実現しており、この技術を使って不正を防止し、信頼あるデータを確立するのだ。第2は分散。データベースの複製をネットワークの他のシステムへ作成、データの喪失を防いでいる。第3はデータの共有。ブロックチェーンでやり取りするデータは参加する組織の間で直接共有できる。第4は台帳。台帳は記録されたものの更新や改変ができないようになっている。つまり台帳にすべてのデータが不変に記録されるというわけだ。
ブロックチェーンの登場は2008年頃。当初は価値記録のためのシンプルな台帳だったが、ブロックチェーン2.0では、「スマートコントラクト」と呼ばれるブロックチェーンにふるまいを記述できるプログラムが追加された。「RDBMSのストアドプロシージャに近い。それを思い浮かべるとわかりやすいと思う」と説明する。ブロックチェーンネットワークの各アドレスに展開され、コントラクトを実行することに加え、静的変数や関数など、各アドレスにロジックを追加し、実行することができるという。
スマートコントラクトでどんなことが実現できるのか。例えばIDはその1つ。ブロックチェーンではそのネットワーク空間において唯一となるアドレスと秘密鍵を発行するからだ。また通貨やポイント、クーポン、バウチャー、オークションなど一次価値を移転し記録することができるようになる。登記、遺言、出生などの証明なども可能だ。「エストニアでは国民投票にブロックチェーンを使っている」と廣瀬氏。医療記録や診療記録、処方箋などに活用すれば、「いつでもどこでも自分のカルテや処方箋が見られるようになる。特にこの分野で活用が進むのでは」と期待を込める。
というのも廣瀬氏は15年前、日本医師会総合政策研究機構(日医総研)の客員研究員として医療情報に関する研究に従事していたのだ。そのほか、鉄道の遅延証明書、製造記録や流通過程、真正性の証明なども実現できる。マイクロソフトでは製造記録、流通過程、真正性証明などのトレーサビリティの事例が多いが、「中国では実際にトレーサビリティの分野でブロックチェーンは大活躍している」と説明する。
ブロックチェーンは参加形態によって3種類に分かれる。1つがパブリック。これは誰でも参加でき、匿名でもOKというもの。この代表例がビットコインだ。第2のプライベート、第3のコンソーシアムはともにエンタープライズ向けのブロックチェーンで、ネットワークの参加に対しては、何かしらのルールを決めて参加承認制を取っていることが多い。「プライベートは1社やグループで使われる場合が考えられるが、データベースでも良いのではとよく言われている」と廣瀬氏。
合意のためのアルゴリズムもさまざまある。例えばパブリックでは、Proof of Work(作業)が使われる。スパム対策が目的である。計算問題を解決させ、作業証明を持つものがブロックの追加権利を持つというアルゴリズムだ。またコンソーシアムやプライベートでは、Proof of Authority(権限)が用いられることも多い。例えば交通費申請や出張精算など、上司にハンコをもらうのと同じで、Authority(権限者)に承認を得ることによって、ネットワークにおける合意とするものだ。
他にも、ブランドや個人の価値を反映し、評判と信頼度のスコアによって合意するProof of Reputation(信頼度)、通貨保有量やトランザクション回数などから重要度を算出し、優先度を設けて合意するProof of Importance(重要度)、一部の分散台帳で利用されるPBFT、RAFTというアルゴリズムもある。
「範囲の共有もブロックチェーンの技術で異なる」と言う。ビットコインのように、すべてのノードでデータを保持する「ブロードキャスト」や、特定のノードグループ同士が共有できるチャンネルを設け、相互に証明書を使って検証する「チャンネルブロードキャスト」、ネットワーク上に存在するノード同士がそれぞれのトランザクションを1:1で通信し、台帳へ格納する「ユニキャスト」の3種類がある。「使い方の要件を定義しないとどのブロックチェーンを使うかが決まらない。そこをまずは把握すること」と廣瀬氏は説明する。