NiceHashというハッシュパワー売買の仲介業者がハッキングを受けて4,736BTCという高額なビットコインが盗まれました。
Here is our official PRESS RELEASE about the security breach!https://t.co/yhfdjXkJwc
— NiceHash (@NiceHashMining) 2017年12月6日
NiceHashはNiceHashにアカウントを作り、ソフトウェアをインストールするだけで自分のハードウェアが最大限稼げるハッシュ計算アルゴリズムを自動的に切り替え、報酬を全てビットコインに統一されていたことから、利用者が多くいました。
ところがハッキングを受けてNiceHashしか知らないマイナーは、どこでマイニングすればいいのか、どうやってマイニングすればよいかわからず右往左往しました。それどころか、ホットウォレットとコールドウォレットの違いさえ解らないという、マイナーだったらそれぐらい知っているだろうという知識さえも無いことに気づきました。中には「自分のビットコインアドレスからハッキングされてビットコインが盗まれた」という誤った言い方を平気でする人もいます。だったら一般の人はもっと知らないでしょう。
この記事は、あなたの仮想通貨を安全に保護する方法とその理由を説明します。
オンチェーン
ブロックチェーンが改ざんされないことは皆さんもよく知っていると思います。実はブロックチェーンの中からデータを解析するだけでは、あなたの仮想通貨は盗まれることはありません。そりゃそうですよね、ブロックチェーンは「分散化」しているので、誰でも閲覧できるからです。
誰でも閲覧できるということは、あなたも閲覧することができます。今の仮想通貨の残高はいくらかな?とオンチェーンを見ればわかります。このようなオンチェーンを参照したり仮想通貨ネットワークに送金依頼を出せる状態はほぼ安全に仮想通貨を管理できています。(ウイルスさえ入らなければ)
逆に取引所内にあなたの仮想通貨があって、それがどこのアドレスに保管されているかわからない場合や他の顧客との資産も同じアドレスに保管されていないならば、あなたの資産は厳密な意味ではオンチェーン上にはないということになります。(この表現は賛否があると思いますが、そう思ってください) つまり文字通り取引所にあずけてある、ということです。
ハードウェアウォレットとペーパーウォレット、ホットウォレットとコールドウォレットの違い
取引所に自分の資産を置いておくのは危険だ、とはよく聞きますが、「~ウォレット」という言葉が氾濫していてよくわからないという声もあります。一体どのウォレットにどのように保存すればいいのでしょうか。その鍵は「秘密鍵の保存方法」の違いです。
これもよく誤解されるのですが、ハードウェアウォレットやペーパーウォレットはウォレットの機能を実装しているわけではありません。秘密鍵の保存方法をいいます。
最初に仮想通貨(ビットコイン)のウォレットを作るとき、パスフレーズという数十個ほどの単語を厳重に保管するようウォレットソフトに言われたはずです。このパスフレーズを保管、管理する手法をTrezorなどのUSBに刺すハードウェアに記憶させておくか(ハードウェアウォレット)、それとも紙に書いておき、ウォレットを開く時に入力するか(ペーパーウォレット)の違いです。石版に彫刻しても構いません。(ストーンウォレット!?) 入出金する時にTrezorをPCに刺すか、ペーパーウォレットの秘密鍵をキーボードで入力するかの違いです。
ペーパーウォレットは資金の移動が面倒(鍵の入力が面倒)なので金庫の中に自分の資産をしまっておくイメージになり、これをコールドウォレットといいます。
しかし、仮想通貨での入出金が頻繁な人はこの手法はとても面倒です。ですから、スマートフォンやPCアプリのほとんどは秘密鍵を端末に記憶しておき、手軽に入出金できるようになっています。マイニングをする人ですとマイニング報酬を現金(Fiat)に両替できるよういちいち秘密鍵を入力することはないと思います。このような形式のウォレットをホットウォレットといいます。
どのウォレットアプリケーションでも共通の秘密鍵を使えば同じ財布を参照することができます。
ちなみに、厳重に管理しなければならないのは「パスフレーズ」であって「仮想通貨のアドレス」では無いことに注意してください。仮想通貨のアドレスは入金用にしか使えません。
取引所内での仮想通貨の遷移とGOX
さて、現金と仮想通貨の売買、トレード、違う仮想通貨への両替などは話が少し違ってきます。
ここで必要になるのは「速度」と「コスト」です。
取引所はあなたが仮想通貨を入金するための一意のアドレスを付与しますね? そこに仮想通貨が着金した瞬間、取引所では仮想通貨をそのアドレスでは管理しません。なぜでしょうか。
トレードを例に取りましょう。トレードはソフトウェアで高速に取引所とやり取りをして利ざやを稼ぎます。コンマ秒の戦いでもあります。これをブロックチェーンで実現することは可能でしょうか。不可能です。ですから取引所内では一度バッファリング(という言い方が正しいのかわかりませんが)します。仮想通貨や現金は顧客から顧客へと、または顧客から取引所へと移動しますが、ブロックチェーン上にそれをいちいち記載しません。なぜなら取引所内ではプラスマイナスゼロだからです。入出金するときだけ取引所内の仮想通貨の総量が変化します。
このように、取引所はブロックチェーンとは違う独自の管理方法でトレードを可能にしています。もちろん、(真っ当な取引所であれば)取引される仮想通貨の総量は変わりませんから、何かしらのウォレットを使っているはずです。
その取引所はウォレットの秘密鍵をどのように管理しているのでしょうか。それは取引所それぞれの方法で行われているためユーザーからは見えません。ところが取引所内の仮想通貨が盗まれた事例を見ると、いろんな言い訳があるにせよ秘密鍵をインターネットから見える状態に置かれて(しまって)いてそれをハッカーが見つけ引き出すというケースです。つまり言い方としては「顧客の資産をホットウォレットで管理していたため盗まれた」となります。
取引所にハッカーが入り込み、顧客の資産を盗む事を”GOX”といいます。NiceHashは顧客の資産が入っているウォレットの秘密鍵を盗まれ、ビットコインをハッカーが用意した別のウォレットに移動させられ”GOX”されたわけです。
自分の資産を守るには(おすすめウォレット)
トレードをするつもりがなく、どちらかと言うと「使う」派の人や、現物でロングポジションを取る人は、取引所から仮想通貨を引き出し、自分の仮想通貨を自分の置いておくべきです。
GreenBit (GreenAddress)
ビットコインのウォレットです。GreenBitが一番機能が優れているのですが、残念ながらWindowsやiOS版はGreenAddressという一つ前のバージョンのソフトです。このウォレットの良い点は送金手数料を自分で選ぶことができる点です。遅くてもいいから送金できればいいときは送金手数料を低くし、速く現金化したいときは送金手数料を高く設定することができます。
また、このウォレットをすすめるのは、Segwitに対応しているからです。執筆時点でSegwitに対応しているウォレットはそうそうありません。私自身、ビットコインはこれで管理しています。
Exodus
これはデスクトップのアプリですが、複数の通貨を一つのアプリで管理できる点で優れています。UIも精錬されていて、彼らの言葉を借りて言うなら「仮想通貨オタクの要素を排除した」と言っています。スマートフォン版が無いのが非常に残念な所ですが、彼らの哲学は「今は必要ではないよね」のようです。
もっとすごいのは、仮想通貨同士で両替を行えることです。レートや手数料は高めのようです。このソフトは両替手数料を徴収することがビジネスモデルになっているようです。
他にも複数の仮想通貨を取り扱える機能を持ったウォレットアプリもありますが、大抵は取引所で管理するのと同じ方法のため、おすすめできません。もし、気に入った複数の通貨を扱えるアプリがあるなら、ブロックチェーン上で資産が管理されているのかよく確かめてください。
マイナーなら採掘する通貨のウォレットを個別にインストールするべき
NiceHashのような便利なソフトはセキュリティを犠牲にしているということを頭に入れておくべきです。実は私もNiceHashを利用しておりGOX被害者です。ビットコインの出金手数料が高くて、手数料上限ぎりぎりになるまでNiceHashにビットコインを預けていたらこのざまです。
一般的なマイニングする場合マイニング報酬を送るウォレットアドレスを設定しますが、決して取引所の入金アドレスを設定しないようにします。マイニングプールによっては報酬をプール側で保持するものもありますからこまめに出金しましょう。
- 2018/01/30 :コインチェック社のNEM流出事件に伴い大幅加筆修正。
- 2018/02/11:勘違いされそうな表現を変更。