ブロックチェーンで管理するのは「データ」だけではない
松浦:それを説明する上でもうひとつ、非常に重要なことがあります。
さっき僕は、ブロックチェーンでは「さまざまな行為の記録」が残せる、と言いましたね。ここでひとつ、皆さん、「記録」というと、データのことだと思いませんか? しかし実は、ブロックチェーンで残す「記録」は、誰かが誰かに何円送ったというデータだけじゃないんですよ。ブロックチェーンはプログラムそのものを残すんです。
吉本:……プログラムとデータって一緒ではないんですか?
松浦:たしかに電子的なデジタル情報という意味では同じですが、計算機がどう動作するのか、計算機の中でどう扱われるのかということに関してはちょっと違うんですね。それどころか計算機に対して「どういう影響を与えるのか」という見方をすると、別物なんです。
普通はそれぞれの計算機にソフトウェアが組み込まれていて、データを見ただけでどう動けばいいのか自動的に判断し、次の動作をします。いわば、データを受け取る「前」から決められたルールに従って計算するわけですね。
しかしブロックチェーンではたとえば、システムに参加している計算機が「誰かが誰かにいくらお金を送る」というデータを受け取った時に、「次にどういう動作をするのか」という指示も受け取ります。
受け取ってからどう動作するかを記述した「スクリプト」と呼ばれるプログラム自体も、個々の「取引データのかたまり」に含まれている。すなわち、「データと一緒にプログラムも記録に残っていく」んです。
したがって、過去にさかのぼり、「どういうプログラムに従って動作したのか」も含め、確かにそれが実行されたのかを検証していくことができる。
坂本:株の取引きでいうなら、そこには何人もの人が関わっているけれど、取引の情報を計算機に放り込むことで、その人間の部分が、プログラムとして、人間と同じ動きをするってことでしょうか。
松浦:というか、ブロックチェーンに取引情報を流すこと自体が、ある種の契約に相当するんです。
坂本:計算プログラムでもあるし契約でもある……。
松浦:はい、それで、スクリプトを使えば、暗号通貨や仮想通貨だけではなく、様々なシステムが非常に色々な用途に使える。これを「スマート契約」と呼んだりするんですが。
仮想通貨流出の原因は、技術ではなく「人」。財布の「管理が悪い」だけ
坂本:お話を聞いていると、「ブロックチェーンは万能」のような印象を受けます。不得意なところはないんでしょうか?