今週のニュースレターでは、プラグイン可能なチャネルファクトリーを可能にするためのLN仕様の変更案と、 提案中のソフトフォークを使用するデフォルトsignet上のトランザクションを調査したレポートと 新しいウェブサイトのリンク、LNHANCEマルチパートソフトフォーク提案の更新に関する説明、 コンセンサスの変更ではなくグラインドに基づくコベナンツに関する論文についての説明を掲載しています。 また、サービスやクライアントソフトウェア、人気のあるBitcoinインフラストラクチャソフトウェアの 最近の変更をまとめた恒例のセクションも含まれています。

News

  • プラグイン可能なチャネルファクトリー: ZmnSCPxjは、既存のLNソフトウェアがプラグインを使用してチャネルファクトリー内で LN-Penaltyペイメントチャネルを管理できるようにするために、 BOLTの仕様に小さな変更を加える提案をDelving Bitcoinに投稿しました。 この仕様変更により、(ライトニングサービスプロバイダー、LSPなどの) ファクトリーマネージャーは、ローカルのファクトリープラグインに渡されるメッセージを LNノードに送信できるようになります。多くのファクトリー操作は、 スプライシングの操作に似ているため、 プラグインはかなりの量のコードを再利用できます。ファクトリー内のLN-Penaltyチャネルの操作は、 ゼロ承認チャネルに似ているため、 既存のコードを再利用することもできます。

    ZmnSCPxjの設計は、SuperScalarスタイルのファクトリー(ニュースレター #327参照)に重点をを置いていますが、 おそらく他のスタイルのファクトリー(およびおそらく他のマルチマーティコントラクトプロトコル)とも互換性があります。 Rene Pickhardtは、ファクトリー内のチャネルをアナウンスできるようにする 追加の仕様変更について質問しましたが、ZmnSCPxjは、 仕様変更をできるだけ早く採用できるようにするために、設計では意図的にそれらを考慮しなかったと答えました

  • signetのアクティビティレポート: Anthony Townsは、 Bitcoin Inquisitionを介して利用可能な提案中のソフトフォークに関係する デフォルトsignet上のアクティビティの概要をDelving Bitcoinに投稿しました。 この投稿では、LN-Symmetryのテストや OP_CHECKTEMPLATEVERIFYのエミュレーションを含む SIGHASH_ANYPREVOUTの使用状況を確認しています。 次に、おそらくいくつかの異なるVaultの構成と、いくつかのデータキャリアトランザクションを含む OP_CHECKTEMPLATEVERIFYの使用状況を直接確認しています。最後に、 Proof-of-WorkベースのFaucet(ニュースレター #306参照)や、 Vaultまたはその他のコベナンツの可能性があるもの、 STARKゼロ知識証明の検証を含むOP_CATの使用状況を確認しています。

    Vojtěch Strnadは、Townsの投稿に触発されて、 「デプロイされたソフトフォークを使用するBitcoin signet上で作成された すべてのトランザクション」をリストアップする ウェブサイトを作成したと回答しました

  • LNHANCE提案の更新: Moonsettlerは、 OP_CHECKTEMPLATEVERIFYOP_CHECKSIGFROMSTACKを含む LNHANCEのソフトフォーク提案に追加される新しいOP_PAIRCOMMIT opcodeの提案を Delving BitcoinおよびBitcoin-Devメーリングリストに投稿しました。 この新しいopcodeを使用すると、要素のペアに対してハッシュコミットメントを行うことができます。 これは、提案中のOP_CAT連結opcodeや、 Elementsベースのサイドチェーン使用できるストリーミングSHA opcodeを使用して実現できることと似ていますが、 再帰的なコベナンツの有効化を回避するために意図的に制限されています。

    Moonsettlerは、LNHANCEの提案に対するそのほかの小さな潜在的な調整についても メーリングリストで説明しました

  • コンセンサスの変更ではなくグラインドベースのコベナンツ: Ethan Heilmanは、Victor Kolobov、Avihu Levy、Andrew Poelstraと共同執筆した論文の要約を Bitcoin-Devメーリングリストに投稿しました。この論文では、 コンセンサスの変更なしにコベナンツを簡単に作成する方法が説明されていますが、 コベナンツからの支出には、非標準のトランザクションと数百万ドル(または数十億ドル)相当の特殊なハードウェアと電力が必要になります。 Heilmanは、この研究の1つの応用として、量子耐性が突然必要になり、 Bitcoinの楕円曲線の署名演算が無効になった場合に安全に使用できる バックアップのTaprootの使用条件パスを現在のユーザーが簡単に組み込めるようにすることが挙げられると述べています。

サービスとクライアントソフトウェアの変更

この毎月の特集では、Bitcoinのウォレットやサービスの興味深いアップデートを取り上げています。

  • Sparkレイヤー2プロトコルの発表: Sparkは、オフチェーンのステートチェーンのようなプロトコルで、 ライトニングネットワークをサポートします。

  • Unifyウォレットの発表: Unifyは、Bitcoin Coreを使用し、nostrを介してPSBTの調整をする BIP78互換のPayjoinウォレットです。

  • bitcoinutils.devのローンチ: bitcoinutils.devウェブサイトでは、スクリプトのデバッグやさまざまなエンコーディングやハッシュ関数など Bitcoinのさまざまなユーティリティを提供します。

  • Great Restored Script Interpreterが利用可能に: Great Restored Script Interpreterは、 Great Script Restoration提案の実験的なインタプリタです。

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

最近のBitcoin CoreCore LightningEclairLDKLNDlibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay ServerBDKBitcoin Improvement Proposals(BIP)Lightning BOLTsBitcoin InquisitionおよびBINANAsの注目すべき変更点。

  • Bitcoin Core #30666は、ブロックインデックスを反復処理しベストヘッダーを再計算する RecalculateBestHeader()関数を追加します。この関数は、invalidateblock RPCコマンドや reconsiderblock RPCコマンドが使用された場合、またはブロックインデックス内の有効なヘッダーが 完全な検証中に無効であることが判明した場合に、自動的にトリガーされます。これにより、 これらのイベント後に値が誤ってセットされる問題が修正されます。また、このPRは、 無効なブロックから拡張されたヘッダーをBLOCK_FAILED_CHILDとしてマークし、 m_best_headerの対象にならないようにします。

  • Bitcoin Core #30239は、エフェメラルダストアウトプットを標準とし、 ダストアウトプットを持つ手数料ゼロのトランザクションが、 トランザクションパッケージで同時に使用される場合に、 mempoolに格納できるようにします。この変更により、コネクターアウトプットや キー付きおよびキーなしの(P2A)アンカーなどの高度な構成のユーザービリティが向上し、 LNやArkタイムアウトツリーBitVM2などのプロトコルの拡張に役立ちます。このアップデートは、 1P1CリレーやTRUCトランザクション、 兄弟の排除など既存の機能に基づいています(ニュースレター #328参照)。

  • Core Lightning #7833は、オファープロトコルをデフォルトで有効にし、 これまでの実験的ステータスを削除します。これは、 オファーがBOLTリポジトリにマージされたことによるものです(ニュースレター #323参照)。

  • Core Lightning #7799は、askreneプラグイン(ニュースレター #316参照)と injectpaymentonion RPCコマンドを使用して、最適なマルチパスペイメントを構成することで 支払いを送信するxpayプラグインを導入します。このプラグインは、 BOLT11BOLT12の両方のインボイスへの支払い、 再試行期間と支払い期限の設定、レイヤーを介したルーティングデータの追加および、 単一のインボイスでマルチパーティが寄与する部分支払いをサポートします。 このプラグインは、以前の「pay」プラグインよりもシンプルで洗練されていますが、 そのすべての機能を備えているわけではありません。

  • Core Lightning #7800は、CLNノードによって生成されたすべてのビットコインアドレスのリストを返す新しい listaddresses RPCコマンドを追加します。また、このPRは、 アンカーアウトプットからの支払いおよび 一方的な閉鎖のお釣り用アドレスのデフォルトのスクリプトタイプとしてP2TRを設定します。

  • Core Lightning #7102は、 コマンドラインオプションを使用して非対話的に実行できるようgeneratehsmコマンドを拡張します。 これまでHSM(Hardware Security Module)のシークレットは、 ターミナルの対話型プロセスを通じてのみ生成できたため、この変更は自動インストールに特に役立ちます。

  • Core Lightning #7604は、bookkeepingプラグインにbkpr-editdescriptionbypaymentid RPCコマンドとbkpr-editdescriptionbyoutpointRPCコマンドを追加します。これらのコマンドは、 ペイメントIDまたはOutPointに一致するイベントの説明をそれぞれ更新、設定します。

  • Core Lightning #6980は、JSONペイロードまたは 複雑なスプライシングと関連アクションを定義するスプライススクリプトを受け取り、 これらすべての複数のチャネル操作を1つのトランザクションに統合する新しいspliceコマンドを導入します。 このPRでは、ユーザーがPSBTに直接インプットを追加できるようにするaddpsbtinput RPCコマンドも追加されています。 また、複雑なスプライスアクションを実行する際に重要な、チャネルアクティビティを一時停止したり、 複数のチャネルを中止してチャネルコミットメントアップグレードを有効にしたりできるようにする stfu_channelsRPCコマンドおよびabort_channelsRPCコマンドも追加されています。