[画像のクリックで拡大表示]
伊本貴士=メディアスケッチ 代表取締役、サイバー大学客員講師

 2018年9月20日、仮想通貨取引所である「Zaif」から仮想通貨が67億円相当の仮想通貨が流出しました(関連記事)。Zaifといえば、仮想通貨における取引所として大手に当たります。

 記憶に新しい人も多いと思いますが、仮想通貨の流出といえば2018年1月に同じく日本の大手取引所である「コインチェック」から580億円分の仮想通貨が流出しています(関連記事)。同じ年に数十億円以上の仮想通貨が2回も流出してしまったのです。銀行強盗で数十億円もの規模の事件が起きたという話は、少なくとも日本では聞いたことがありません。そう考えると、この事件が重大で緊急性の高いものだということが理解してもらえるでしょう。

 そもそも、この事件はなぜ防げなかったのか。そして、何が問題なのかについて考えてみましょう。

そもそも仮想通貨とは何か

 最初の仮想通貨である「ビットコイン」は、銀行のような管理組織がなくても取り引き可能な通貨を作ることを目的に開発されました。そのため、仮想通貨は「ブロックチェーン」という技術の上に成り立っています。

 ブロックチェーンは、銀行のデータベースでデータを管理するのではなく、取り引きに参加する全てのコンピューターでデータを共有する仕組みです。世界中のコンピューターで同じデータを共有しているため、データ改ざんが難しいという特徴があります。一部のコンピューターをハッキングしてデータを改ざんしても、他の多くのコンピューターが改ざん前のデータを持っているからです。

 仮想通貨の世界では、このブロックチェーンの仕組みで、「誰が」「どれくらいのコインを所有しているか」という情報を共有しています。

仮想通貨における送金とは

 今回の事件の「仮想通貨の流出」を端的に説明すると、見知らぬ第三者の仮想通貨の財布「ウォレット」に仮想通貨が勝手に送金されたということです。では、仮想通貨の送金ではどのようなことが起きているのかを確認してみましょう。

 まず、仮想通貨のブロックチェーンにAさんが1コインをCさんから受け取ったと記録されます。(Aさん:+1コイン)

 次に、Aさんが所有している1コインの利用権利をBさんに譲ります。(Aさん:−1コイン、Bさん:+1コイン)

 この時点でAさんが利用できる権利を持つコインは0(ゼロ)コインです。一方、Bさんが利用できる権利を持つコインは1コインです。

 このように、「自分が持つコインの利用権利を他の人に譲渡する」という行為が仮想通貨における送金です。

 ここで、Aさんが所有権を持つコインはAさん以外の人が送金できないようにしなければなりません。そのために、ブロックチェーンでは「秘密鍵」というものを使っています。秘密鍵は本人であることを証明するもので、現実世界の「印鑑」に相当するものです。

 コンピューターにおける秘密鍵は、256ビットといった非常に小さなデータです。この秘密鍵がないと送金ができない仕組みになっています。

 逆に言えば、Aさんの秘密鍵が第三者に漏れるとAさんが権利を持つコインは全て自由に他の人に送金できてしまいます。また、それはブロックチェーン上ではAさんが許可したと見なされるため、正規の取り引きとして登録され、全世界に共有されて送金が成立します。

 つまり、仮想通貨の流出というのは、コインを持つ人の秘密鍵が第三者に漏れたことを意味しています。