/ home / newsletters /
Bitcoin Optech Newsletter #266
今週のニュースレターでは、古い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でフォローアップの議論が行われました。
-
●
TXHASH
とCSFS
を使用した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達が疑問に対して答えを探しに(もしくは他のユーザーの質問に答える時間がある場合に)アクセスする、 数少ない情報ソースです。この月刊セクションでは、前回アップデート以降にされた、最も票を集めた質問・回答を紹介しています。
-
● P2WPKHからP2TRに切り替える経済的なインセンティブはありますか? Murchは、P2WPKHおよびP2TRのアウトプットタイプのトランザクションインプットとアウトプットのweightを比較しながら、 一般的なウォレットの使用パターンを説明しています。彼は次のように締めくくっています: 「全体として、P2WPKHの代わりにP2TRを使用すると、トランザクションの手数料が最大15.4%節約されます。 受け取る支払いよりも少額の支払いがはるかに多い場合は、P2WPKHを利用することで最大1.5%節約できる可能性があります。」
-
● BIP324の暗号化されたパケット構造とは何ですか? Pieter Wuilleは、BIP324で提案されている バージョン2 P2Pトランスポートのネットワークパケット構造の概要を説明しています。 この提案の進捗状況はBitcoin Core #27634で追跡されています。
-
● コンパクトブロックフィルターの偽陽性率はどれくらいですか? Murchは、BIP158のブロックフィルターのパラメーター選択に関するセクションから、 コンパクトブロックフィルターの偽陽性率は1/784931であると回答しています。 これは、約1000個のアウトプットスクリプトを監視するウォレットにとっては、8週間に1ブロックに相当すると指摘しています。
-
● MATT提案にはどのようなopcodeが含まれていますか? Salvatoshiは、現在提案されているopcode OP_CHECKTEMPLATEVERIFY、 OP_CHECKCONTRACTVERIFYおよびOP_CATを含む、彼のMerkleize All The Things (MATT)提案( ニュースレター#226、#249および#254参照)を説明しています。
-
● Bitcoinの最後のブロックは明確に定義されていますか? RedGrittyBrickとPieter Wuilleは、ブロックの高さに制限はないが、 現在のコンセンサスルールでは、Bitcoinの符号なし32 bitのタイムスタンプの制限(2106年)を超える新しいブロックは 許可されないと指摘しています。トランザクションのnLockTimeの値にも同じタイムスタンプの制限があります。
-
● なぜマイナーはコインベーストランザクションのlocktimeを設定するのですか? Bordalixは、長い間公開されていたこの質問に、 マイナーは何かを通信するためにコインベーストランザクションのlocktimeフィールドを使用しているようだと回答しています。 マイニングプールの運営者は、「再接続を高速化するためにこの4 byteをStratumのセッションデータを保持するために再利用している」 と説明し、そのスキームについて詳しく説明しています。
-
● Bitcoin CoreがSchnorr署名を実行する際に補助ランダム性を使用しないのはなぜですか? Matthew Leonは、BIP340でサイドチャネル攻撃から保護するために Schnorr署名のナンスを生成する際に 補助的なランダム性を使用することを推奨しているにもかかわらず、Bitcoin Coreが実装で補助ランダム性を提供しない理由を尋ねています。 Andrew Chowは、現在の実装はまだ安全であり、この推奨事項に対処するためのPRは作られていないと回答しています。
リリースとリリース候補
人気のBitcoinインフラストラクチャプロジェクトの新しいリリースとリリース候補。 新しいリリースにアップグレードしたり、リリース候補のテストを支援することを検討してください。
-
● Core Lightning 23.08は、この人気のLNノード実装の最新のメジャーリリースです。 新機能には、ノードを再起動することなくいくつかのノードの設定を変更できるようにする機能や、 Codex32フォーマットのシードバックアップとリストアのサポート、 支払いの経路探索を改善する新しい実験的なプラグイン、スプライシングの実験的なサポート、 ローカルで生成されたインボイスへの支払いを可能にする機能、その他多くの新機能やバグ修正が含まれています。
-
● LND v0.17.0-beta.rc1は、この人気のLNノード実装の次期メジャーバージョンのリリース候補です。 このリリースで予定されている主な実験的な新機能は、テストの恩恵を受ける可能性が高そうな、 注目すべき変更 のセクションで説明されている「Simple taproot channel」のサポートです。
注目すべきコードとドキュメントの変更
今週のBitcoin Core、Core Lightning、Eclair、LDK、 LND、libsecp256k1、Hardware Wallet Interface (HWI)、Rust Bitcoin、BTCPay Server、BDK、Bitcoin Improvement Proposals(BIP)、Lightning BOLTsおよび Bitcoin Inquisitionの注目すべき変更点。
-
● Bitcoin Core #27460は、新しい
importmempool
RPCを追加しました。 この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。