特集、その他

オレのビットコインはGox知らず、NASで仮想通貨を超安全に守る方法を考えてみた

エントリーNAS「QNAP TS-231P」で鉄壁の仮想通貨環境に text by 日沼諭史

QNAPのNAS「TS-231P」とともに仮想通貨のローカルウォレット環境を構築してみた

 筆者の仮想通貨の価値は絶賛ダダ下がり中である。まあ、なんというか、後学のために軽く試しに買ってみた、ってやつなんで、たとえ元の半分とか3分の1とかになっても、ダメージは少ないのだ。ダメージなんかあってないようなもの……。どうせそのうち値上がりするし(フラグ)。

 それはそうと、ビットコインに加えて、イーサリアムなどのアルトコインと呼ばれる仮想通貨の種類もどんどん増えている昨今。仮想通貨そのものはもちろん、仮想通貨の基幹技術として採用されているブロックチェーンについても、ネットやテレビで話題に上らない日はない。

 もちろん、すでに仮想通貨の取引を始めている人はたくさんいるだろうし、これから始めてみたい、けどちょっと怖いかも、と思っている人もいるはず。その「ちょっと怖い」というのは、「買ったはいいけれど(筆者と同じように)値下がりするかもしれない」みたいな怖さのほかに、時々報道されているような仮想通貨の盗難や取引所の閉鎖による「仮想通貨がなくなってしまう」という怖さもあるだろう。

 この「仮想通貨がなくなってしまう」怖さは、何もこれから始める人だけでなく、すでに仮想通貨を持っている人にとっても同じように当てはまる問題だ。仮想通貨消失の恐怖をいかに克服するかが、仮想通貨と長く付き合っていくうえで一番重要であると言っても過言ではない……かもしれない。

 では具体的にどうすればいいのか。1つの方法は、ローカル環境に仮想通貨をもち、それをきちんとバックアップしていくというもの。今回は、仮想通貨を持っている人も持っていない人も知っておくべき、仮想通貨のローカルウォレットづくりとバックアップの仕方について、QNAPのエントリーNAS「TS-231P」を使いながら紹介しよう。


ローカルウォレットって何?取引所ではなく個人で仮想通貨を保管する方法

GMOやDMMなど大手企業の仮想通貨取引用アプリ。仮想通貨取引事業にヤフーが参入を検討しているという報道もある

 さて、まずは「ローカルウォレットとはなんぞや」である。意味としてはそのままローカル環境の財布で、自分が所有する仮想通貨をPCなどのローカルデバイスに保管しておくためのソフトウェアだ。

 「自分は仮想通貨を持ってるけど、ローカルウォレットなんて知らないよ」なんて人もいるかもしれない。が、それも無理はない。例えばオンラインの仮想通貨取引所で売買する時は、通常、その取引所が管理するサーバー上のウォレットで自分の仮想通貨が扱われることになる。この場合、ユーザーがウォレットを意識することはほとんどないはずだからだ。

 意識しないで使えるならそれでいいじゃない? と思うかもしれない。しかし、以前発生した仮想通貨の盗難事件のように、サーバー上のウォレットで仮想通貨の取り扱い方に不備があったりすると、第三者が仮想通貨を横取りしてしまう可能性もゼロではない、というのが問題だ。

 多くの取引所がセキュリティに最大限に配慮してウォレットや仮想通貨を扱っていると信じたいが、ネットワーク攻撃とその対策はいつの時代もいたちごっこ。完全な対策は難しい。できるだけ信頼のおける取引所を選ぶことも大切……とはいっても、どこが信頼できてどこが信頼できないのか、なんて簡単には判断できないのも悩ましいところだ。

 そこで出番となるのがローカルウォレットというわけ。取引所のサーバーのウォレットに頼らず、自分のPCの中にウォレットを作って仮想通貨を保存しておく。こうすることで、取引所を狙った悪質な攻撃による仮想通貨の盗難などが発生しても自分には影響せず、万一取引所が前触れなく閉鎖(いわゆるGox)してしまったときでも、仮想通貨が失われることはない。

