Sparrow Walletのススメ | ビットコインの技術に詳しくなりたい上級者向けPC用ウォレット
みなさんは普段どのビットコインウォレットを使っていますか?
近年、ビットコインのウォレットはUXの改善が進んでおり、特にモバイル向けのウォレットは機能がシンプルで使いやすいものがたくさん出てきています。これはビットコインの普及のためには歓迎される進歩ですが、その使いやすさの裏側で、中級者以上のユーザーが選択できるオプションやメニューは削られ、細かい設定ができなくなっています。
その結果、例えばモバイルだとZeusやBluewallet、デスクトップだとElectrumかSparrowというふうに上級者向けウォレットは選択肢がかなり絞られています。特にマルチシグや様々なハードウェアウォレットへの対応などの先進的な機能を利用したい場合は、多くの場合デスクトップのウォレットを使わざるを得ない側面もあります。
今日はデスクトップ用のウォレットの中でもビットコイン上級者の定番になっているSparrow Walletについて、その長所を紹介させていただきます。特にビットコインの技術に詳しくなりたい方に一度使ってみていただきたいウォレットです。

シンプルさではなく、多機能性が売り
Sparrow WalletのUIは控えめに言って華やかなものではありません。コンシューマ向けのアプリというよりは業務用アプリに近い見た目をしています。
しかし、上級者のビットコイナーでもほぼ全員が満足するような機能を揃えている多機能性が最大の売りです。
最初に、ビットコインウォレットでまず確認すべき点の1つである「接続先設定(File>Settings>Server)」から見てみましょう。Sparrow Walletの場合はPublic Server・Bitcoin Core・Private Electrumから選択でき、Tor経由で接続したい場合などはプロキシの設定も入力できます。

プライバシー面で最適なのは自分自身で立てたBitcoin Coreノードや自分自身のElectrumサーバーに対して問い合わせることです。そうしなければ、未使用のものを含むウォレット内の多数のビットコインアドレスを第三者に開示する必要があるのみならず、第三者の返す結果を信用しないといけないためです。自分はUmbrelで立てたElectrumサーバーに接続してみました。
メイン画面右下のトグルスイッチで接続を中断したり再開することもできます。トグルスイッチの色で、接続先がPublic Server・Bitcoin Core・Private Electrumのいずれであるかも一目で確認できます。上のスクリーンショットではPrivate Electrumなので青色になっています。
さて、接続先設定は他のウォレットにも実装されていることがよくあります。Sparrow Walletの長所がより強く現れる機能を見ていきましょう。
マルチシグが直感的で、大半のハードウェアウォレットに対応
1つはマルチシグウォレットの作りやすさ、使いやすさです。新しいウォレットを作る(File>New Wallet)と、まず識別用の名前を決めるように言われます。その後の画面で、シングルシグあるいはマルチシグウォレットを選べて、マルチシグの場合は様々な設定ができます。

例えば上記では一般的な2-of-3マルチシグを作成できますが、スライダーで鍵の数や閾値を変えることができます。それぞれの鍵についてはKeystoresの欄でハードウェアウォレットや他のウォレットに保管されている鍵を登録したり、xpubを読み込んだり、新しいシードフレーズを生成したりできます。Sparrowは基本的にはハードウェアウォレットと組み合わせて使うのがおすすめです。

ほとんどのハードウェアウォレット(HWW)に対応しているため、HWWの脆弱性リスクを排除するマルチベンダー・マルチシグ運用もしやすいです。鍵の数だけKeystoresを登録してウォレットを生成すると、PDFやBSMSファイルという形でバックアップできます。(公開鍵のリストが含まれるファイルです)
マルチシグにはそれぞれの鍵以外にDescriptorという「どの鍵たちからなるマルチシグか」という情報をバックアップしておく必要があるので、このPDFやBSMSファイルは消えないように保管しましょう。(これが流出しても資金は盗まれませんが、プライバシーは失われてしまうので誰にでも見れる場所に置くのはやめておきましょう)
なお、個人の場合はガバナンスの問題があるわけではないため、必ずしもマルチシグで保管をする必要はないと思います。ビットコイン研究所でおすすめする保管方法については以下の記事をご覧ください。
Sparrowの送金時のUIもビットコインの学習を進めたい上級者や、プライバシーを守りたいユーザー向けに最適化されています。例えば送金トランザクションを作成する画面では以下のような情報が表示されます。

