今週のニュースレターでは、フルノード間でブロックテンプレートを共有するためのBIPドラフトと、 スクリプト評価の信頼する委任を可能にするライブラリ(Bitcoinのネイティブスクリプト言語ではできない機能を含む)の発表を 掲載しています。また、サービスとクライアントソフトウェアの最近のアップデートや、 新しいリリースとリリース候補の発表、人気のあるBitcoinインフラストラクチャソフトウェアの注目すべき更新など、 恒例のセクションも含まれています。

ニュース

  • ブロックテンプレート共有のためのBIPドラフト: Anthony Townsは、 ノードが次のブロックでマイニングしようとしているトランザクションをピアに伝える方法( ニュースレター #366参照)についてのBIPの ドラフトをBitcoin-Devメーリングリストに投稿しました。 これにより、ノードが自身のmempoolおよびマイニングポリシーで受け入れるトランザクションを、 通常であればピアが自身のポリシーにより拒否する可能性のある場合でも共有できます。 これによりピアは、これらのトランザクションがマイニングされた場合に備えてトランザクションをキャッシュすることができます( これにより、コンパクトブロックリレーの効率が向上します)。 ノードのブロックテンプレートに含まれるトランザクションは通常、 そのノードが認識している未承認トランザクションの中で最も収益性が高いため、 これまでポリシー上の理由でこれらのトランザクションを拒否していたピアも、 これらのトランザクションを改めて検討する価値があると判断する可能性があります。

    BIPのドラフトで規定されているプロトコルはシンプルです。ピアとの接続の開始直後に、 ノードはブロックテンプレートを送信する意思があることを示す、 sendtemplateメッセージを送信します。その後、ピアは、 gettemplateメッセージでテンプレートを要求できます。その要求への応答として、 ノードはBIP152のコンパクトブロックメッセージと同じ形式の短いトランザクション識別子のリストを含む templateメッセージで応答します。ピアは、(BIP152と同様に) sendtransactionsメッセージにその短い識別子を含めることで、必要なトランザクションを要求できます。 BIPドラフトでは、テンプレートのサイズは、現在の最大ブロックウェイト制限の2倍よりわずかに大きいサイズまで許容されています。

    テンプレートの共有に関するDelving Bitcoinのスレッドでは、 今週、提案の帯域幅効率を向上させる方法について追加の議論が行われました。 議論されたアイディアには、前回のテンプレートとの差分のみを送信する案(推定90%の帯域幅の節約)、 (より大きなテンプレートを効率的に共有可能な)minisketchで有効になる セット調整プロトコルを使用する案、 コンパクトブロックフィルターと同様にテンプレートに ゴロム・ライス符号を使用する案(推定25%の効率化)などがありました。

  • スクリプト評価を信頼する委任: Josh Domanは、自身が作成したライブラリについてDelving Bitcoinに投稿しました。 このライブラリはTEETrusted Execution Environment)を使用し、 支払いを含むトランザクションがスクリプトを満たす場合にのみ、 Taprootのkeypath支払いに署名をします。 このスクリプトには、現在Bitcoinでアクティブでないopcodeや、完全に異なる形式のスクリプト( Simplicitybllなど)を含めることができます。

    このアプローチでは、スクリプトに資金を送信する側がTEEを信頼する必要があります。 つまり、将来署名のために利用可能であること、そして制約スクリプトを満たす支払いにのみ署名することを信頼する必要があります。 しかし、これにより実際の金銭的価値を持ちながら、Bitcoinの新機能提案を実験することが可能になります。 TEEが利用可能であり続けることへの信頼を減らすため、バックアップの支払いパスを含めることができます。 たとえば、参加者がTEEに資金を預託してから1年後に一方的に資金を使用できるようにするタイムロックパスなどです。

    このライブラリは、AWS(Amazon Web Services)のNitroエンクレーブの使用を想定して設計されています。

サービスとクライアントソフトウェアの変更

この毎月の特集では、Bitcoinのウォレットやサービスの興味深いアップデートを取り上げています。

  • ZEUS v0.11.3リリース: v0.11.3リリースには、ピア管理の改善、BOLT12および サブマリンスワップ機能が含まれています。

  • RustのUtreexoリソース: Abdelhamid Bakhtaは、インタラクティブな教材WASMバインディングを含む、Utreexo用のRustベースのリソースを投稿しました

  • Peer-observerツールと行動の呼びかけ: 0xB10Cは、自身のpeer-observerプロジェクトの動機、 アーキテクチャ、コード、サポートライブラリ、調査結果について投稿しました。 彼は、「Bitcoinネットワークの監視という共通の関心を持つ、緩やかで分散化されたグループ。 アイディア、議論、データ、ツール、洞察などを共有できる共同体」の構築を目指しています。

  • Bitcoin Core Kernelベースノードの発表: Bitcoin Core KernelライブラリをBitcoinノードの基盤として使用するデモとして、 Bitcoin backboneが発表されました

  • SimplicityHLリリース: SimplicityHLは、Rustライクなプログラミング言語で、 Liquidで最近有効化された低レベル言語Simplicityにコンパイルされます。 詳細については、関連するDelvingのスレッドをご覧ください。

  • BTCPay Server用のLSPプラグイン: LSPプラグインは、インバウンドチャネル用の仕様である BLIP51のクライアント側の機能をBTCPay Serverに実装します。

  • Protoマイニングハードウェアおよびソフトウェアの発表: Protoは、これまでのコミュニティからのフィードバックに基づいて構築された、 新しいBitcoinマイニングハードウェアとオープンソースのマイニングソフトウェアを発表しました

  • CSFSを使用したオラクル解決のデモ: Abdelhamid Bakhtaは、CSFS、nostr、 MutinyNetを使用してイベントの結果のアテステーションに署名するオラクルのデモを投稿しました

  • RelaiがTaprootをサポート: RelaiがTaprootアドレスへの送信をサポートしました。