仮想通貨取引所と、ローカルウォレットのざっくりとした関係

 お金を銀行に預けているか、タンス預金しているか、みたいな違いではある。が、正確に言うと銀行だと破綻してもある一定額までは法律上保証されるものの、仮想通貨取引所は保証となる後ろ盾が必ずしもあるわけではない、という点で異なる。なので、仮想通貨のローカルウォレットを作って自衛することは、タンス預金のようなある種の「後ろめたさ」とは無関係で、むしろ積極的にやってもいいくらいなのだ。

 そんなわけで、まずはそのローカルウォレット環境を作ってみよう。今回は代表的な仮想通貨のウォレットとして、ビットコイン用の「Bitcoin Core」とイーサリアム用の「Ethereum Wallet」、そして複数の仮想通貨のウォレットとして使える「Jaxx」の3つをインストールしてみる。

 なお、今回の企画はあくまでも「仮想通貨のローカルウォレット環境の構築とバックアップ、復元」に的を絞っているので、これら3つのソフトにおける仮想通貨の取引方法などについては触れていない点ご了承いただきたい。

ビットコイン用「Bitcoin Core」のインストール~ウォレット作成

 「Bitcoin Core」はビットコインの公式ウォレットといえるようなソフトだが、レビュー執筆時でストレージ容量200GBが要求されるなど、データ容量が非常に大きい。

 これはビットコインの取引履歴が記録されたフルデータをローカル側に持つためだ。ビットコインが取引されればされるほどこのデータ容量は増加していくため、将来的にも大容量のままとなるが、ビットコインを扱う上で公式的なポジションのウォレットという点での安心感はある。

1. OSに合ったBitcoin Coreのバイナリをダウンロードし、インストール実行
2. ブロックチェーンデータのダウンロード先を決める。HDDの空き容量は2018年3月時点で200GB以上必要、と表示されたが、実際のデータは180GBほどだった
3. ダウンロードが開始。バックグラウンドで実行されるので他の操作もできるが、同期が完全に終わるまでビットコインの送金などは完了できない
4. この間に自分の「ウォレット」を作ろう。メニューの「設定」から「財布を暗号化...」をクリック
5. パスワードを入力。これも絶対に忘れてはいけないので、テキストファイルなどに保存しておくのが吉
6. パスワード入力が終わったらBitcoin Coreを再起動して使用開始

イーサリアム用「Ethereum Wallet」のインストール~ウォレット作成

 「Ethereum Wallet」はイーサリアムの公式ウォレットだが、こちらも約70GBと容量がそれなりに大きい。ストレージ容量は必要となるものの、公式ウォレットという安心感はある。

1. OSに合ったEthereum Walletのバイナリをダウンロードし、インストール実行
2. ブロックチェーンデータのダウンロード先を指定。2018年3月時点でHDDの空き容量は70GB程度必要
3. 起動するとブロックチェーンデータのヘッダをダウンロード。数百MB程度で完了し、これだけで使い始めることができる
4. 容量が少なく済むのは「Sync with Light client (beta)」のおかげ。全データをダウンロードしたい場合はこのチェックを外す
5. ダウンロードしている間に自分の「ウォレット」を作る。メニューの「アカウント」から「新規アカウント」をクリック
6. パスワードを入力してEnter。Bitcoin Coreと同じく絶対に忘れてはいけない
7. これでウォレットが作成される

複数の仮想通貨に対応する「Jaxx」のインストール~ウォレット作成

 Jaxxはさまざまな仮想通貨に対応したウォレットソフト。こちらは取引履歴のデータをローカル側に持たないので、容量としては軽い。

1. OSに合ったJaxxのバイナリをダウンロードし、インストール実行
2. インストール後、起動するとすぐにウォレットの作成が始まる。「CREATE NEW WALLET」を選択
3. 設定は「EXPRESS」でお任せにしてもいいが、あえて「CUSTOM」を選んでみよう
4. 自分の使いたい仮想通貨のウォレットを選べる。例としてビットコインとイーサリアムを選択
5. 画面表示する通貨を選択。日本円とUSドルなど、複数選んでもよい
6. 続いてバックアップもできるが、ここでは「SKIP」してもOK。バックアップ手順は後ほど詳しく紹介する
7. パスワード代わりのPINコードを設定
8. 4桁の数字を入力
9. セットアップが完了し、メイン画面が表示された


ローカルウォレットは必ずバックアップ!機器の故障やデータの消失に備える

 前段でローカルウォレットのメリットである「安全性の高さ」について説明したわけだけれども、当然ながらローカルウォレットにはデメリットもある。

 おそらくインストールの段階でお分かりいただいたように、まず最初にとんでもなく巨大な(ブロックチェーン)データをダウンロードしなければいけない。さらにウォレットの実体となるファイルや、パスフレーズ、パスワードを失うと、自分の仮想通貨を取り戻せなくなる、というのも注意しなければいけない部分だ。ここでもう一度ローカルウォレットのメリットとデメリットを整理してみよう。

【ローカルウォレットのメリット】

