知人からホットウォレットとコールドウォレットを見分ける方法がないかと聞かれました。
正直なところ、完璧に見分ける術は思い当たらないのですが、あたりをつけてみる方法を考えてみます。
話題になったきっかけ - Zaif取引所のホットウォレットからコールドウォレットへの移動
10月5日にZaif取引所のXEM資産について、ハッキングを受けたことからホットウォレットからコールドウォレットへ移動するというPRがなされました。
お客様預かり資産保護対策の一環として、現在の入金用ウォレット(※1)より、
保管用コールドウォレット(※2)への資金移動を行います事を事前にご案内いたします。
なお、その間もお客様は従来どおり取引所をご利用いただけます。
移動元: NAGJG3QFWYZ37LMI7IQPSGQNYADGSJZGJRD2DIYA (入金用ウォレット)
移動先: NCES7OKBYZRCSTSNRX45H6E67J6OXABKNT6IRD2P (コールドウォレット)
こちらの移動前の入金用ホットウォレットですが、世界3位のリッチリストとしてランクされていまして、およそ7億2100万XEMが存在していました。
10月5日時点で1XEM=約14円ですので、レートで計算するとおよそ100億円になります。
ハッキングを受けた後も100億円程度の資産がオンライン環境にあったようです。
参考:インシデントタイムライン
- 9月14日:ハッキングの発生
- 9月20日:ハッキング被害発生の公式報告
- 10月5日:Zaif取引所のXEMについてホットウォレットからコールドウォレットへ移動
コールドウォレットの出金頻度を高くはできない
上記のイベントを見た知人から、ホットウォレットとコールドウォレットを見分ける方法がないかと聞かれました。
正直なところ完全に見分ける術はないと思います。
ただ、ホットウォレットはオンラインに秘密鍵が、コールドウォレットはオフライン環境に秘密鍵があり、運用上で出金頻度に差が出てくると考えられます。
オフライン環境で秘密鍵を保管したまま出金するには、
- オフラインの状態でトランザクションを作成し、
- そのトランザクションデータを何らかのネットに接続しない手段(何らかのメディアやQRコードなど)でオンライン環境に移送し
- オンライン環境からブロードキャストをする
という手段が必要になります。
さらに多額の資金を預かる取引所においては、秘密鍵に触れる人を制限する必要もあるでしょうし、触れたログや出金の承認なども必要です。ダブルチェックなどの工程も入るでしょう。
1回の出金で1時間くらいかかるとすると、1日で24回が限度ではないかと思います。そうなると頻繁には出金できません。
Trezorなどのハードウェアウォレットを利用すれば出金はもう少し高頻度にできそうですが、端末に接続するハードウェアウォレットが完全なコールドウォレットかというと議論を呼びそうでもあります。
Zaif取引所のホットウォレットの出金頻度
▲NAGJG3QFWYZ37LMI7IQPSGQNYADGSJZGJRD2DIYAのモニタリング状況
自作ツールでZaif取引所の移動前のウォレットの、10月5日の残高推移を表しました。縦軸が残高、横軸が時刻になります。
※XEMの最小単位で表しているので、単位がTrillionと大きめになっています。
コールド、ホットという区別はつけられないものの、残高変動から頻繁に出金が発生している事がわかります。このことから、このアドレスはおそらくホットウォレットであろうと目星がつきます。
実は、ハッキング事件後もしばらくこちらのアドレスは注視していました。事件発表後(9月20日以降)の残高推移はこちらになります。
ところどころ取得していない期間があるのは見逃してください。少しずつ出金がされている事がみてわかるかと思います。
とはいえハッキングの報告後も、実は9割くらいの資産はそのまま残っており、顧客から急に出金されるわけではなかったようです。
実は他のアドレスに移す動きが見られなかったため、ハッキング被害報告があった翌日の9月21日時点で公式サポート等に連絡をしていました。
▲Zaif取引所へのサポート連絡
ただし、出金頻度の多い取引所のアドレスはホットウォレットだとある程度の目星がつけられますが、出金頻度の少ないものはコールドとは決めづらいと思います。
実はオンライン環境にあって、単純に出金をしていないホットウォレットという可能性を捨てきれないからです。
ちなみに10月5日の16時前にコールドウォレットへの移管は完了したようで、残高が0XEMに移っています。
移動先のアドレスは、NEMブロックチェーンエクスプローラーで見ると10月3日に作られたもののようです。
http://explorer.nemchina.com/#/s_account?account=NCES7OKBYZRCSTSNRX45H6E67J6OXABKNT6IRD2P