本周的 Newsletter 宣布了多个 IRC 频道的网络迁移,并庆祝 Optech 的第 150 期 Newsletter。同时也包含我们常规的 Bitcoin Stack Exchange 热门问答栏目、新软件版本及候选发布版本,以及对常用比特币基础设施项目的值得注意的变更内容。

新闻

  • IRC 频道迁移至 Libera.Chat:在每周的 Bitcoin Core 开发者会议中,bccdev meeting libera 决定 5 月 27 日(周四)的会议将是最后一次在 Freenode 网络上举行的会议。机器人、日志记录和其他基础设施、今后会议以及一般讨论都将迁移至 Libera.Chat 网络上的 #bitcoin-core-dev 频道。就在发布本 Newsletter 前不久,Freenode 管理员的操作似乎导致此次迁移被迫提前至周三早晨(UTC 时间)。与 Bitcoin 和闪电网络(LN)相关的其他几个频道也在迁移。要查找各频道当前所在的网络,请参阅 Bitcoin Wiki 上的 IRC 频道列表。如果你运营的频道正在迁移但没有 Wiki 帐号来更新该列表,请在 Libera 上的 #bitcoin-wiki 频道告知编辑人员。

庆祝 Optech Newsletter #150

作者:John Newbery,Optech 创始人

这是我们面向 Bitcoin 技术社区撰写的第 150 期常规 Optech 每周 Newsletter。自 2018 年 6 月以来,我们几乎每周都会整理并发布比特币和闪电网络开发中最重要事件的摘要,只有在圣诞节假期附近会暂停一次短暂的更新。

Optech 建立之初的目标非常简单:帮助比特币企业采纳能够使比特币扩容的技术,并关注比特币开源社区中发生的卓越技术工作。虽然三年前我们无法完全预见这些工作的形态,但我们始终相信这一使命,并以此指导我们所做的工作。自 2018 年 6 月以来,我们:

  • 发布了 150 篇 Newsletters、多篇博客 posts 和实地报告,以及一篇 Bech32 系列专题报道,并推出了一个 Taproot 互动式研讨会。整体而言,我们已发布了约 25 万字内容——足以印制大约 700 页纸。

  • 邮件订阅用户达到了 4,100 人,Twitter 关注者接近 11,000 人。

  • 已有社区成员开始将部分 Newsletter 翻译成日文版本西班牙语版本

  • 创建并维护了 topics index,集中记录比特币和闪电网络提案与改进的演进脉络,供读者追踪了解。

这些 Newsletter 凝聚了许多贡献者的努力。首当其冲的是 Dave Harding,他撰写了我们大部分的内容。用 “多产” 来形容 Dave 也显得不足——在比特币生态系统中各种各样的研究和开发工作中,他每周都能产出简明、清晰的概览。我们很幸运能够拥有这样一位兼具广博知识、敬业精神和谦逊品格的记录者。Dave 在 Optech 及其他项目中撰写的海量内容,已成为现有和未来比特币参与者都能受益的巨大资产。

此外,我们还有其他 Optech 成员在幕后支持:Mike Schmidt 撰写了常规的 Bitcoin Stack Exchange 精选问答及“值得注意的”比特币软件和基础设施变更摘要,并保证 Newsletter 能准时发送到每位订阅者的收件箱。Jon Atack 贡献了关于 Bitcoin Core PR 审查俱乐部的常规总结。除了 Mike 和 Jon,Carl DongAdam JonasMark Erhardt 和我也会在需要时提供 PR 总结,并审阅每期 Newsletter,以尽量确保我们输出的内容准确而清晰。

特别感谢 Shigeyuki Azuchi 将我们的 Newsletter 翻译成日语,以及 Akio Nakamura 也参与了日文材料的翻译和审校。

还要感谢比特币社区中的所有成员——人数之多已无法在此一一列出——他们审阅了我们的 Newsletter、帮助我们理解各种概念,并在我们出错时通过 issue 和拉取请求(pull request)提醒我们改进。

所有这些工作都得益于我们慷慨的支持者,主要是我们的创始赞助商——Wences Casares、John Pfeffer 和 Alex Morcos。