・取引所が攻撃を受けたり、閉鎖したりしても影響がない
・ローカルPCならオフラインにして攻撃を避けることもできる
・取引所が休止中でも他の取引所や他人と売買・受け渡しが可能

【【ローカルウォレットのデメリット】

・ブロックチェーンデータが膨大(ビットコインは2018年3月現在180GB以上)
・そのデータは今後もずっと増え続け、ストレージを圧迫する
・ウォレットの実体となるファイルを失うと仮想通貨も失う
・パスフレーズ(Jaxx)やパスワードもなくすと仮想通貨を失う
・HDDが壊れてもやっぱり仮想通貨を失う(可能性が高い)

QNAP製NASキットのエントリーモデル「TS-231P」、実売価格も税込23,000~25,000円前後と導入しやすい。

 ローカルウォレットのメリットを活かすため、これらデメリットによるリスクをできるだけ低くするには、「バックアップする」ことに尽きる。

 そこで、QNAP製NASキットのエントリーモデル「TS-231P」の出番だ。3.5インチもしくは2.5インチの6Gbps SATA対応ストレージを同時に2台使用できる2ベイモデルで、RAID 0またはRAID 1構成に対応。

 デュアルコアCPUと1GBメモリ搭載の余裕のある性能で、リンクアグリゲーションに対応する2つのギガビットLANポートにより、複数機器との同時データ転送を高速かつ安定して行える。QNAPならではのわかりやすい管理画面のインターフェースも魅力だ。

使用したHDDはWestern DigitalのWD Red 1TB×2台。RAID 1構成でセットアップした
背面右上に見える2つのギガビットLANポート。リンクアグリゲーションに対応する
QNAP独自のNAS用OS「QTS」を搭載。多機能ながらもわかりやすい管理画面

 バックアップするだけなら比較的低コストな外付けUSB HDDで十分と言えなくもない。けれども、手持ちの仮想通貨の総額にもよるとはいえ、ローカルウォレットは何があっても絶対に失ってはいけないデータだ。バックアップしたところで、そのバックアップ先のHDDがクラッシュする可能性だってある。だから、考えうる限り信頼性の高いストレージに保管する必要があるだろう。

 その点、デスクトップPC用のHDDが採用されていることがある外付けUSB HDDより、耐久性が高く製品寿命の長いNAS用HDDを搭載するTS-213Pの方が、明らかに安全性の面では有利。一方のHDDがクラッシュしても復元可能なRAID 1構成を構築しやすいという点でも、NASを選ぶ意義は大きい。というわけで、まずは各ローカルウォレットで、ウォレットのバックアップを作る方法と、その復元手順について解説しよう。

「Bitcoin Core」のバックアップと復元

1. 「ファイル」メニューから「財布のバックアップ...」を選択
2. ファイル名を指定して任意のフォルダに保存し、バックアップ完了。ただし、これ1回でよしというわけではなく、トランザクションが100回発生するたびにバックアップを作成する必要がある。トランザクション100回分ごとに新しいアドレスが追加で発行され、ウォレットが更新されるためだ
3. 念のためTS-231P上の任意のフォルダにバックアップしておこう
4. 復元は、ファイル名を「wallet.dat」としてBitcoin CoreのデータフォルダにコピーすればOKだ

「Ethereum Wallet」のバックアップと復元

1. 「アカウント」メニューから「バックアップを取る」→「アカウント」を選択
2. Ethereum Walletのデータ保管先の「keystore」フォルダに長いファイル名のバックアップファイルができあがる
3. これをTS-231P上の任意のフォルダにバックアップして完了
4. 復元は、元の「keystore」フォルダにコピーするだけ

「Jaxx」のバックアップ

1. Jaxxは初期設定時にもバックアップを取れるが、ここでは設定画面からの手順を説明する。まずは画面右上隅のメニューボタンをクリック
2. 「Tools」を選ぶ
3. 「Backup Wallet」をクリック
4. さらに「Backup Wallet」をクリック
5. 左下のチェックを入れて「CONTINUE」。ここからの手順は初期設定時と全く同じになる
6. 初期設定時に決めたPINコードを入力
7. 12個の英単語で構成されたパスフレーズが現れる
8. コピー&ペーストはできないので、これを手入力でメモ。終わったら「NEXT」をクリック
9. 正しくメモできているか、再入力して確認。問題なければ右下の「NEXT」がクリックできるようになる
10. 保存したパスフレーズをTS-231P上の任意のフォルダにバックアップして完了

「Jaxx」の復元

