仮想通貨の保管方法として比較的安全性が高いといわれ注目を集めるハードウェアウォレットについて紹介します。
秘密鍵の概要
はじめにハードウェアウォレットについて紹介するにあたって重要な概念である秘密鍵について説明します。
ビットコインをはじめとする仮想通貨のネットワークでは公開鍵暗号とよばれる技術が利用され、仮想通貨の所有者のみが保有する仮想通貨を送金できる機能を実現しています。
ビットコインを例にとると、ビットコインの利用を開始するにあたって秘密鍵と公開鍵のペアを生成し、公開鍵をもとにビットコインの取引に用いるアドレスを生成します。ウォレットはこれらの鍵を作成し、管理します。ビットコインを送金する際には、ウォレットがユーザーの秘密鍵でトランザクションに署名し、ネットワークに送金リクエストを送ります。マイナーは送金者の公開鍵で署名を復号し、トランザクションを検証します。秘密鍵を所有し署名できるのは送金者だけなので、署名を復号した結果が正しければ送金者本人がその資金を送金したとみなすことができます。検証されたトランザクションはブロックチェーンに記載され、当該ビットコインの所有権が送金者から受金者に移転します。
このように秘密鍵はいわばブロックチェーン上の権利を管理するための鍵で、仮想通貨については秘密鍵を紛失してしまうと永遠に資金を利用できなくなるだけでなく、他者に盗まれてしまうと資金の盗難につながります。ウォレットの初期設定時に秘密鍵や秘密鍵から生成されるパスフレーズについて「安全な場所に大切に保管してください」といった警告がされるゆえんです。
秘密鍵と公開鍵に関する一般的な知識は本ブログのブロックチェーンのセキュリティに必要不可欠な鍵「秘密鍵・公開鍵」を参考にしてください。
ハードウェアウォレットとは
仮想通貨のウォレットには実世界で利用するお財布のようにそれ自体に仮想通貨が入っているわけではありません。保有する仮想通貨はあくまでアドレスに紐づくブロックチェーン上の記録で、ウォレットとよばれるソフトウェアやハードウェアは鍵を管理し記録を読み書きするためのインターフェイスを提供するものです。
ハードウェアウォレットとは、仮想通貨のウォレットのひとつであり。パソコンやスマートフォンにインストールして秘密鍵を管理するタイプのウォレットアプリとは異なり、専用のデバイスで秘密鍵を管理し、必要に応じてコンピュータに接続して利用します。代表的なものにチェコのSatoshiLabs社のTrezorやフランスのLedger社のLedger Walletがあります。
ハードウェアウォレットTrezor(Trezorウェブサイトより)
専用のデバイスで鍵管理を行うハードウェアウォレットですが、人やコンピューターが外部から秘密鍵の文字列を参照することはできない仕様になっています。送金時には、パソコンに接続されたハードウェアウォレットがユーザーのリクエストによってトランザクションに署名し、ユーザーは連動するアプリなどからトランザクションを発行します。
ハードウェアウォレットには初期設定時にPINコードを設定するのが一般的で、利用時にはこのPINコードを入力し署名するといった操作が可能になります。破損や紛失に際しては初期設定時に書き留めるリカバリーフレーズで新しいハードウェアにウォレットを復元できます。
ハードウェアウォレットのメリットとデメリット
スマホやブラウザで使えるウォレットアプリやウェブウォレットは利用するにあたって敷居が低く、仮想通貨のやりとりも容易ですが、オンラインの環境にあるこれらウォレットは常にハッキングの危険にさらされているともいえます。これに対してハードウェアウォレットは基本的にオフラインの環境で秘密鍵を管理するもので、コンピューターに接続して利用する際にもユーザーの指定するトランザクションに対する署名を提供するのみで、ウォレットアプリやウェブウォレットと比べて安全性が高いとされています。
安全性に注目が集まるハードウェアウォレットですが、利用するにあたってデメリットがないわけではありません。独特の使い勝手に加えて、購入費用が決して安くないなど、導入の敷居が高いことは否めず、販売や配送の過程でハードウェアウォレットに細工がされないとは言い切れません。また、最近ではLedger社のハードウェアウォレットで受取りアドレスが置き換えられるという脆弱性が発見されました。
メリットとデメリット、資金の用途や保管する金額などを考慮しながらハードウェアウォレットを検討する必要がありそうです。
MyEtherWalletでも使える
ハードウェアウォレットのTREZOR、Ledger Wallet、Digital Bitboxは専用ソフトウェアのほか、以前本ブログで紹介したEthereumとERC20トークン対応のウォレットインターフェースMyEtherWalletと連動させて利用することもできます。
※ MyEthereumWalletについてはEthereumとERC20トークンをサポートするMyEtherWalletを参照してください。
ハードウェアウォレットの利用はMyEtherWalletも推奨する方法で、鍵情報が記載されたファイルを無意識にPC内の危険な場所に保存してしまうといったミスを防止できます。
MyEtherWallet上ではハードウェアウォレットが管理するアカウントの残高を参照できるほか、MyEtherWallet上で作成した送金トランザクションにハードウェアウォレットで署名し、送金処理を実行できます。送金に際してハードウェアウォレットはあくまでトランザクションに署名するのみで、秘密鍵そのものはMyEtherWalletやブラウザには渡りません。
TREZOR、Ledger Wallet、Digital BitboxとMyEtherWalletをMyEtherWalletと連動させて利用する方法については、各社の解説が参考になります。
- TREZOR Integration with MyEtherWallet – TREZOR Blog
- How to use MyEtherWallet with Ledger – Ledger
- Digital Bitbox | Ethereum
おわりに
仮想通貨の保管方法として、取引所に預けたままにしているという人も少なくないかもしれません。ただ、取引所であっても鍵を盗まれてしまえば仮想通貨は盗まれてしまいます。自分で自分の資産を管理するひとつの方法としてハードウェアウォレットを検討してみてはいかがでしょうか。