この記事は日経 xTECH有料会員限定ですが、2018年3月1日13時まではどなたでもご覧いただけます。
コインチェックは、インターネットに接続していないオフライン端末で送金用の秘密鍵を管理する「コールドウォレット」を使わず、インターネットに接続した端末で管理する「ホットウォレット」に仮想通貨を保管していたのが、コイン流出の一因になったとされる。世界の一般的な交換所はどのような手段でコールドウォレットを運用しているのか。
様々な方法がある。(秘密鍵をQRコードなどの形で紙に印刷する)ペーパーウォレットを使ってもいいし、「TREZOR」のようなハードウエアウォレットを使う手もある。TREZORはPCのUSBポートに差し込むことで使える。ハードウエア内部で秘密鍵を保管するため、秘密鍵を端末側にコピーすることはできず、利用者自身も秘密鍵を知る手段がない。もちろん悪意を持ったハッカーもアクセスできない。
TREZORでNEMの秘密鍵を扱えるようになったのは2017年12月以降だ。それ以前には交換所はどうしていたのか。
ほとんどの交換所は、インターネットに接続していないオフラインのコンピュータ端末に秘密鍵を保存していたようだ。そのオフライン端末で顧客資産の80~90%に当たるコインを管理する。オフライン端末はあまりは使わず、日々の送金作業はホットウォレットで行う。
近々登場する新バージョンのウォレットアプリは、オフライン端末でウォレットを運用しやすくする新機能を実装する。
まず公開鍵・秘密鍵ペアと対応するアドレスをオフライン端末(PCやスマートフォン)で生成し、別のアドレスからコインを入金することで、コールドウォレットを作成する。
コールドウォレットから送金したい場合、まず送金先アドレスの情報を含むQRコードをオフライン端末のカメラで読み取る。このQRコードを基にオフライン端末で署名済み取引データを作成し、署名済みデータをQRコードに変換してオフライン端末の画面に表示する。このQRコードを、インターネットに接続したオンライン端末のカメラで読み取り、インターネット上のNEMブロックチェーンに送信する。我々はこの機能を「Hot/Cold Wallet」と呼んでいる。