本周周报总结了关于流动性广告骚扰(griefing)问题的讨论,并包括了我们的常规栏目,描述服务和客户端软件的变化,总结了 Bitcoin Stack Exchange 的热门问题和答案、新的软件版本和候选版本公告以及检视流行的比特币基础架构软件的最新变化。

新闻

  • 讨论对流动性广告的骚扰问题: Bastien Teinturier 在 Lightning-Dev 邮件列表中发布了关于由流动性广告双向注资通道上的时间锁带来的潜在问题。 之前在 #279 回顾中也提到过这个问题。例如,Alice 在广告中表示,只要支付一定的费用,她愿意向某通道投入 10,000 sats 的资金,为期 28 天。28 天的时间限制防止 Alice 在收到付款后直接关闭通道,将资金用于其他用途。

    继续上面的例子,Bob 打开通道,额外注入 100,000,000 sats(1 BTC)的资金。然后,他将几乎全部的资金都通过这个通道发送出去。现在,Alice 在通道中的余额不是她赚取手续费的那 10,000 sats 了——而是这个数额的近 10,000 倍。如果 Bob 是恶意的,他不会允许这些资金再次流动,直到 Alice 承诺的 28 天时间锁定到期。

    由 Teinturier 提出并由他和其他人讨论过的一种缓解方法是,只对流动性贡献(例如,只对 Alice 的 10,000 sats)实施时间锁定。这虽然可以解决问题,但会带来复杂性并降低效率。Teinturier 提出的一个替代方案是干脆放弃时间锁(或将其作为可选项),让流动性购买者承担提供者可能在收到流动性费用后不久就关闭通道的风险。如果通过流动性广告开通的通道通常能带来可观的转发费收入,那么提供者就会有保持通道畅通的动力。

服务和客户端软件的改变

在这个月度栏目中,我们将列举比特币钱包和服务的有趣升级

  • 使用 Stratum v2 的矿池启动: DEMAND 是在 Stratum v2 参考实现基础上建立的矿池,最初允许单人挖矿,未来计划建立矿池挖矿。

  • 比特币网络模拟工具 warnet 发布: warnet 软件可指定节点拓扑结构,在网络中运行脚本化场景,并监控和分析由此产生的行为。

  • Bitcoin Core 的 Payjoin 客户端发布: payjoin-cli 是一个 rust 项目,它为 Bitcoin Core 添加了在命令行中进行 payjoin 发送和接收的功能。

  • 向社区征集区块到达时间戳:比特币区块到达时间数据集” 资源库的一位贡献者呼吁节点操作员提交他们的区块到达时间戳,以供研究。此外还有一个类似的资源库用于收集旁支区块数据

  • Envoy 1.4 发布: 比特币钱包 Envoy 的 1.4 版本增加了钱币控制钱包标签BIP329 即将推出)等功能。

  • BBQr 编码方案发布:方案可有效地将较大的文件(如 PSBT)编码成动画 QR 系列,用于物理隔离钱包的配置。

  • Zeus v0.8.0 发布: v0.8.0 版包含一个嵌入式 LND 节点、额外的零配置通道的支持和简单 taproot 通道的支持,以及其他改动。

Bitcoin Stack Exchange 的精选问答

Bitcoin Stack Exchange 是 Optech 的贡献者寻找答案的首选之地 —— 也是他们有闲暇时会帮助好奇和困惑的用户的地方。在这个月度栏目中,我们会挑出自上次出刊以来新出现的高票问题和回答。

新版本和候选版本

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

  • LND 0.17.3-beta 是一个包含多个错误修复的版本,也包括降低与 Bitcoin Core 后端一起使用时的内存开销。

重要的代码和文档变更

本周出现重大变更的有:Bitcoin CoreCore LightningEclairLDKLNDlibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay ServerBDKBitcoin Improvement Proposals (BIPs)Lightning BOLTsBitcoin Inquisition

  • LDK #2685 增加了从 Electrum 型服务器获取区块链数据的功能。

  • Libsecp256k1 #1446 删除了项目中的一些 x86_64 汇编代码,转而使用一直用于其他平台的现有 C 语言代码。汇编代码在几年前经过人工优化以提高性能,但与此同时,编译器也得到了改进,现在最新版本的 GCC 和 LLVM (clang) 都能生成性能更高的代码。

  • BTCPay Server #5389 添加了对 BIP129 安全多重签名钱包设置的支持(参见第 136 期周报)。这允许 BTCPay 服务器与多个软件钱包和硬件签名设备进行交互,作为简单协调的多签设置程序的一部分。

  • BTCPay Server #5490 默认开始使用来自 mempool.space 的费用估算,并将来自本地 Bitcoin Core 节点的费用估算作为后备选择。在 PR 上发表评论的开发者指出,他们认为 Bitcoin Core 的手续费估算无法快速响应本地 mempool 的变化。之前关于提高费用估算准确性所面临挑战的相关讨论,请参阅 Bitcoin Core #27995

节日快乐!

这是 Bitcoin Optech 今年的最后一期常规周报。12 月 20 日星期三,我们将发布第六期年度回顾周报。1 月 3 日(星期三)将恢复常规发布。