本周 Newsletter 分享了比特币开发者法律辩护基金的公告,总结了近期关于 OP_CHECKTEMPLATEVERIFY 软分叉提案的讨论。同时包含常规栏目:近期服务和客户端软件的更新描述,以及主流比特币基础设施软件的值得注意变更摘要。

新闻

  • ​​​OP_CHECKTEMPLATEVERIFY 讨论:​​ 本周在 Bitcoin-Dev 邮件列表和 IRC 会议中讨论了为比特币添加 OP_CHECKTEMPLATEVERIFY (CTV) 操作码的软分叉提案。

    • 邮件列表讨论: Peter Todd 提出了对该提案的多个担忧,包括该功能几乎不会让所有比特币用户受益(他认为此前添加功能的软分叉都做到了这点)、可能产生新的拒绝服务攻击向量,以及许多 CTV 的拟议用例定义不明确且(或许)过于复杂而难以实际广泛部署。

      CTV 作者 Jeremy Rubin 引用了更新代码和改进文档,可能解决了有关 DoS 攻击的担忧。他还指出至少有两个钱包(其中一个被广泛使用)计划使用 CTV 提供的至少一项功能。截至本文撰写时,尚不确定 Rubin 的回复是否已实质性地消除了 Peter Todd 的疑虑。

    • IRC 会议:Newsletter #181 所预告,Rubin 还主持了系列会议中的首场 CTV 讨论会议。会议记录和 Rubin 提供的总结已公开。部分参会者明确支持该提案,但另一些参与者表达了技术性质疑,部分质疑点与 Peter Todd 此前的邮件观点相似。下次会议计划更深入地探讨 CTV 的某些应用案例,这可能有助于验证该提案是否确实能为大量比特币用户提供具有吸引力的实用场景。

服务和客户端软件的更改

本栏目每月重点介绍比特币钱包和服务的趣味更新。

  • ​Cash App 添加闪电网络支持:​​ Cash App 新增支持通过闪电网络发送支付。

  • ​LNP Node 开通首个主网通道:​​ 新型闪电网络节点软件 LNP Node 开通了首个闪电网络通道。该软件采用 Rust 语言编写,支持闪电网络及名为”Bifrost”的扩展协议集,旨在为未来闪电网络升级和上层协议提供支持。

  • ​Samourai 支持 Taproot:​​ Samourai v0.99.98 和 Samourai Dojo v1.13.0(通过 bitcoinjs-lib 库)新增支持 P2TR 的 bech32m 地址。

  • ​区块浏览器 Mempool v2.3.0 发布:​​ Mempool v2.3.0mempool.space 网站新增版本与锁定时间数据、十六进制交易广播功能、”花费 Taproot 输出的交易标签”等改进。

值得注意的代码和文档变更

本周 Bitcoin CoreC-LightningEclairLDKLNDlibsecp256k1硬件钱包接口 (HWI)Rust BitcoinBTCPay ServerBDK比特币改进提案 (BIPs)闪电网络规范 (BOLTs)的值得注意变更。

  • Eclair #2063 新增支持 BOLTs #912 中新增的 option_payment_metadata 发票字段(参见 Newsletter #182),允许 Eclair 创建的发票包含加密支付元数据。理解该新字段的支付方将在路由支付时携带其有效载荷,使 Eclair 能够解密数据并利用其重构接收支付所需的全部信息。未来若所有支付方都支持此功能,将可实现无状态发票,使 Eclair 无需在收到支付前在数据库中存储任何关键发票信息,从而消除存储浪费并防范发票创建拒绝服务攻击。

  • LDK #1013 新增支持创建和处理 BOLTs #950 引入的警告消息(参见 Newsletter #182)。

  • LND #6006 移除了当用户仅需签名交易时 LND 必须连接全节点或 Neutrino 轻客户端的限制,使得 LND 的签名功能可在未直连互联网的设备上运行。

  • Rust Bitcoin #590 进行了 API 不兼容变更,简化了将同一 HD 密钥材料同时用于 ECDSA 签名和 schnorr 签名的操作(注:应用应为不同签名算法使用不同 HD 密钥路径,参见 Newsletter #157)。Rust Bitcoin #591 延续了相关改进工作。

  • Rust Bitcoin #669 扩展其 PSBT 代码,新增用于存储部分签名信息的数据类型(指使交易生效所需但自身不足以完成的签名)。此前签名仅以原始字节存储,新数据类型便于对部分签名执行额外操作。拉取请求讨论包含关于签名者是否应在 PSBT 中放置空字节向量(“nulldummy”)的有趣评论