本周的周报总结了一份比较 “临时锚点(ephemeral anchors)” 提议与曾经的 SIGHASH_GROUP 提议的分析性提议,并传达了请求研究员们研究如何为闪电网络 “异步支付(async payment)” 创建支付证据的呼吁。此外还有我们的常规栏目:Bitcoin Stack Exchange 上的热门问答总结;流行的比特币基础设施软件的显著变更简介。

新闻

  • 对比临时锚点和 SIGHASH_GROUP:Anthony Towns 在 Bitcoin-Dev 邮件组中发帖,给出了一项对最近的临时锚点提议和以往的 SIGHASH_GROUP 提议 的比较性分析。SIGHASH_GROUP 允许一个输入指定自己花费到哪几个输出,不同的输入可以指明不同的输出,只要互不重叠即可。在两个乃至多个输入使用预签名交易的时候,这个特性将极大地便利于为交易添加手续费。这些交易的预先签名特性,使其有可能需要在需要上链时、手续费率变得更明确时添加手续费,而现有的 SIGHASH_ANYONECANPAYSIGHASH_SINGLE 标签在多输入交易中都不够灵活,因为它们只能覆盖单个输入或者单个输出。

    临时锚点提议近似于 “手续费赞助” 提议,让任何人都能利用 “CPFP(子为父偿)” 方法为交易追加手续费。因此被追加手续费的交易本身可以不携带交易费。因为任何人都可以使用临时锚点为一笔交易追加手续费,所以这种机制也可以用来为多输入的预签名交易支付手续费,而这就是 SIGHASH_GROUP 的目标。

    SIGHASH_GROUP 依然拥有两大优势:其一,它允许组合多笔互无关联的预签名交易,这可以在整体上缩减交易的体积、降低用户的开销并提高网络的吞吐量。其次,它不需要子交易,所以可以进一步降低开销和提高吞吐量。

    Towns 的结论是:临时锚点提议依赖于v3 交易转发策略,捕捉到了SIGHASH_GROUP 的绝大部分好处,并且显然比 SIGHASH_GROUP 更易于进入生产环境,因为后者还需要软分叉共识变更。

  • 呼吁为送达的异步支付提供支付证明:Valentine Wallact 发帖到 Lightning-Dev 邮件组中,呼吁研究者们探索如何让发起异步支付的付款方能够收到支付证据。在传统的闪电支付中,收款方先创建一个秘密值,并用哈希函数取得该秘密值的摘要;该摘要会放在一个签好名的发票中,交给支付者;支付者使用 “哈希时间锁合约(HTLC)” 为任何能够揭晓那个秘密指的人支付。而揭开的秘密值就证明了支付者已经为签名发票中的摘要支付过了。

    相反,异步支付会在接受者离线时送达,所以他们没法揭晓秘密值,因此也无法在当前的闪电网络模式中产生支付证据。Wallace 请呼吁研究者们探索如何让异步支付获得支付证据,不论是在当前的基于 HTLC 的系统中,还是在为了升级为 “点时间锁合约(PTLCs)” 的系统中。

Bitcoin Stack Exchange 网站的精选问答

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

重大的文档和代码变更

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

  • Bitcoin Core #26325 优化了 scanblocks RPC 方法的结果,它通过二次测试消除了假阳性。scanblocks 可以用来发现包含了跟某些描述符相关的交易的区块。因为利用过滤器的扫描可能会错误地给出一些并不包含相关交易的区块,这个 PR 在二次测试中验证一次测试给出的每一个结果,以检查给出的区块是否真的对应于传入的描述符,检查后再输出结果。出于性能上的理由,在调用 RPC 时使用 filter_false_positive 标签才会启用二次测试。

  • Libsecp256k1 #1192 升级了这个库的全面测试(exhaustive tests)。通过将 secp256k1 曲线的参数 B 改为其它数值,有可能发现另一个曲线群,既能兼容 libsecp256k1,但又比 secp256k1 曲线的阶数(大约是 2256)小得多。在这些对安全密码学无用的微型群上,可以在每一种可能的签名上全面地测试 libsecp256k1 的逻辑。这个 PR 在现有的大小为 13 和 199 的群以外增加了一个大小为 7 的群,虽然密码学家首先必须弄清楚这些群的朴素代数特性,因为这些特性曾经导致对这些群的简单搜索算法并不总能成功。13 依然是默认的大小。

  • BIPs #1383BIP329 定位为一种钱包标签标准导出格式的提案。与原始提议(见周报 #215)相比,主要区别在于将数据格式从 CSV 换成了 JSON。