1. 復元は、メニューの「Tools」から
2. 「Pair Devices」を選択
3. 「Pair / Restore Wallet」を選択
4. 警告内容を確認したら右下の「I UNDERSTAND」をクリック
5. メモしていた12個の単語からなるパスフレーズを入力して「NEXT」をクリック。初期設定画面に遷移し、ウォレットが復元される

 以上のように、ローカルウォレットを失って仮想通貨もなくしてしまわないようにするためのバックアップは、実際にはわずかな数・容量のファイルやパスワード、パスフレーズを保存しておけばいいだけと、意外に手軽だ。

 ただし、これでは、TBクラスの大容量NASが完全に宝の持ち腐れになってしまう……と思ってしまうのではないだろうか。しかしである。もしHDDがクラッシュしてブロックチェーンデータまで失われてしまうと、復旧後にまた最初から数十GB、数百GBクラスのダウンロードから始めることになるのを思い出してほしい。再セットアップにまた3日も4日もかかるというのは正直厳しい。

 そんなもしもの時のことを考えて、ウォレットだけでなく、ブロックチェーンのデータも含めてバックアップを取っておくことがおすすめだ。QNAPは、そうした場面で使えるバックアップツール「NetBak Replicator」を用意している。このツールを使ったバックアップを行えば復元も簡単だ。

QNAPの「NetBak Replicator」で仮想通貨のデータをまるごとバックアップ

 ここからは、QNAPの「NetBak Replicator」を使用してウォレットソフトのデータを丸ごとバックアップする方法と、復元する方法を紹介しよう。PCのストレージが故障した際なども、こうしたバックアップを取っておけば復旧も簡単に行えるので安心だ。

1. 事前に管理画面のコントロールパネルでユーザーを作成し、バックアップ先となるホームフォルダなどを設定しておくのがおすすめ
2. NetBak ReplicatorはQNAPの公式サイト「サポートとダウンロード」から入手
3. インストール後の初期設定へ。LANに接続しているTS-231Pが候補に現れるので、選択
4. NAS上のバックアップ先フォルダを選択
5. 最初に作成したユーザー名、パスワードでアクセスするように設定。これで初期設定は完了となる
6. メイン画面では「インスタント バックアップ」をクリック
7. バックアップを取りたいフォルダをすべて選択
8. バックアップ先のTS-231P上のフォルダを選択
9. バックアップがスタート
10. トータルで約4万ファイル、245GBのバックアップを2時間44分で終えた
11. その都度手作業でバックアップするのは大変なので、自動化したい。そういうときは「拡張モード」を選ぶ
12. 「スケジュールバックアップ」タブで、任意のタイミングで自動バックアップできる

QNAPの「NetBak Replicator」による復元

1. 復元するときは「インスタント復元」から
2. バックアップしたTS-231P上のフォルダと、バックアップしたい内容を選ぶ
3. 復元先のフォルダを指定。単純に元に戻す場合は「オリジナルパスにリストアする」で「開始」
4. HDDクラッシュを想定し、フォーマットしたHDDへリストア
5. トータルで約4万ファイル、245GBのリストアは、バックアップ時とほぼ同じ約2時間45分で終えた

 今回の環境では、ウォレットの全データのバックアップを取っておけば、PCなどが故障した際でもデータ自体の復元は3時間かからず行える。これがデータの再ダウンロードからやり直しであれば数日かかるので、バックアップを取っておくことがいざという時いかに役に立ってくれるかがわかるだろう。

仮想通貨はすべてが自己責任!安全、確実に取引&バックアップしたい

 世間で何かと話題になり、気軽に購入できる取引所が増えたことで(筆者のように)勢いで始めてしまう人もいるであろう仮想通貨。

 それだけに、どういったPC環境が仮想通貨を扱うのに最適なのかをあまり考えないまま売買を繰り返し、ついには取引所のトラブルに遭遇してにっちもさっちもいかなくなってしまう、といったケースもあるのではないだろうか。仮想通貨やウォレットをなくして泣くに泣けない状況に陥る前に、自分の仮想通貨は、自分の責任でしっかり管理しておきたいものだ。

 その意味で、絶対になくせないローカルウォレットを常に安全に保管し、いざというときはすぐにリストアできるストレージとして、QNAP TS-231Pのような信頼性・確実性の高いNASは有力な選択肢となるだろう。仮想通貨の値動きに一喜一憂したくなるのは仕方がないにしても、その裏でバックアップは粛々と、着実に、日々のルーチンとして繰り返していきたいものだ。

[制作協力:テックウインド]

[Amazonで購入]