リリースとリリース候補

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

  • LND v0.19.3-betaは、この人気のLNノード実装のメンテナンスバージョンのリリースで、 「重要なバグ修正」が含まれています。最も注目すべきは、 「オプションの移行で[…] ノードのディスクおよびメモリ要件が大幅に削減される」ことです。

  • Bitcoin Core 29.1rc1は、主要なフルノードソフトウェアのメンテナンスバージョンのリリース候補です。

  • Core Lightning v25.09rc2は、この人気のLNノード実装の新しいメジャーバージョンのリリース候補です。

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

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

  • Bitcoin Core #32896では、createrawtransactioncreatepsbtsendsendallwalletcreatefundedpsbtの各RPCにversionパラメーターを追加することで、 未承認のTRUC(Topologically Restricted Until Confirmation)トランザクションの作成と使用をサポートします。 ウォレットは、ウェイト制限、兄弟の競合、未承認TRUCトランザクションと非TRUCトランザクション間の非互換性に関する TRUCトランザクションの制限を適用します。

  • Bitcoin Core #33106では、デフォルトのblockmintxfeeが1 sat/kvB(最小値)に引き下げられ、 デフォルトのminrelaytxfeeincrementalrelayfeeが100 sat/kvB(0.1 sat/vB)に引き下げられました。 これらの値は設定が可能ですが、minrelaytxfeeincrementalrelayfeeの値は合わせるように調整することをお勧めします。 その他の最低手数料率は変更ありませんが、ウォレットのデフォルトの最低手数料率は将来のバージョンで引き下げられる予定です。 この変更の理由は、1 sat/vB未満のトランザクションをマイニングするブロック数と、 これらのトランザクションをマイニングするプール数の増加から、Bitcoinの為替レートの上昇まで多岐にわたります。

  • Core Lightning #8467は、xpayニュースレター #330参照)を拡張し、 (satoshi@bitcoin.comのような)BIP353 HRN(Human Readable Names)への支払いをサポートし、 BOLT12オファーへの直接支払いも可能にすることで、 fetchinvoiceコマンドを最初に実行する必要がなくりました。内部的には、 xpayCore Lightning #8362で導入されたcln-bip353プラグインの fetchbip353 RPCコマンドを使って支払い指示を取得します。

  • Core Lightning #8354は、MPPで送信された 特定の支払いのパーツのステータスに関するpay_part_startおよびpay_part_endイベント通知の発行を始めます。 pay_part_end通知は、支払いの所要時間と、支払いが成功したか失敗したかを示します。 支払いが失敗した場合はエラーメッセージが表示され、エラーOnionが破損していない場合は、 エラーの原因や失敗コードなどの追加情報が提供されます。

  • Eclair #3103は、Simple Taproot Channelのサポートを導入し、 MuSig2スクリプトレスマルチシグを活用することで、 トランザクションのウェイト消費を15%削減し、トランザクションのプライバシーを向上させます。 ファンディングトランザクションと、協調クローズは、他のP2TRトランザクションと区別が付きません。 このPRはまた、Simple Taproot Channelにおけるデュアルファンディングスプライシングのサポートも含まれており、 スプライシングトランザクション中に新しいTaproot形式への チャネルコミットメントのアップグレードを可能にします。

  • Eclair #3134は、HTLCエンドースメントのピアレピュテーション( ニュースレター #363参照)のスコアリング時に、 スタックしたHTLCのペナルティウェイト乗数を CLTV expiry deltaに置き換え、 スタックしたHTLCが流動性を拘束する期間をより適切に反映します。 最大CLTV expiry deltaを持つスタックしたHTLCへの過大なペナルティを軽減するため、 このPRはレピュテーションの減衰パラメーター(half-life)を15日から30日に、 スタック支払いのしきい値(max-relay-duration)を12秒から5分に調整します。

  • LDK #3897は、バックアップ取得中に失われたチャネル状態を検出することで、 ピアストレージの実装を拡張します。これは、ピアのコピーをデシリアライズし、 ローカルの状態と比較することで行われます。

もっと知りたいですか?

このニュースレターで言及されたトピックについてもっと議論したい方は、 16:30 UTCに Riverside.fmで毎週配信されているBitcoin Optech Recapにご参加ください。 この議論は録画もされ、ポッドキャストページからご覧いただけます。