今週のニュースレターでは、Bitcoin Scriptを新しいopcodeで拡張または置換する提案と、 RBFポリシーの改善に関する最近の議論のまとめ、 OP_CHECKTEMPLATEVERIFY opcodeの継続的な作業のリンクを掲載しています。 また、人気のあるBitcoinインフラストラクチャプロジェクトの注目すべき変更について解説する恒例のセクションも含まれています。

ニュース

  • Bitcoin Scriptの拡張と代替 複数の開発者がBitcoin-Devメーリングリストで、 ビットコインを受けとった人が後でそれらのビットコインの使用を承認したことを証明する方法を指定するために使用する BitcoinのScriptとTapscript言語を改善するためのアイディアについて議論しました。

    • ループ (たたみ込み): 開発者のZmnSCPxjは、 Bitcoin Scriptでループのような動作を可能にする方法としてOP_FOLDの提案について説明しました。 彼は、Bitcoin ScriptとTapscriptが現在使用可能なCPUおよびメモリよりも多くのリソースを使用しないことを保証する ループに課す一連の制約について説明しました。 また、Script内に繰り返しコードを含める必要がなくなるため帯域幅を削減できます。

    • Chia Lispの使用: Anthony Townsは、 アルトコインChia用に設計されたLispの方言であるChia Lispのバリエーションを Bitcoinに追加することについて投稿しました。 これは従来のBitcoin ScriptやTapscriptとは全く異なる代替手段で、 以前提案されたSimplicity言語と同じように新たなメリットを提供します。 Townsは、代替案の「Binary Tree Coded Script」または「btc-script」は、 Simplicityよりも理解しやすく、使いやすいとしていますが、 おそらく正式に検証するのは難しいでしょう。

  • RBFポリシーの改善に向けたアイディア: Gloria Zhaoは、 最近ロンドンで開催されたCoreDev.Techミーティングで行われた Replace-by-Fee (RBF)ポリシーに関する議論の要約と、それに関連するいくつかの最新情報を投稿しました。 彼女によると、議論された主なコンセプトは、特定の時間内に中継される関連トランザクションの数を制限するなどして、 トランザクションとその置換トランザクションを中継するために使用されるリソースの最大量を制限することであったようです。

    Zhaoはまた、トランザクションを使用する子孫の制限を提案できるようにすることを検討した要点に関する 別の議論もまとめています。例えば、 トランザクションとその子孫が消費可能なmempoolのスペースの最大値を デフォルトの100,000 vbyteではなく1,000 vbyteにすることを提案できます。 そうすれば、最悪の場合Pinning攻撃を受けても、 正直なユーザーがそれに対処するためのコストを低く抑えることができます。

    さらにZhaoは、現在のmempoolが与えられた場合の トランザクションのマイナーへの価値を計算するアルゴリズムについてのフィードバックを求めています。 こにより置換トランザクションを受け入れるかどうかについて、ノードソフトウェアでより柔軟な意思決定ができるかもしれません。

  • CTVの議論の続き: ニュースレター #183で言及したように、 提案中のOP_CHECKTEMPLATEVERIFY (CTV) opcodeを議論するミーティングは継続中で、 Jeremy Rubinによって要約されています: 12345。 さらに先週は、James O’BeirneがCTVベースのVaultのコードと設計ドキュメントを投稿しました

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

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

  • Bitcoin Core #24198は、listsinceblockおよびlisttransactionsgettransaction RPCを拡張し、 BIP141で定義された各トランザクションのWitness Transaction Identifierを含む新しいwtxidフィールドを追加しました。

  • Bitcoin Core #24043は、旧ScriptのOP_CHECKMULTISIGopcodeおよびOP_CHECKMULTISIGVERIFYopcodeに代わって、 TapscriptのOP_CHECKSIGADDopcodeで動作する支払い承認ポリシーを作成するための 新しいmulti_a descriptorおよびsortedmulti_a descriptorを追加しました。 Tapscriptのこの機能についての詳細はニュースレター #46をご覧ください。

  • Bitcoin Core #24304は、Bitcoin Coreのデータディレクトリと、 検証してデータディレクトリに追加することが可能なブロックを渡すことができる新しい試験用のbitcoin-chainstate実行可能ファイルを追加しました。 これは直接的に役立つとは期待されていませんが、 他のプロジェクトがBitcoin Coreが使用するコードと全く同じコードを使ってブロックやトランザクションを検証するために使用できるライブラリを生成するために libbitcoinkernelプロジェクトが活用するツールを作成できます。

  • C-Lightning #5068は、C-Lightningが1日にノードあたり中継するBOLT7node_announcementメッセージの最少数を1から2に増やしました。 これは、ノードがIPアドレスを変更したり、メンテナンスのために一時的にオフラインになることに関連するいくつかの問題を軽減するでしょう。

  • BIPs #1269は、BIP68のコンセンサスで適用されるnSequenceの値が必要な場合のプライバシーを改善するために、 コントラクトプロトコルで必要がない場合でも、 TaprootトランザクションがnSequenceの値をセットするという推奨事項をBIP326に割り当てました。 BIP326では、nSequenceを使用することで、現在トランザクションのlocktimeフィールドを通じて有効になっている アンチ・フィー・スナイピング保護に代わる方法を提供できることについても説明しています。 メーリングリストでの提案の概要についてはニュースレター #153を参照ください。