クローズアップ close-up

ブロックチェーンを活用して、モビリティ社会における人々の意思決定に貢献したい。

川原純(かわはらじゅん)

ブロックチェーンチーム・リーダー
京都大学 情報学研究科 准教授

2009年に京都大学情報学研究科 博士後期課程を修了、博士(情報学)。京都大学情報学研究科 特定研究員、JST湊離散構造処理系プロジェクト 研究員、奈良先端科学技術大学院大学 情報科学研究科助教などを経て、2019年より現職。

人の悪意ある行動は、モビリティ社会でもさまざまな問題を引き起こす可能性がある。例えば、悪意ある人がカーシェアリングで車を借りた場合、時間内に車を返却しなかったり、車を壊してしまったりすることもあるかもしれない。今の社会は、こうした問題にうまく対応できていないのが現状だ。川原准教授は、「人々の適切な意思決定を促す仕組み」を作ることで、「悪意が原因で起こる問題」に対処しようとしている。研究に使用するのは、ビットコインのプラットフォームとして有名な、あの「ブロックチェーン」だ。ブロックチェーンを使って悪意に対処するとはどういうことなのか、それによりどのようなモビリティ社会が実現できるのか、川原准教授にうかがった。

※本記事は「モビリティ基盤数理研究ラボ」の前身となる「モビリティ基盤数理研究ユニット」時のものになります

アルゴリズム開発を通して世の中の課題を解決する。

——はじめに、先生の専門分野について教えてください。

研究テーマの大きなキーワードは「アルゴリズム」です。アルゴリズムとは、ある問題を効率的に解決するための手順です。身近なところで言えば、「コンビニでお菓子を買うとき、どのように小銭を出せば財布が最も軽くなるか」や「大根をいちょう切りするとき、どのような方法で切れば最も早く終わるか」もアルゴリズムの1種です。世の中の多くの研究者が、日々さまざまなアルゴリズムを研究しています。中でも私が取り組んでいるのは、社会システムの設計やブロックチェーンの性能向上を目的としたアルゴリズムの開発です。モビリティ基盤数理研究ユニットでは、後者のブロックチェーンに関する研究に取り組んでいます。

——ユニットの研究を通じて、人の悪意に対処するためにブロックチェーンを活用することを考えておられるとお聞きしました。「悪意」と「ブロックチェーン」がどうつながるのか、非常に気になるところです。

まずは、ブロックチェーンとは何か、からお話しましょう。一言で言えば、「分散的にデータを格納するデータベース技術」です。ブロックチェーンは複数のコンピュータが参加しているネットワーク上で構成され、全てのコンピュータが同じデータを持っています。つまり、データが分散されているのです。そのため、一部のコンピュータがダウンしてもデータは失われません。さらに、データの一貫性や正確性は proof-of-work と呼ばれる、ハッシュ(データの唯一性を示す、「データの指紋」のようなもの)や電子署名といった暗号技術を組み合わせた手法により確保されています。このような「分散性」や「正確性」が、ブロックチェーンの大きなメリットです。

ブロックチェーンベースのデータ構造のイメージ

私は、ブロックチェーンの分散性は、モビリティデータとの親和性が非常に高いと考えています。モビリティデータは人や車の移動に関わるものであり、将来的には災害時の避難経路確保などに活用されるでしょう。しかし、当の災害時にデータサーバーが壊れてモビリティデータが失われた場合、人々が適切に避難できず、犠牲者が増えてしまう可能性があります。その点、ブロックチェーンを使えばモビリティデータを分散的に格納しておけるため、災害場所近くのコンピュータが壊れたとしても壊れていない他のコンピュータによってデータ処理を継続させることが可能です。失いたくないデータを格納し、データ処理の可用性を高める技術として、ブロックチェーンはきわめて適しているのです。

さらに、ブロックチェーンには「スマートコントラクト(電子契約、賢い契約)」とよばれる仕組みを組み込むことができます。先ほどお話に出た「人の悪意への対処」には、このスマートコントラクトが役立つと考えています。

