ハードウェアウォレット大手のLedgerは最近シードフレーズの分割バックアップ機能(カストディアン3社にKYC必須)を発表して炎上したことが記憶に新しいですが、その話題はより専門的な知識のある別のライターに任せます。

今日触れたいのはLedgerが1月にMiniscriptに対応したファームウェア(デバイス側のビットコインアプリ)をリリースしたことについてです。Miniscriptは本稿でも4年ほど前に紹介した通り、記述や読解が難しいBitcoin Scriptのコントラクトをより人間が読み書きしやすく、想定外の挙動がないことを検証できるようにする高級言語です。また、ソフトウェアウォレットが任意のBitcoin Scriptを解釈することは困難ですが、任意のMiniscriptであれば扱い方が簡単になります。

Miniscriptがビットコインのスマートコントラクトを使いやすくする
豊かな知識とともに。

Miniscript対応のファームウェアを近日リリース予定という昨年4月のLedger社ブログ記事はこちら

ハードウェアウォレットとしては初

Ledger社のハードウェアウォレットはPC側のソフトウェアウォレットとは別にデバイス側のファームウェア(アプリ)があり、デバイスの画面上での操作や実際の署名指示などはこのファームウェアが実行しています。

1月のアップデートにより、PC側のソフトでMiniscriptウォレットを作成した後にそれをデバイス側のファームウェアに登録し、送金時や受け取り時に関連の情報が画面に確認表示されるようになりました。

Miniscriptウォレット登録時のデバイス画面のイメージ(昨年4月時点)
Miniscriptウォレット登録時のデバイス側画面のイメージ(昨年4月時点)

これはハードウェアウォレットとしては初の試みで、あれほどビットコインオンリーで愛されているColdCardでさえ利用が見込まれるユーザー数が少なすぎて着手していない部分です。ビジネス判断というよりは新規市場開拓に近いのでしょうか。

実際、MiniscriptはLianaというソフトウェアウォレットが頑張っている以外はそれほど普及が進んでいないため、かなりイノベーティブと言えるでしょう。確かに秘密鍵で署名するだけのP2PKH / P2WPKH以外のBitcoin Scriptを利用する個人ユーザーが非常に少ないのは確実です(そもそもウォレットが対応していません)。

Miniscriptというビットコインにとって役立つ技術への貢献を理由にLedgerが炎上沙汰になっていてもそれほど厳しくなれないというビットコイナーさえ見かけました。(笑)

ちなみにLianaのチームが先月Ledgerのファームウェア(ビットコインアプリ)にMiniscriptの一部が検証されないバグを発見して報告していました。やっている内容が非常にEarlyなのでこの件でもLedgerを責めるのは難しく感じます。
Ledger Bitcoin App’s Implementation of Miniscript Had A Theft Enabling Bug
Liana’s team uncovered a vulnerability in the Ledger Bitcoin application’s implementation of Miniscript, which could have potentially allowed for bypassing some spending conditions advertized to the user but not actually present in the generated Bitcoin Script.

これからBitcoin Scriptの活用は増える?

Miniscriptはユーザーがまだほとんどいないという声がありましたが、果たしてハードウェアウォレットやソフトウェアウォレットのMiniscript対応によってBitcoin Scriptが活用されるユースケースが盛り上がってくるのでしょうか。私は「個人でBitcoin Scriptを記述することは増えないが、Bitcoin Scriptを活用するサービスが実現できる柔軟性の改善によって間接的に利用が増える」と考えています。

実は相続やマルチシグ関連のサービス(CasaやUnchained、Nunchukなど)、あるいは時限性マルチシグを利用したウォレット(Blockstream Greenなど)を始めとしてBitcoin Scriptを活用したアプリケーションは資金の管理を行うものだけでもいろいろあります。これらのソリューションのカスタマイズ性を高めるのにMiniscriptは大きな役割を果たすでしょう。(逆にBitcoin Scriptユーザーのうち取引所やライトニングノードは定型文のBitcoin Scriptを使っているのでMiniscriptがもたらす柔軟性の恩恵は少ないかもしれません。

またOrdinal Inscriptionsとそれを応用した様々な用途が流行している2023年上半期ではありますが、その影でコベナンツを実現するオペコードの研究や新しいコベナンツ・そのユースケースの提案などが盛んに行われています。コベナンツの実現には新しいオペコード、すなわちBitcoin Scriptのアップグレードが必要になるため、Bitcoin Script周りへの注目が今後も伸び続ける可能性は高いように感じます。

コベナンツとは特定のコインについて送金時のトランザクションに制約を課すことができる技術で、ウォレットの安全性強化や様々なオフチェーンプロトコルの作成に使えることが注目されています。

実はMiniscriptとコベナンツは相性がよくありません。なぜならMiniscriptの特徴はスクリプトが木構造になっていて各葉ノードにおけるBitcoin Scriptの網羅的な検証がしやすいためですが、コベナンツが導入されると葉ノードの検証にMiniscript内では取得できないグローバルなコンテキストが必要になるためです。

MiniscriptはBlockstreamから出てきたテクノロジーですが、同じくBlockstream社のプロダクトであるLiquidサイドチェーンにはコベナンツがあります。このためMiniscriptを拡張したElements Miniscriptという言語が利用されていますが、残念ながらMiniscriptと比較してスクリプトの安全性の検証能力は落ちているという課題があります。したがってコベナンツ勢にとっては記述が容易になるというメリットが中心となるかもしれません。

まとめ

・Ledger社が使用条件の記述にMiniscriptを使ったビットコインウォレットに対応するハードウェアウォレットのファームウェアを公開

・Miniscriptによって安全性と柔軟性を両立したBitcoin Script利用が促進される足がかりになるかもしれないが、他のHWWやソフトウェアウォレットの追随はまだ。したがってユーザーもほとんどいない

・多くのウォレットで扱えるようになれば相続やマルチシグ関係のサービスにとってはカスタマイズ性を高めてサービス提供する上で便利になる。どちらかというとユーザーが直接記述するものではない

・最近密かに盛り上がっているコベナンツもオンチェーンのスクリプト機能の拡張による実現を求めているが、コベナンツとMiniscriptの相性はそれほど良くないため対応の恩恵は限定的になると見られる