SeedSignerで“署名”しよう!
これまで、
と書いてきましたが、ここまでは言わば下準備に過ぎません。今回はいよいよ送金と署名の仕方について書いてみたいと思います。
SeedSignerは送金、署名の際にパソコンと物理的な接続をしない、「エアギャップ」と呼ばれる方式を採用しています。実際にはQRコードとカメラを通して署名をやり取りします。そうすることで、マルウェアに感染したパソコンからデバイス内のシードが知らないうちにUSBケーブルを通して抜き取られてネット上に流出するなどの危険を回避します。
全体の流れを見ておきます。
送金プロセスの全体の流れ
- SeedSignerにシードをロードする
- シードのXpubをウォレットにエクスポートする
- ウォレットで送金トランザクションを作成する
- PSBTをQRコードでSeedSignerに送る
- SeedSignerのカメラでQRコードを読み取り署名する
- 署名済みPSBTをQRコードでパソコン側のウォレットに戻す
- ブロードキャストして送金完了
それでは実践していきましょう。
SeedSignerにシードをロードする
前回の記事を参考に、バックアップしてあったニーモニックのSeedQRを使ってSeedSignerにシードをあらかじめロードしておきます。パスフレーズ付きのウォレットを作りたい場合は、この時点でパスフレーズを追加しておきましょう。
シードのXpubをウォレットにエクスポートする
ウォレットアプリはウォッチオンリーのビットコイン用ウォレットが作れるものを使用します。例えばSparrow WalletやBlueWalletなどが有名です。
そのウォレットにSeedSignerからシードのXpub(拡張公開鍵)をエクスポートします。
(今回はテスト用のシードとそのXpubを使用しています。このシードとXpubをインポートしたウォレットは実際の受け取りや送金には使用していません。送金画面は全てダミーのキャプチャーを作成しています)
まずウォレットアプリ側で新規のウォッチオンリーのウォレットを作り、Xpubをインポート出来るところまで準備しておきます(画面はSparrow Wallet)。今回はシングルシグ、Native Segwitで設定します。
SeedSignerに戻り、シードを選択して『Export Xpub』に進みます。ウォレットの種類は「Single Sig」を選択します。
ウォレットアプリのリストが出るので、自分が使うアプリを選びましょう(今回はSparrow)。取引履歴が追跡されるリスクがある旨の注意書きを読み、了解したら、Xpubの内容を確認して『Export Xpub』をクリックします。QRコードのアニメーションが表示されるので、これを準備してあったウォレットアプリにパソコンのカメラを使って読み込ませます。
ウォレットに戻って、SeedSignerのQRコードのアニメーションをカメラで読み取ります。Sparrow Walletの場合は、『Connected Hardware Wallet』を押して、ハードウェアウォレットのリストからSeedSignerを選び、スキャンボタンを押します。
パソコンのカメラが起動するので、SeedSignerに表示されてるQRコードを読み込ませます。
無事ウォレットが作成されました。ウォレット側とSeedSigner側のfingerprintが同じであることを確認しておきましょう。
念のため、ウォレットの受け取りアドレスも確認してみます。SeedSignerのシードのリストからシードを選択し、『Address Explorer』に進みます。 ウォレット側の受け取りアドレス一覧と一致しているはずなので確認してみましょう。
ウォレットで送金トランザクションを作成する
ウォレットで送金額、送金アドレス、手数料を正しく入力し、PSBTを作成します(Sparrow Walletの場合は『Create Transaction』を押す)。
PSBTとはPartially Signed Bitcoin Transaction の略で、「部分的に署名されたトランザクション」を意味します。
PSBTをQRコードでSeedSignerに送る
ウォレットのPSBTをSeedSignerに転送します(Spparow Walletの場合は『Show QR』ボタンを押す)。QRコードのアニメーションが表示されます。
SeedSignerのカメラでQRコードを読み取り署名する
SeedSignerのHome画面の『Scan』を押してカメラを起動し、QRコードのアニメーションを読み取ります。読み取ると署名したいシードのリストが表示されるので選択します(もしまだシードをロードしていなかった場合でも、『Scan a Seed』を押して、SeedQRからニーモニックを読み込めばOKです)。
PSBTの詳細がボタンを押すごとに順送りで表示されるので、送金額や送金先を確認していきます。内容に問題がなければ『Approve PSBT』を押して署名します。
署名するとQRコードのアニメーションが表示されます。
署名済みPSBTをQRコードでパソコン側のウォレットに戻す
ウォレットに戻って、SeedSignerのQRコードのアニメーションをカメラで読み取ります(Spparow Walletの場合は『Scan QR』ボタンを押す)。カメラに向けてSeedSignerに表示されてるQRコードを映します。
ブロードキャストして送金完了
読み取りが完了したら、ブロードキャストして送金完了です。
いかがだったでしょうか。
今回は普段自分が使用しているSparrow Walletを使用して説明しましたが、他のウォレットでも大体同じ流れになると思います。
まとめ
ハードウェアウォレットは“ウォレット”と呼ばれてはいるものの、その実態は署名デバイスです。SeedSignerを使ってみると、そのことがより実感出来るのではないかと思います。
一般的なハードウェアウォレットと違い、SeedSignerは初めから電源を落とせば中のシードは消えてなくなる仕組みなので、もし本体が壊れたとしても、きちんとニーモニックを保管してあるかぎりシードが失われることはありません。ハードウェアウォレットだからといって変に神経質になり過ぎず、まずは色々と触って遊んでみてはいかがでしょうか。
ここまで読んでいただき、ありがとうございました。