今週のニュースレターでは、古いLN実装に影響する脆弱性の責任ある開示の発表と、 提案中のCovenant opcodeのマッシュアップ提案を掲載しています。 また、Bitcoin Stack Exchangeから厳選された質問とその回答や、 新しいソフトウェアリリースとリリース候補の発表、 人気のあるBitcoinインフラストラクチャソフトウェアの注目すべき変更など 恒例のセクションも含まれています。

ニュース

  • 偽のファンディングに関連する過去のLN脆弱性の公開: Matt Morehouseは、 彼が過去に責任ある開示を行った脆弱性の概要を Lighting-Devメーリングリストに投稿しました。この脆弱性については、 人気のあるすべてのLN実装の最新バージョンで対処されています。 この脆弱性を理解するため、ボブがLNノードを実行していると想像してください。 ボブはマロリーのノードから新しいチャネルを開く要求を受け取り、 マロリーが資金を提供するトランザクションをブロードキャストする段階までチャネルの開設プロセスを進めます。 後でそのチャネルを使用するために、ボブはそのチャネルに関連する状態を保存し、 トランザクションが十分に承認されるまで新しいブロックをスキャンし始める必要があります。 マロリーがトランザクションをブロードキャストしない場合、ボブのストレージとスキャンのリソースは無駄になります。 マロリーがこのプロセスを何千回または何百万回も繰り返すと、 ボブのLNノードは他のこと(資金の損失を防ぐために必要な時間的制約のある処理の実行を含む)が実行できなくなるほど、 ボブのリソースを浪費する可能性があります。

    Morehouseが自身のノードに対してテストをしたところ、 Core Lightning、Eclair、LDKおよびLNDで重大な問題を引き起こすことができました。 そのうち2つのケースでは、(私たちの意見では)多くのノード間で資金の損失につながる可能性があると思われるものでした。 Morehouseの完全な説明は、 問題が解決されたPRへのリンク(ニュースレター #237#240で取り上げたPRを含む)と 脆弱性に対処したLNリリースのリストを示しています:

    • Core Lightning 23.02
    • Eclair 0.9.0
    • LDK 0.0.114
    • LND 0.16.0

    メーリングリストとIRCでフォローアップの議論が行われました。

  • TXHASHCSFSを使用したCovenantのマッシュアップ: Brandon Blackは、 OP_CHECKTEMPLATEVERIFY (CTV)と SIGHASH_ANYPREVOUT (APO)の個々の提案に対して、 大幅なオンチェーンコストの追加なしに、そのほとんどの機能を提供する OP_TXHASHニュースレター #185参照)と OP_CHECKSIGFROMSTACKを組み合わせたバージョンの提案を Bitcoin-Devメーリングリストに投稿しました。 この提案は独立していますが、この提案を作成した動機の一部は、 「CTVとAPOの個別および組み合わせについて私たちの考えを明確にし、 将来的にビットコインの驚くべき使用法を可能にする方向での合意に向けて進む可能性がある」ことでした。

    この提案は、メーリングリスト上でいくつかの議論を受け、 Delving Bitcoinのフォーラムに追加の修正が投稿され、議論されました。

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

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

リリースとリリース候補

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

  • Core Lightning 23.08は、この人気のLNノード実装の最新のメジャーリリースです。 新機能には、ノードを再起動することなくいくつかのノードの設定を変更できるようにする機能や、 Codex32フォーマットのシードバックアップとリストアのサポート、 支払いの経路探索を改善する新しい実験的なプラグイン、スプライシングの実験的なサポート、 ローカルで生成されたインボイスへの支払いを可能にする機能、その他多くの新機能やバグ修正が含まれています。

  • LND v0.17.0-beta.rc1は、この人気のLNノード実装の次期メジャーバージョンのリリース候補です。 このリリースで予定されている主な実験的な新機能は、テストの恩恵を受ける可能性が高そうな、 注目すべき変更 のセクションで説明されている「Simple taproot channel」のサポートです。

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

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

  • Bitcoin Core #27460は、新しいimportmempoolRPCを追加しました。 このRPCは、mempool.datファイルをロードし、ロードされたトランザクションをmempoolに追加しようとします。

  • LDK #2248は、LDKの下流プロジェクトがゴシップメッセージで参照されるUTXOを追跡するために使用できる組み込みシステムを提供します。 ゴシップを処理するLNノードは、UTXOに関連付けられた鍵で署名されたメッセージのみを受け入れる必要があります。 そうしないと、スパムメッセージの処理やリレーを強制されたり、 存在しないチャネルを介して支払いを転送しようとする(これは常に失敗します)可能性があります。 新しい組み込みのUtxoSourceは、ローカルのBitcoin Coreに接続されたLNノードに対して機能します。

  • LDK #2337は、ユーザーのウォレットから独立して実行され、 ユーザーのノードから暗号化されたLNのペナルティトランザクションを受け取ることができる ウォッチタワーを構築するのにLDKを使用するのをより簡単にします。 ウォッチタワーは、新しいブロックの各トランザクションから情報を抽出し、 その情報を使って以前受け取った暗号化データの復号を試みることができます。 復号に成功すると、ウォッチタワーは復号されたペナルティトランザクションをブロードキャストすることができます。 これにより、ユーザーが利用できないときに相手側が失効したチャネル状態を公開することからユーザーを保護することができます。

  • LDK #2411#2412は、 ブラインドペイメントのための支払いパスを構築するAPIを追加しました。 このPRは、(ブラインドパスを使用する)Onionメッセージ用のLKDのコードと、 ブラインドパス自体を分離するのに役立ちます。後続の#2413では、 ルートブラインディングのサポートが実際に追加されます。

  • LDK #2507では、不必要なチャネルの強制閉鎖につながる別の実装における長年の問題に対する回避策が追加されました。

  • LDK #2478では、現在既に決済されている転送されたHTLC関する情報、 どのチャネルから来たか、HTLCの金額、およびそのHTLCから徴収した手数料の金額を提供するイベントを追加しています。

  • LND #7904は、「Simple taproot channel」の実験的サポートを追加しました。 これは、LNのファンディングトランザクションおよびコミットメントトランザクションで、両参加者が協力している場合にMuSig2 スクリプトレスマルチシグのサポートが可能なP2TRアウトプットを使用できるようにします。 これにより、チャネルが協調的に閉じられる際のトランザクションweightスペースが削減され、プライバシーも向上します。 LNDは引き続きHTLCのみを使用し、Taprootチャネルで開始された支払いを、 Taprootチャネルをサポートしない他のLNノードを介して転送し続けることができます。

    このPRをには、以下のPRからステージングブランチにマージされた134のコミットが含まれています: #7332#7333#7331#7340#7344#7345#7346#7347#7472