——スマートコントラクトという言葉は、初めて聞きました。どういった仕組みなのでしょうか?

簡単に言えば、「設定されたルールに従って、契約を自動で実行する仕組み」です。例えば、カーシェアリングで悪意ある客が時間内に車を返却しなかった場合を考えてみましょう。この場合、通常は管理会社が客に延長料金を請求しますが、客は支払いを拒否するかもしれません。そこで、スマートコントラクトが役立ちます。スマートコントラクトを使って、「車の返却時間が遅れたら罰金を支払う」というルールをあらかじめブロックチェーン上に書き込んでおくのです。そうすれば、返却時間を過ぎた時点でルール通りにプログラムが実行され、客の口座から延長料金が自動で支払われます。

ブロックチェーンの課題を解決して、モビリティへの応用を可能に。

——なるほど、それが「悪意への対処方法」なのですね。スマートコントラクトを使えば、悪意に限らず、人々のさまざまな行動や意思決定を適切な方向に促すことができそうです。

ただ、現状のブロックチェーンには多くの課題があります。モビリティ社会で実際に使用するには、これらの課題を解決しなければいけません。課題のひとつは、処理速度の低さ(スケーラビリティ問題)です。例えば、クレジットカードのシステムは1秒間に1万個以上のトランザクションデータを処理できますが、ブロックチェーンは1秒間に10個がせいぜいです。そこで私たちブロックチェーンチームは、ブロックチェーンのスケーラビリティを向上させるための研究に取り組んでいます。

——ブロックチェーンにはそのような課題があったのですね。どうやったら解決されるのでしょうか?

ブロックチェーンは、その名の通り「チェーン状(一直線)」にブロック(データを格納する入れ物のようなもの)を追加していく技術です。チェーンが分岐した場合は短い方のチェーンが破棄され、破棄されたチェーンに含まれていたブロック内のデータは処理し直す必要があります。これがスケーラビリティ低下の一因です。つまり、ブロックチェーンの仕組み自体に問題があると言えます。そこで我々は従来のブロックチェーンではなく、その後継とも言える新技術「DAG(Directed Acyclic Graph)型ブロックチェーン」を研究対象として採用しました。DAG型ブロックチェーンの場合はチェーンが分岐してもいいため、データをより効率的に処理できる可能性があるのです。

直線状にブロックが接続していく従来型ブロックチェーンと、分岐して接続していくDAG(Directed Acyclic Graph)型ブロックチェーン

とはいえ、DAG型ブロックチェーンにも課題はあります。分岐が許されるということは、正しいチェーンの途中に別のチェーンを追加しても問題ないということ。そのため、後から悪意のあるユーザーが自分に有利なデータが格納されたブロックを追加できるのです。我々はDAG型ブロックチェーンを実用化する課題の一つである、このような「不誠実なブロック」を無効と判定するアルゴリズムを研究しています。また、DAG型ブロックチェーン上で効率的にデータを扱うためのデータ構造も検討中です。

悪意のあるユーザーが自分に有利なブロックをつなげられるのが、DAG型ブロックチェーンの課題の一つ

——現時点で形になっている研究成果はありますか?

DAG型ブロックチェーンにおいてブロックが伸びていく様子を可視化するシミュレータを開発しました。また、先ほどお話した「不誠実なブロックを無効と判定するアルゴリズム」も形になってきています。今後は、作成したアルゴリズムが問題なく動作するか、シミュレータ上で確認する予定です。

次世代のブロックチェーン技術を開発したい。

——本ユニットでの研究を通じて目指したいことはありますか?

現在はDAG型ブロックチェーンの性能向上とスマートコントラクトでの活用を目標に研究を進めていますが、将来的には、より高性能な次世代のブロックチェーン技術を開発したいですね。ただ、ブロックチェーンが本当にモビリティに使えるものなのか、冷静に見極めることも重要だと思っています。少し「引いた」目でブロックチェーンと向き合いつつ、その可能性を最大限に引き出してあげたいですね。