最后,感谢各位读者。我们非常高兴能成为这个社区的一员并为这个生态系统做出贡献。得知这份资源对如此多的人具有价值,并收到读者的反馈,让我们感到非常欣慰。如果你也想参与或对我们的改进提出建议,欢迎随时通过 info@bitcoinops.org 与我们联系。

Bitcoin Stack Exchange 精选问答

Bitcoin Stack Exchange 是 Optech 贡献者寻找问题答案时最先访问的地方之一——或是在我们有空时回答有兴趣或困惑的用户问题的地方。以下是我们本月精选的一些高赞问答。

发布与候选发布

适用于常用比特币基础设施项目的新版本与候选发布版本。请考虑升级到新版本,或参与测试候选发布版本。

  • Eclair 0.6.0 这是一个新版本,包含若干提高用户安全性和隐私性的改进。同时也提供了与未来可能使用 taproot 地址的软件的兼容性。

  • LND 0.13.0-beta.rc3 这是一个候选发布版本,新增了对修剪过的比特币全节点的支持,允许使用原子多路径支付(Atomic MultiPath,简称 AMP)接收和发送付款,并增强了其 PSBT 功能,还包含其他改进及修复。

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

以下是本周 Bitcoin CoreC-LightningEclairLNDRust-Lightninglibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay Server比特币改进提案(BIPs)以及闪电网络规范(BOLTs)中的值得注意的更改:

  • Bitcoin Core #21843getnodeaddresses RPC 添加了一个名为 network 的参数。当将该参数设置为所支持的网络类型(如 ipv4ipv6onioni2p)时,getnodeaddresses 将只返回该网络上已知的地址;如果不指定 network 参数,则会返回所有网络上已知的地址。

  • Eclair #1810 强制节点必须声明并遵守 payment_secret 功能位。这个功能位可以阻止对收款方进行去匿名化的攻击,并进一步防御不正确的图像揭示所涉及的不当散列值泄漏。该功能已被主流实现所支持,并在 LNDRust-Lightning 中要求对支付启用此功能。

  • Eclair #1774 在 Java 内置的 SecureRandom() CSPRNG 函数之外增加了一个较弱随机数来源。将此较弱随机数进行哈希,然后将其摘要与主随机数源生成的结果进行异或,这样即便将来 SecureRandom() 被发现存在某些可预测性漏洞,Eclair 依然有机会保留足够的熵,以确保其密码操作不会被利用。

  • BIPs #1089 为之前在邮件列表上讨论过的提案分配了 BIP87 编号。该提案旨在为多签钱包定义一组标准化的 BIP32 路径,不论其多签参数、所使用的地址类型或其他脚本细节如何。该提案鼓励用户将这些细节存储在输出脚本描述符(descriptor)中,从而避免钱包要针对各种多签变体(如 BIP45m/48' 标准)重复实现多个标准,或因新的多签脚本变体而产生新的标准。尽管使用描述符意味着需要备份更多的数据,但相比传统多签钱包要备份每个参与方的扩展公钥(xpub)而言,多签描述符中关于脚本模板和描述符校验和的信息只占用极少的额外空间。

  • BIPs #1025 为在 Newsletter #105 中介绍过的路径模板分配了 BIP88 编号。路径模板可用于简明地说明钱包应支持哪些 BIP32 派生路径。由于路径模板较为紧凑,用户在备份种子时也能轻松把模板备份进去,从而避免因遗失模板而导致资金丢失。该提案的另一特性是可以在模板中为路径派生设定限制(例如在某个路径上最多只派生 50,000 个密钥),使得恢复过程可以扫描所有可能的密钥,从而有效避免 HD 钱包中的 gap 限制问题。

  • BIPs #1097 为在 Newsletter #136 中介绍的 Bitcoin Secure Multisig Setup(BSMS)分配了 BIP129 编号,该规范详细说明了钱包(尤其是硬件签名设备)应如何安全地交换信息以共同构建多签钱包。这些信息包括要使用的脚本模板(例如要求 2-of-3 签名的 P2WSH)以及每个签名者将在指定密钥路径上使用的 BIP32 扩展公钥(xpub)。该协议通过一个协调器来收集必要信息并创建输出脚本描述符,随后每个签名者分别验证该描述符,以确保其正确包含自己的密钥。