本周的新闻部分宣布了一本专论可证明的密码学的手册的问世。此外是我们的常规栏目:软件的新版本和候选版本的发行,以及热门的比特币基础设施软件的显著变更描述。

新闻

  • 可证明的密码学手册:Jonas Nick 在 Delving Bitcoin 论坛中公开了他为一场为期四天的活动而撰写的手册,旨在 “教导开发者们可证明的密码学的基础知识,……,包含了密码学的定义、命题、证据和练习。”该手册的PDF版本已经公开,且有免费许可的源代码

发行和候选发行

热门的比特币基础设施项目的新版本和候选版本。请考虑升级到新版本,或帮助测试候选版本。

  • Bitcoin Core 29.1 是这个主流全节点实现的一个维护版本的候选发行。

  • Eclair v0.13.0 是这个闪电节点实现的发行版。该发行版 “包含了大量的重构(refactoring)、taproot 通道的一个初步实现,……,基于近期的规范更新优化了通道拼接,以及对 BOLT12 的更好支持。”Taproot 通道和通道拼接特性的完整详述尚未完成,所以普通用户不应该使用。发行公告也警告:“这是最后一个依然支持非锚点输出通道的 eclair 版本。如果你有不使用锚点输出的通道,你应该关闭它。”

  • Bitcoin Core 30.0rc1 是这个全验证节点实现软件的下一个主要版本的候选发行。

重大的代码和文档变更

本周出现重大变更的有:Bitcoin Core 30.0rc1Bitcoin CoreCore LightningEclairLDKLNDlibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay ServerBDKBitcoin Improvement Proposals (BIPs)Lightning BOLTsLightning BLIPsBitcoin InquisitionBINANAs

  • Bitcoin Core #30469m_total_prevout_spent_amountm_total_new_outputs_ex_coinbase_amountm_total_coinbase_amount 的值从 CAmount 类型(64 位)变为 arith_uint256 类型(256 位),以防止在默认的 signet 上已经观察到的数值溢出故障。新版本的 coinstats 索引会存储在 /indexes/coinstatsindex/,而一个升级后的节点将需要从头同步来重建这个索引。旧版本保留,用于降级保护,但可能会在未来的更新中移除。

  • Eclair #3163 添加了一个测试向量,以保证一个收款方的公钥可以从带有高 S 签名的 BOLT11 发票中复原(原本已允许从低 S 签名中复原)。这跟 libsecp256k1 的动作和 BOLTs #1284 提议保持一致。

  • Eclair #2308 加入了新的 use-past-relay-data 选项(默认为假),当该选项设为真时,使用一个基于过往支付尝试的概率方法来提升选路效果。这取代了以往假设通道余额均匀分布的方法。

  • Eclair #3021 允许一条双向注资通道的非发起方 RBF 注资交易(相同的效果在通道拼接交易中已经实现)。不过,流动性广告的购买交易将是例外。该特性已在 BOLTs #1236 中提出。

  • Eclair #3142forceclose API 端点加入了新的 maxClosingFeerateSatByte 参数,它将为不紧急的强制关闭交易覆盖全局的费率配置,转变为按通道配置。全局设定 max-closing-feerateEclair #3097 中引入。

  • LDK #4053 通过将两个锚点输出替代为一个共享的 Pay-to-Anchor (P2A) 输出、引入了承诺交易零费率的通道(P2A 输出的数值上限为 240 聪)。此外,它将承诺交易零费率通道中的 HTLC 交易的签名切换为 SIGHASH_SINGLE|ANYONECANPAY 模式,并将 HTLC 交易的版本号改为版本 3

  • LDK #3886 使用两个 funding_locked_txid TLV 字段(节点最后发送和收到的东西)延申了用于通道拼接channel_reestablish,从而对等节点可以在重新连接后重新协调激活的注资交易。此外,它还通过重新发送 commitment_signed (早于 tx_signatures)、处理隐式的 splice_locked、接受 next_funding 并按需重新请求宣告消息签名,将重新连接的流程平滑化了。