/ home / newsletters /
Bitcoin Optech Newsletter #281
本周周报总结了关于流动性广告骚扰(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 的贡献者寻找答案的首选之地 —— 也是他们有闲暇时会帮助好奇和困惑的用户的地方。在这个月度栏目中,我们会挑出自上次出刊以来新出现的高票问题和回答。
-
● CPFP 费用调整的相关规则有哪些? Pieter Wuille 指出,RBF 费用调整技术有一系列相关的政策规则,而 CPFP 费用调整技术则没有额外的政策规则。
-
● RBF 替换掉的交易总数是如何计算出来的? Murch 和 Pieter Wuille 结合 BIP125 第 5 条规则:“将被替换的原始交易及其将被驱逐出交易池的后代交易总数不得超过 100 个”,举例说明了 RBF 替换。读者可能还会对“添加 BIP-125 第 5 条规则的测试案例与默认交易池 PR 审核俱乐部会议”感兴趣。
-
● 存在哪些类型的 RBF,Bitcoin Core 默认支持并使用哪一种? Murch 提供了一些 Bitcoin Core 的交易替换历史,也提供了在一个相关问题中关于 RBF 替换规则的总结,并链接到 Bitcoin Core 的交易池替换文档和一位开发者对 RBF 的改进意见。
-
● 1,983,702 区块的问题是什么? Antoine Poinsot 概述了导致 BIP30 限制重复 txids 和 BIP34 强制在 coinbase 字段中包含当前区块高度的问题。然后他指出,有许多区块的随机 coinbase 字段内容恰好与后一个区块的强制高度前缀相匹配。1,983,702 区块是第一个实际上有可能重复前一个区块的 coinbase 交易的区块。在一个相关问题中,Murch 和 Antoine Poinsot 对这种可能性进行了更详细的评估。另请参阅第 182 期周报。
-
● 比特币中的哈希函数有哪些用途? Pieter Wuille 列举了三十多种不同的情况,涉及共识规则、点对点协议、钱包和节点实现细节,其中使用了不少于 10 种不同的哈希函数。
新版本和候选版本
热门的比特币基础设施项目的新版本和候选版本。请考虑升级到新版本或帮助测试候选版本。
- ● LND 0.17.3-beta 是一个包含多个错误修复的版本,也包括降低与 Bitcoin Core 后端一起使用时的内存开销。
重要的代码和文档变更
本周出现重大变更的有:Bitcoin Core、Core Lightning、Eclair、LDK、LND、libsecp256k1、Hardware Wallet Interface (HWI)、Rust Bitcoin、BTCPay Server、BDK、Bitcoin Improvement Proposals (BIPs)、Lightning BOLTs 和 Bitcoin Inquisition。
-
● 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 日(星期三)将恢复常规发布。