手数料が設定できるのももちろんのこと、特筆すべきは下の対応図です。左側に「消費されるUTXO」、右側に「新しく生成されるUTXOとマイニング手数料」が表示されます。それぞれSparrow Wallet内のラベルで表示されるほか、マウスオーバーで「Change(同じウォレット宛のお釣り)」などの情報が出てきます。また、デフォルトでは手数料を安く済ませるために最適化されていますが(Efficiency)、Analysisにマウスオーバーするとそのトランザクションがブロックチェーン解析企業にどう見られるかがわかります。

Privacyを選択すると、トランザクションの内容が最大限プライバシーを守る形に作り変えられます。

左側の消費されるUTXOは、それぞれのUTXOのオンチェーンの履歴がかぶらないもの2つに分類されました。右側には本当の送金先アドレスと金額、同じ金額の「フェイク」の送金先アドレス(実際には自分のアドレス)、そしてお釣りアドレス2つが生成されました。これによって、外部からは「2人のユーザーによるCoinjoin(Payjoin)という判定になり、オンチェーンでの追跡がより困難になります。
Payjoinについては以下の記事をご覧ください。
もちろん送金手数料はトランザクションが大きい分かかってしまいますが、手動でこのようなトランザクションを作ると小さなミスによってプライバシーが得られなくなってしまうので、自動的にいい感じにトランザクションを作ってくれるのは非常に強力な機能です。もちろん、使いたくないUTXOが左側にあった場合はマウスオーバーすると削除ボタンが表示されるので、いわゆる手動でのコインコントロールも可能です。
Silent Paymentsにも対応
Sparrow Walletは多くのウォレットがまだ対応していない先進的な機能にも対応していたりします。例えば今回の記事のきっかけとなったのは、Silent Paymentsによるステルスアドレスへの送金だけでなく、受け取りにも対応したことです。(ただし、前提条件としてFrigateなどSilent Paymentsに対応したElectrum Serverが必要になります)
FrigateはSparrow Walletが用意した、Silent Payments対応のElectrumサーバー
ウォレット作成画面でSingle Signature SPを選ぶとSilent Paymentsで受け取れるウォレットが作成できます。以下は適当に新しいシードフレーズを生成して作った場合の画面ですが、ハードウェアウォレットなども今後HWW側のアップデートなどにより利用できるようになります。spscanで始まる文字列はElectrum Serverがブロックチェーンのスキャンに利用する公開鍵です。

受け取りの画面にいくと、sp1で始まるSilent Payment addressとQRコードが表示されます。再使用可能で、送る側のユーザーがSilent Paymentsに対応していればこれを使って何度でも新しいビットコインアドレスを生成してもらえます。もちろんSilent Paymentsに対応していないユーザーからは送金を受け取ることはできません。

Silent Paymentsは今後普及するかどうか気になるプロトコルの1つです。取引所の入金に使われれば、入金アドレス再使用によるプライバシー問題が大きく改善することに期待できます。
Lightning Networkには非対応
逆にSparrow Walletが対応していない機能でいうと、ライトニングには対応していません。現時点ではあくまでオンチェーン用のウォレットとなっています。なので、普段使いというよりは、大きな金額やハードウェアウォレットを扱うためのものだと考えて問題ないでしょう。
ビットコインの技術やプライバシーを学ぶのにうってつけ
このように、Sparrow Walletはプライバシー関連の先進機能があるだけでなく、ビットコイントランザクションの構造、ウォレットの生成や使用手順、ハードウェアウォレットの連携、マルチシグなど、様々なビットコインの技術に詳しくなれるウォレットです。向上心のある皆様はぜひ、Umbrelなどを使ってElectrumサーバーを用意して触ってみてください。
Sparrow Walletに搭載されているプライバシーの自動最適化機能などは他のウォレットでも使えるようになってほしいものです。
https://www.sparrowwallet.com/
関連記事
最新記事
読者になる
ビットコイン研究所の新着記事をお届けします。

ディスカッション