送金時にマルチシグトランザクションのデータを署名者達が共有する際の形式を定めた規格であるPSBTは今からおよそ2年前に初めてBitcoin Coreにてサポートされましたが、最近リリースされたElectrum 4.0がPSBTに対応するなど、他のウォレットにおいても着々とPSBT対応が広がっています。

また、ハードウェアウォレットでも、Cobo VaultやColdcardなどエアギャップを保つことに重点を置くものはPSBTに対応しており、有線・無線を問わず一度もインターネットに接続した端末に繋げることなくPSBTによるマルチシグトランザクションに署名することができます。高いセキュリティが必要なユースケースにおいて、非常に心強い存在かと思います。

今回はPSBTを扱うことに特化したツールを2つ紹介します。

PSBTについては2月に投稿した「署名途中のマルチシグトランザクションの共通規格PSBT」をご覧ください。当時まだPSBTに対応していなかったElectrumとBluewalletは今では両方とも対応しています。

なお、普通にPSBTを利用するには恐らくElectrumやBluewalletで事足りると思います。

PSBTを作れる”SPECTER DESKTOP”

Specter DesktopはBitcoin Core用のブラウザベースのUIで、複数のハードウェアウォレットに対応しています。実際の機能は全てBitcoin Coreに依存しているので、Specter Desktop単体では使用できません。

Bitcoin CoreのGUIは一般的なソフトウェアウォレットと比べてかなりレベルが低く、オマケ程度なイメージがありますが、Specter DesktopはChromeで動作して比較的オシャレな画面で簡単に新しいウォレットを作ったり、トランザクションを作成してハードウェアウォレットで署名することができます。

SpecterのミッションはBitcoin CoreのUIとして特にエアギャップのコールドウォレットを使用したマルチシグの使用感の向上なので、「Coldcard」「Specter DIY」「Other Device」からカテゴリを選択してデバイスを登録(マスター公開鍵の登録)をすることでウォレットを監視できるほかに、登録したデバイスを直感的にマルチシグウォレットの署名鍵としてセットアップできます。

また、Specter DIYというのはオープンソースのハードウェアウォレットの開発プロジェクトで、Specter Desktopと並行して開発が進められています。

ちなみに、ハードウェアウォレットのメーカーは世界中にありますが、市場自体はほぼ北米だそうです。(日本や中国などとは需要の桁が1つ違うらしい)
PSBT TOOLKIT

PSBT ToolkitもSpecter Desktopと似たツールで、GUIで簡単にPSBTに関する署名以外の全ての操作を行うことができます。このため、Specter Desktopとは異なり、Bitcoin Coreがない環境でも動作します。

署名ができないなら使い道はほとんどないのでは?と思うかもしれませんが、最初にPSBTを作成して各署名者に渡すために使うこともできますし、複数のPSBTを合成することもできます。

例えば、複数の署名者のうち「誰が署名したか」を実際にトランザクションを配信するまで、PSBTの作成者以外に秘匿したい場合があるとします。(特定のメンバーの参加・不参加による政治的な影響を懸念する場合など)
その場合は、各署名者に空のPSBTを渡して、署名した人たちが提出したものを1つにまとめて署名数が足りるなら配信することができます。このとき、PSBT ToolkitはPSBTを作成する段階とまとめる段階に使えます。

ただし、GUI自体はPSBTの構造を意識しているため、ビットコイントランザクションやPSBTに関する多少の知識は必要になります。初心者向けとは言えないでしょう。

PSBTブームは続く

ウォレットが対応したり、コールドウォレットがライトニングチャネルのセットアップに使えるようになるなど、昨年末ごろからPSBTブームが静かに巻き起こっています。
シュノア署名が導入された際にはマルチシグを利用することのコストが低下するため、Specter Desktopのようなツールの普及でユーザビリティが向上すればより一般的に使われる可能性があるのではないでしょうか。

ちなみにシュノア署名の導入も、最適なデプロイ方法が考えられている段階まで来ています。とても泥臭いテーマですが、非中央集権へのこだわりからマイナーや開発者に力が集中しないような仕組みが求められます。