今週のニュースレターでは、Bitcoin CoreからBIP35のmempoolP2Pプロトコルメッセージのサポートを削除する提案に関する フィードバックの要求に加え、Bitcoin Stack Exchangeからの人気の質問と回答、新しいリリースとリリース候補の発表、 人気のBitcoinインフラストラクチャソフトウェアの注目すべき変更など恒例のセクションを掲載しています。

ニュース

  • BIP35 mempool P2Pメッセージの削除を提案: Will Clarkは、 BIP35で元々定義されていたmempoolP2Pメッセージのサポートを削除するために作成されたPRについて、 Bitcoin-Devメーリングリストに投稿しました。 元の実装では、mempoolメッセージを受信したノードは、 自身のmempool内のすべてのトランザクションのtxidを含むinvメッセージで要求元のピアに応答していました。 要求元のピアは、その後、受け取りたいトランザクションのtxidを含む通常のgetdataメッセージを送信することができました。 BIPでは、このメッセージについて3つの動機を説明しています。 ネットワーク診断、軽量クライアントが未承認トランザクションをポーリングできるようにすること、 そして直近で起動したマイナーに未承認トランザクションを知らせることです(当時、 Bitcoin Coreはシャットダウン時にmempoolを永続ストレージに保存していませんでした)。

    しかし、その後、mempoolメッセージまたはgetdataを使用して 任意のmempoolトランザクションを要求できる機能を悪用することで、 どのノードが最初にトランザクションをブロードキャストしたかをより簡単に特定できるようになる、 プライバシーを低減するさまざまな技術が開発されました。 トランザクションの発信元のプライバシーを改善するために、 Bitcoin Coreはその後、未公表のトランザクションを他のノードから要求する機能を削除し、 mempoolメッセージは軽量クライアント用の(BIP37として定義されている) トランザクションBloom Filterと共に使用するよう制限されました。 さらにその後、Bitcoin CoreはBloom Filterのサポートをデフォルトで無効にし(ニュースレター #56参照)、 -whitelistオプションで設定されたピアに対してのみ使用を許可しました(ニュースレター #60参照)。 これにより、BIP35のmempoolメッセージもデフォルトで事実上無効になりました。

    ClarkのBitcoin CoreのPRは、プロジェクト内から支持を得ていますが、 一部の支持者はBIP37のBloom Filterを先に削除すべきだと考えています。 メーリングリストでは、この記事を書いている時点で唯一の返信があり、 自分の信頼できるノードに接続する軽量クライアントは現在、BIP35およびBIP37を使用して、 Bitcoin Coreで現在簡単に利用できる他の方法よりもはるかに帯域幅効率の良い方法で、 未承認のトランザクションについて知ることができると述べています。 この回答者は、Bitcoin Coreが現在のインターフェースを削除する前に、 代替となる仕組みを提供することを提案しています。

    何らかの目的でBIP35のmempoolメッセージを使用している人からの追加のフィードバックが求められています。 メーリングリストの投稿または上記のPRに返信することができます。

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

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

リリースとリリース候補

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

  • LDK 0.0.115は、LN対応ウォレットやアプリケーションを構築するためのこのライブラリのリリースです。 実験的なOfferプロトコルのサポートや、セキュリティとプライバシーの向上など、 いくつかの新機能とバグ修正が含まれています。

  • LND v0.16.1-betaは、このLN実装のマイナーリリースで、いくつかのバグ修正とその他の改良が含まれています。 リリースノートには、デフォルトのCLTV deltaが40ブロックから80ブロックに増加したことが記載されています( LNDのデフォルトのCLTV deltaの変更については、ニュースレター #40を参照ください)。

  • Core Lightning 23.05rc1は、このLN実装の次のバージョンのリリース候補です。

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

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

  • LND #7564では、mempoolへのアクセスを提供するバックエンドのユーザーが、 ノードのチャネルに含まれるHTLCのプリイメージを含む未承認トランザクションを監視できるようになりました。 これにより、ノードは、これらのトランザクションが承認されるのを待つよりも、速くHTLCを解決できるようになります。

  • LND #6903は、アンカー・アウトプットを使用してチャネルに手数料を追加するために オンチェーンで保持する必要がある金額を除いて、新しいチャネルにすべてのチャネル資金を割り当てる新しい fundmaxオプションを追加し、openchannel RPCを更新しました。

  • LDK #2198は、チャネルがダウンしたこと(たとえば、リモートピアが利用できないなどで)を 知らせるゴシップメッセージを送信するまでの時間を増やしました。 これまでは、LDKは約1分後にチャネルがダウンしたことを知らせていました。 他のLNノードはより長い時間を待ち、LNゴシッププロトコルの更新の提案では、 タイムスタンプフィールドをUnixエポックタイムではなくブロック高に置き換えることを提案しており、 ゴシップメッセージをブロック毎に1回(平均して10分毎)しか更新できないようにしています。 PRでは、更新の送信を遅らせることにはトレードオフがあると指摘していますが、 チャネルの無効化メッセージをブロードキャストする前に約10分待つようにLDKを更新しています。

  • Bitcoin Inquisition #23は、エフェメラル・アンカーに対するサポートの一部を追加しました。 これには、エフェメラル・アンカーがトランザクション・ピニング攻撃を防止するために依存する v3トランザクションリレーのサポートは含まれていません。