今週のニュースレターでは、Bitcoin Coreのmempool内でトランザクションwitnessを置換できるようにする提案と、 LNゴシッププロトコルの更新に関する継続的な議論のまとめを掲載しています。 また、Bitcoin Stack Exchangeから選ばれた質問と回答、新しいリリースとリリース候補の発表、 人気のあるBitcoinインフラストラクチャプロジェクトの注目すべき変更といった恒例のセクションも含まれています。

ニュース

  • トランザクションwitnessの置換: Larry Ruaneは、Bitcoin-Devメーリングリストに、 txidが同じでより小さいwitnessを持つ(したがってwtxidは異なる)同じトランザクションの置換を許可することについて、 情報と意見を求めました。 Ruaneは、トランザクションの他の詳細(アウトプットのアドレスや量など)に変更を加えることなく、 witnessのサイズが変わる可能性のあるトランザクション(例えば、 Taprootでkeypathの代わりにscriptpathを使用するなど)を作成するアプリケーションに関する情報を求めていました。

    現在もしくは提案中のアプリケーションで、witnessの置換ができると便利なものがある場合、 Ruaneは、置換を可能にするのにwitnessをどの程度削減する必要があるかについてもフィードバックを求めています。 必要な削減が多いほど、置換は少なくなり、最悪の場合に攻撃者によって消費される可能性のあるノードの帯域幅を制限することができます。 しかし、より多くの削減を要求すると、アプリケーションはwitnessの置換によって小規模もしくは中規模の節約はできなくなります。

  • LNゴシッププロトコルの更新に関する継続議論: ニュースレター #188で報告したように、 LNプロトコル開発者は、利用可能なペイメントチャネルに関する情報を配信するために使用するLNのゴシッププロトコルをどう改訂するかについて議論しています。 特に今週は、2つのスレッドが活発でした:

    • メジャーアップデート: 先月のRusty Russellのメジャーアップデートの提案に対して、 Olaoluwa Osuntokunは、オンチェーン資金と特定のLNチャネルとの間のリンクに、 もっともらしい否認を導入する提案の側面に繰り返し懸念を表明しました。 この機能により、非LNユーザーが実際には存在しないかもしれないチャネルの存在を配信することが容易になり、 ネットワークを介して資金を受け取るノードへの有効な経路を見つけるための送信者の能力が低下する可能性があります。

    • マイナーアップデート: Osuntokunは、 主にTaprootベースのチャネルを可能にすることを目的としたゴシッププロトコルの小さなアップデートのための別の提案を投稿しました。 この提案では、MuSig2を使用して、 関連する4つの公開鍵(2つのノード識別鍵と、2つのチャネル使用鍵)すべてに関連する承認を単一の署名でできるようにし、 MuSig2を使用してチャネルのセットアップトランザクションを使用可能にする必要があります。

      彼はまた、チャネルアナウンスのメッセージにSPVの部分的なマークルブランチプルーフを追加することが役立つかもしれないと提案しました。 これにより、チャネルのセットアップトランザクションがブロックに含まれていることが証明され、 軽量クライアントが、その存在を検証するのにトランザクションを含むブロック全体をダウンロードする必要がなくなります。

Bitcoin Stack Exchangeから選ばれたQ&A

Bitcoin Stack ExchangeはOptech Contributor達が疑問に対して答えを探しに(もしくは他のユーザーの質問に答える時間がある場合に)アクセスする、 数少ない情報ソースです。この月刊セクションでは、前回アップデート以降にされた、最も票を集めた質問・回答を紹介しています。

リリースとリリース候補

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

  • BDK 0.17.0は、Bitcoinのウォレットを構築するためのこのライブラリのリリースです。 このバージョンの改良により、ウォレットがオフラインの時もアドレスの導出が簡単になります。

  • Bitcoin Core 23.0 RC2は、この重要なフルノードソフトウェアの次のメジャーバージョンのリリース候補です。 リリースノートのドラフトには、複数の改善点が記載されており、 上級ユーザーとシステム管理者には最終リリース前のテストが推奨されます。

  • LND 0.14.3-beta.rc1は、この人気のあるLNノードソフトウェアのいくつかのバグ修正を含むリリース候補です。

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

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

  • C-Lightning #5078は、ノードが同じピアへの複数のチャネルを効果的に使用できるようにします。 これには、代替チャネルの方が適している場合に、 ルーティングメッセージで指定されたものとは異なるチャネル(ただし同じピア)で支払いをルーティングすることも含まれます。

  • C-Lightning #5103では、特定のチャネルのルーティング手数料、 最小支払い額および最大支払い額を設定する新しいsetchannelコマンドを追加しています。 これは現在非推奨となっているsetchannelfeeコマンドに代わるものです。

  • C-Lightning #5058では、BOLTs #962でLNの仕様からの削除が提案された、 オリジナルの固定長のOnionデータフォーマットのサポートが削除されました。 アップグレードされた可変長フォーマットは、約3年前に仕様に追加され、 BOLTs #962のPRで言及されたネットワークスキャンの結果では、17,000の公開ノードのうち、 5つを除くすべてのノードでサポートされていることが示されています。

  • LND #5476は、GetTransactions RPCと SubscribeTransactions RPCの結果を更新し、 支払われる金額とScript、アドレス(Script)が内部ウォレットに属するかどうかなど、 作成されるアウトプットに関する追加情報を提供します。

  • LND #6232は、すべてのHTLCが、 HTLCインターセプターフックに登録されたプラグインによって処理されるよう要求できる設定を追加しました。 これにより、HTLCインターセプターが自身を登録する前に、 HTLCが受け入れられたり拒否されたりすることがなくなります。 HTLCインターセプターを使用すると、外部プログラムを呼び出してHTLC(支払い)を検査し、 それを受理するか拒否するかを決定できるようになります。