今週のニュースレターでは、新しいOP_EVICT opcodeの提案と、新しいリリースとリリース候補の概要や、 人気のあるBitcoinインフラストラクチャソフトウェアの注目すべき変更などの恒例のセクションを掲載しています。

ニュース

  • UTXOの所有権の共有を簡素化するopcodeの提案: 開発者であるZmnSCPxjは、 以前提案されたOP_TAPLEAF_UPDATE_VERIFY (TLUV) opcodeに代わるOP_EVICT opcodeの提案を Bitcoin-Devメーリングリストに投稿しました。 TLUVと同様に、OP_EVICTは、2人以上のユーザーが1つのUTXOの所有権を共有するユースケース( Joinpoolや、Channel Factories、特定のCovenantsなど)に 焦点を当てています。OP_EVICTがどのように機能するか理解するために、 1つのUTXOを4人(Alice、Bob、Carol、Dan)で制御するJoinpoolを想像してみてください。

    現在、これらの4人のユーザーは、全員が署名の作成に参加している場合に、 MuSig2などのプロトコルを使用してアウトプットを効率的に使用できる、 keypathで使用可能なP2TR(Taproot)アウトプットを作成することができます。 しかしユーザーの1人であるDanが参加できなくなったり悪意あるユーザーである場合、 AliceとBob、CarolがJoinpoolの残額についてプライバシーと効率の利点を維持する唯一の方法は、 事前にDanと署名済みのトランザクションツリーを用意しておくことです。 使用する際にすべては必要ありませんが、完全な障害耐性を確保するためには、そのすべてが使用可能な状態である必要があります。

    Illustration of combinatorial blowup when using presigned
transactions to ensure trustless withdrawal from a
joinpool

    UTXOを共有するユーザーの数が増加すると、作成する必要がある署名済みトランザクションの数が組み合わせで増加し、 準備がとてもスケーラブルでなくなります(わずか10人のユーザーでも、100万以上のトランザクションに事前署名する必要があります)。 TLUVやOP_CHECKTEMPLATEVERIFYなどの提案された他のopcodeは、 組み合わせの爆発を解消することができます。 OP_EVICTは同じことを実現しますが、ZmnSCPxjは、 共有されたUTXOの所有権グループのメンバーを削除する際に使用するオンチェーンデータが少ないため、 (このユースケースでは)それらのopcodeより優れたオプションになる可能性があることを示唆しています。

    OP_EVICTがソフトフォークで追加された場合、グループの各メンバーは他のメンバーと、 公開鍵と一緒に各メンバーに割り当てた金額(例えばAliceに1 BTC、Bobには2 BTCなど)を支払うアウトプットに対してその公開鍵の署名を共有します。 各メンバーは、他のすべてのメンバーの公開鍵と署名を手に入れると、 以下の2つの異なる方法のいずれかで資金を使用することができるアドレスをトラストレスに構築することができます:

    1. 上記のようにTaprootのkeypathによる支払いを使用
    2. OP_EVICT opcodeを使用したTapscriptのscriptpathによる支払いを使用


    Danを排除する場合、このopcodeは以下のパラメーターを受け取ります:

    • 共有公開鍵: グループ全体の共有公開鍵で、テンプレートへの1バイトの参照を使用して効率的に提供できます。

    • Eviction数: Joinpoolを抜けるアウトプットの数(今回の例では1)

    • Evictionアウトプット: 今回の例ではDanのアウトプット1つで、データはそのインデックスの位置とDanの署名を提供します。 Danの公開鍵は彼が署名したアウトプットで使用されたものと同じ鍵になります。

    • 未排除の署名: グループ全体からEvictionアウトプットで使用される公開鍵を差し引いた公開鍵に対応する署名。 言い換えると、グループの残りのメンバー(この例ではAliceとBobとCarol)の署名です。

    これにより、Alice、Bob、Carolは、Danが以前署名したアウトプットを持つトランザクションを作成し、 そのアウトプットに対するDanの署名と、AliceとBobおよびCarolが (手数料をカバーし、残りの資金を彼らが選んだ方法で割り当てた)支払いトランザクション全体に対して 動的に作成した署名を提供することで、Danの協力なしにいつでもグループのUTXOを使用することができるようになります。

    この記事を書いている時点で、OP_EVICTはメーリングリスト上で適度な議論を受けましたが、 大きな懸念はなく、昨年のTLUVの提案とほぼ同じような熱の入りようでした。

リリースとリリース候補

人気のBitcoinインフラストラクチャプロジェクトの新しいリリースとリリース候補。 新しいリリースにアップグレードしたり、リリース候補のテストを支援することを検討してください。

  • BTCPay Server 1.4.6は、このペイメントプロセッサソフトウェアの最新リリースです。 前回Optechが取り上げたリリース以降、CPFPによる手数料の引き上げのサポートや、 LN URLの追加機能の利用に加えて、複数のUIの改善が行われました。

注目すべきコードとドキュメントの変更

今週のBitcoin CoreC-LightningEclairLDKLNDlibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay ServerBDKBitcoin Improvement Proposals(BIP)、およびLightning BOLTsの注目すべき変更点。

  • HWI #550は、Ledgerハードウェア署名デバイス用の最新のロード可能なBitcoinファームウェアのサポートを追加しました。 これは、バージョン2のPSBTOutput Script Descriptorのサブセットをネイティブでサポートします。