今週のニュースレターでは、コンセンサスクリーンアップソフトフォークの新たな推進に関する議論と、 週末までに新たなBIPエディターを選出する計画の発表を掲載しています。 また、新しいリリースの発表や人気のあるBitcoinインフラストラクチャソフトウェアの変更など 恒例のセクションも含まれています。

ニュース

  • コンセンサス・クリーンアップの再検討: Antoine Poinsotは、 2019年に提案されたMatt Coralloのコンセンサスクリーンアップニュースレター #36参照)の再検討についてDelving Bitcoinに投稿しました。 彼は、この提案が修正するいくつかの問題の最悪のケースを定量化しようと試みています。 その中には、最新のラップトップで検証するのに3分以上、 Raspberry Pi 4で検証するのに90分以上かかるブロックを作成することや、 マイナーが報酬を盗み、約1ヶ月の準備でタイムワープ攻撃を使ってLNを危険にさらすこと、 軽量クライアントを騙して偽のトランザクションを受け入れさせること(CVE-2017-12842)、 フルノードを混乱させて有効なブロックを拒否させること(ニュースレター #37参照)が含まれます。

    Coralloの元のコンセンサスクリーンアップでの上記の懸念に加えて、 Poinsotは、ブロック1,983,702でフルノードに影響を及ぼし始める(そして既にtestnetのノードには影響を与えている) 重複トランザクションの残りの問題に対処することを提案しています。

    上記の問題にはすべて、ソフトフォークで展開できる技術的に簡単な解決策があります。 以前提案された低速検証ブロックの解決策は、 理論上、事前署名済みのトランザクションで使用されているスクリプトが無効となり、 没収回避の開発ポリシーに違反する可能性があることから、 若干物議を醸しました(ニュースレター #37参照)。 最初のコンセンサスクリーンアップの提案以前のBitcoinが存在した10年間でも、 それ以降の5年間でも、このようなスクリプトが実際に使用されたということは聞いたことがありませんが、 一部の種類では、事前署名されたトランザクションがブロードキャストされるまで検出することは不可能でしょう。

    この懸念に対処するため、Poinsotは、 更新されたコンセンサスルールを特定のブロック高以降に作成されたトランザクションアウトプットにのみ適用することを提案しました。 その高さよりも前に作成されたアウトプットは、旧ルールでも使用可能です。

  • 新しいBIPエディターの選択: Mark “Murch” Erhardtは、 新しいBIPエディターの追加に関するスレッドを継続し、 「金曜日の終わり(4月5日)までに、このスレッドで候補者の賛否を表明し、いずれかの候補者が幅広い支持を得た場合、 その候補者は次の月曜日(4月8日)に新しいエディターとしてリポジトリに追加される」ことを提案しました。

    この記事の執筆時点でも議論は続いており、来週のニュースレターで結果を報告できるよう最善を尽くします。

リリースとリリース候補

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

  • Bitcoin Core 26.1は、ネットワークの主要なフルノード実装のメンテナンスリリースです。 リリースノートにいくつかのバグ修正が記載されています。

  • Bitcoin Core 27.0rc1は、ネットワークの主要なフルノード実装の次期メジャーバージョンのリリース候補です。 推奨されるテストトピックの簡単な概要があります。

  • HWI 3.0.0-rc1は、複数の異なるハードウェア署名デバイスに共通のインタフェースを提供する、 このパッケージの次期バージョンのリリース候補です。

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

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

注:以下に掲載するBitcoin Coreへのコミットは、master開発ブランチに適用されるため、 これらの変更は次期バージョンの27のリリースから約6ヶ月後までリリースされないでしょう。

  • Bitcoin Core #27307は、Bitcoin Coreの組み込みウォレットに属するトランザクションと競合する mempool内のトランザクションのtxidを追跡するようにします。これには、 ウォレットのトランザクションの祖先と競合するmempool内のトランザクションが含まれます。 競合するトランザクションが承認されると、ウォレットのトランザクションをブロックチェーンに含めることはできないため、 競合について知ることはとても役に立ちます。ウォレットトランザクションについてgettransactionを呼び出すと、 競合するmempoolのトランザクションが新しいmempoolconflictsフィールドに表示されるようになります。 mempoolで競合するトランザクションへのインプットは、手動でそのトランザクションを放棄することなく再使用でき、 ウォレットの残高にカウントされます。

  • Bitcoin Core #29242は、2つのFeerate Diagramsを比較し、 最大2つのトランザクションでクラスターを置換した場合のインセンティブ互換性を評価するユーティリティ関数を導入しました。 これらの関数は、TRUC(Topologically Restricted Until Confirmation)トランザクション (別名v3トランザクション)を含む、 2つまでのサイズのクラスターによるパッケージRBFの基礎となります。

  • Core Lightning #7094は、Core Lightningの新しい非推奨システム( ニュースレター #288参照)を使用して以前非推奨となった複数の機能を削除します。

  • BDK #1351は、BDKがgap制限の動作を制御するstop_gapパラメーターを解釈する方法に いくつかの変更を加えています。特に1つの変更は、他のウォレットの動作と一致させようとするもので、 stop_gap制限を10に設定すると、 一致するトランザクションが見つからないまま10個の連続したアドレスが生成されるまで、 BDKがトランザクションをスキャンするための新しいアドレスをし続けます。