/ home / newsletters /
Bitcoin Optech Newsletter #179
本周 Newsletter 描述了一项允许在某些情况下中继零值输出交易的提案,并总结了关于为闪电网络采用 PTLC 做准备的讨论。此外还包含我们的常规栏目:服务和客户端软件的更改、Bitcoin Stack Exchange 的热门问答,以及主流比特币基础设施软件的值得注意的变更。
新闻
-
● 为特定不经济输出添加例外规则: 自我们在 Newsletter #162 描述以来,Jeremy Rubin 在 Bitcoin-Dev 邮件列表重新发起讨论,提议允许创建低于粉尘限制的交易输出。粉尘限制是中继节点用于阻止用户创建经济上不合理 UTXO 的交易中继策略。UTXO 需要至少由部分全节点存储至花费前,某些情况下还需快速检索能力,因此允许不经济输出可能无端引发问题。
然而,零值输出在 CPFP(Child-Pays-For-Parent) 手续费追加场景中有潜在用途——当被追加交易的所有资金均无法花费时(如 eltoo 协议),所有手续费资金需来自独立 UTXO。Ruben Somsen 也举例说明零值输出对空间链(一种单向锚定侧链)的实用性。
截至本文撰写时,讨论尚未形成明确结论。
-
● 为闪电网络采用 PTLC 做准备: Bastien Teinturier 在 Lightning-Dev 邮件列表发起讨论,提议对闪电网络通信协议进行最小化修改以支持节点升级使用 PTLC。PTLC 相较当前使用的 HTLC 具备更强隐私性且占用更少区块空间。
Teinturier 试图使这些修改与拟议的
option_simplified_update
协议变更(参见 Newsletter #120)同步实施。次要目标是使通信协议兼容 Newsletter #152 描述的基于快进机制的 PTLC 协议,这将支持节点分阶段升级:先采用带 HTLC 的option_simplified_update
,再升级至 PTLC,最后实现快进功能。
服务和客户端软件的更改
本月我们重点介绍比特币钱包和服务的趣味更新。
-
● Simple Bitcoin Wallet 新增 Taproot 发送功能: SBW 2.4.22 版本 支持发送至 Taproot 地址。
-
● Trezor Suite 支持 Taproot: Trezor 公告称 21.12.2 版本已支持 Taproot。用户升级客户端和固件后可创建新的 Taproot 账户。
-
● BlueWallet 新增 Taproot 发送功能: BlueWallet v6.2.14 新增对 Taproot 地址的发送支持。
-
● Cash App 新增 Taproot 发送功能: 自 2021 年 12 月 1 日起,用户可发送至 bech32m 地址。
-
● Wallet of Satoshi 新增 Taproot 发送功能: 移动端比特币与闪电钱包 Wallet of Satoshi 宣布支持 Taproot 发送。
Bitcoin Stack Exchange 精选问答
Bitcoin Stack Exchange 是 Optech 贡献者寻找问题解答的首选地——也是我们为好奇或困惑用户提供帮助的去处。本月我们精选自上次更新后的高票问答。
-
● P2TR 花费(从 Taproot 花费)中的脚本汇编和执行是怎样的? Pieter Wuille 详细解析了一个简化的 BIP341 示例,涵盖构建 Taproot 输出、密钥路径花费、脚本路径花费及验证流程。
-
● 如何在主网查找 P2TR 交易样本? Murch 提供区块浏览器链接,包括:首笔 P2TR 交易、首个包含脚本路径和密钥路径输入的交易、首笔含多密钥路径输入的交易、首个 2-of-2 多签脚本路径花费,以及新 Tapscript 操作码
OP_CHECKSIGADD
的首次使用。 -
● 矿工在挖矿时添加交易会重置区块的工作量证明吗? Pieter Wuille 解释挖矿具有无进展性,每次哈希尝试都是独立的,即便当前挖矿区块中添加了新交易。
-
● Schnorr 聚合签名可以嵌套在其他 Schnorr 聚合签名中吗? Pieter Wuille 探讨了使用 Schnorr 签名实现密钥分层聚合的可行性,指出 MuSig2 设计兼容嵌套使用,但需注意尚无安全性证明。
值得注意的代码和文档变更
本周 Bitcoin Core、C-Lightning、Eclair、LND、Rust-Lightning、libsecp256k1、硬件钱包接口(HWI)、Rust Bitcoin、BTCPay Server、BDK、比特币改进提案(BIPs) 和 闪电网络规范(BOLTs) 的值得注意变更。
-
● Bitcoin Core #23716 在测试代码中新增原生 Python 实现的 RIPEMD-160,不再依赖 OpenSSL 实现。新版 OpenSSL 默认不再提供 RIPEMD-160 支持。
-
● Bitcoin Core #20295 新增
getblockfrompeer
RPC,支持手动从指定节点请求特定区块,用于分叉监控和研究。 -
● Bitcoin Core #14707 更新多个 RPC 以包含矿工 coinbase 输出,新增
include_immature_coinbase
选项控制是否包含未成熟(未达 100 确认)的 coinbase 交易。 -
● Bitcoin Core #23486 优化
decodescript
RPC,仅在脚本适用时返回 P2SH/P2WSH 地址。 -
● BOLTs #940 弃用
node_announcement
中 Tor v2 地址的声明与解析。Rust-Lightning #1204 同步实现此变更。 -
● BOLTs #918 移除
ping
消息的速率限制,支持更频繁的心跳检测以提升服务质量。 -
● BOLTs #906 新增
channel_type
功能位(参见第 165 期周报),便于未来节点筛选支持此特性的对等节点。
假期发布安排
节日快乐!本期是本年度的最后一期常规周报。下周我们将发布年度特刊,并于 1 月 5 日恢复常规发布。