今回はハードウェアウォレットを買わなくても出来る、手作りのハードウェアウォレットの作り方を紹介します。
適切に実行をすれば個人でする分には一番堅牢なセキュリティで資産を守ることが出来ます。
オフラインで手作りハードウェアウォレットを作る方法
メリット
秘密鍵に相当するKey Store Fileがオンライン環境下(インターネットに繋がった状態)に一度もなく、流出する心配がないため安全
手持ちのUSBメモリで作成出来るため安価で誰でも作ることが出来る
作成方法が簡単
用意するもの
USBメモリ(できれば新品、容量は少なくてもOK)
パソコン
ステップ1. まずパソコンでGoogle Chromeを用いてMEWのサイト(https://v5.myetherwallet.com/)にアクセスし、MEWをインストールします。USBメモリはまだパソコンに差し込まないでください
ステップ2:インストールをしたらパソコンをオフライン環境にして、もう一度インストールしたときと同じ場所をクリック、開くをクリックします。ここでUSBメモリを差し込みます
ステップ3.アプリケーションとしてMEWが立ち上がるので、Create New Walletを選択します。
ステップ4.ウォレット作成時の注意点が出てくるので順次進んでいき、KeyStore Fileを選択します。
自分でパスワードを考え、入力してNextをクリックします。
Download Key Store Fileをクリックして、ファイルをUSBメモリに保存します。
これでウォレットの作成は完了です!
ステップ5:続けてウォレットのアドレスを確認しましょう
オフライン環境下のまま、先程作成したKeyStore Fileとパスワードを用いてウォレットにアクセスします。
左上のMEWロゴをクリックしてトップページに戻り今度はAccess My Walletを選択します。
ステップ6.右のソフトウェアを選択します。
ステップ7.KeyStore Fileを選択します
ステップ8.先程USBメモリに保存したKey Store Fileを選択します
ステップ9.先程作成したパスワードを入力してAccess Walletをクリックします
ステップ10.これで作成したウォレットのアドレスがわかります!
このアドレスを控えて長期間使用しない予定のイーサリアムやERC20トークン、NFT等を送付して保管しましょう!
お疲れ様でした!USBメモリを抜いてパソコンをオンラインに戻します。
注意点
取得したKey Store Fileは絶対誰にも共有しない!
定期的にオフライン環境化でUSBメモリにファイルが保管されているか確認する(故障対策)
取得したKey Store Fileはできればオフラインのみで保管を行う
USBの故障対策でオフライン環境下であれば複数のUSBメモリでファイルを複数保管するのも有効
オフライン環境下のウォレットを操作する方法
せっかくオフラインでウォレットを作成したので、作成したウォレットをインターネットに触れないで操作する方法も一応記載しておきます。
注意:本記事は基本的にMy Ethereum Wallet(MEW)のヘルプ記事の翻訳となり、画像や文章はわかりにくい場合を除いてそのまま使用させていただいています。予めご了承ください。
用意するもの
オフライン環境のパソコン
オンライン環境のパソコン
オフラインでウォレットを作るときに使用した秘密鍵の情報が入ったUSBメモリ
送りたいイーサリアムやERC20トークン
ガス代分のイーサリアム
このウォレットの操作方法は作成時と同様に旧VERのMEW Ver5で実行することが出来ます。リンクは以下の通りです。
セキュリティを更に堅牢にするため、オフラインのパソコン上でも MyEtherWallet (MEW) を実行することができます。その際パソコンはトランザクションを生成するために使用されるので、インターネットに接続されていない必要があります。完全にオフラインでウォレットを生成し、MEWの「Send Offline Helper」セクションから、インターネットに接続されている別のコンピュータ上でトランザクションを送信することができます。この方法では、機密情報(秘密鍵、キーストアファイル、ニーモニックフレーズなど)はオフラインのデバイスに保存され、デバイスから送信されることはありません。
オフラインでMEWを利用するには、PWAを利用する方法とクライアントをダウンロードする方法の2つがあります。
本稿ではPWAを使用した方法を紹介します。
ステップ1.まずGoogle ChromeでMEWのサイト(https://v5.myetherwallet.com/)にアクセスし、MEWをインストールする必要があります
ステップ2. インターネットに接続されているパソコンで、一番下までスクロールして、Send Offline Helperを見つけます。
ステップ3. 送信先のアドレスを入力し、「Export JSON File」をクリックします。
オフラインのコンピュータで必要になるので、これを安全に保管してください。USBにエクスポートしておくと、簡単に転送できます。
ステップ 4. オフラインのパソコンで、通常通りウォレットにアクセスします。
オフラインのため、少し変に表示されるかもしれませんが、それがオフラインでアクセスしている証拠となります。
ステップ5. 「Send Offline」を選択します。
ステップ6. 少し下にスクロールします。先ほど保存したJSONファイルをインポートします。これでいくつかの情報が入力されます。その後、送金先のアドレスと送る金額を貼り付けます。
ステップ7. ここで「Generate Transaction」を選択し、JSONファイルをダウンロードするか、Signed Transactionをコピーしてください。
このステップからUSBメモリを差し込んで進めてください!
ステップ8. オンラインのパソコンに戻り、再び「Send Offline Helper」にアクセスして、「Signed Transaction」に入力します。
ここでJSONファイルをアップロードするか、Signed Transactionを貼り付けて、'Continue'を押してください。
ステップ9. 内容が全て正しいかをもう一度確認し、[SEND]をクリックします。
ステップ10:これで操作は完了です。無事にオフラインのトランザクションを作成することが出来ました!