比特币操作码技术新闻通讯189期
翻译:Google translate 校对:李林
本周的时事通讯描述了一个新提议的 OP_EVICT 操作码,并包括我们的常规部分,其中包含新版本和候选版本的摘要以及流行的比特币基础设施软件的显着变化.
新闻
● 提议的操作码用于简化共享 UTXO 所有权:开发人员 ZmnSCPxj 在 Bitcoin-Dev 邮件列表中发布了一项关于 OP_EVICT 操作码的提议,以替代之前提议的 OP_TAPLEAF_UPDATE_VERIFY (TLUV) 操作码。 与 TLUV 一样,OP_EVICT 专注于两个以上用户共享单个 UTXO 所有权的用例,例如连接池、通道工厂和某些约定。要了解 OP_EVICT 的工作原理,请想象一个连接池,其中单个 UTXO 由四个用户控制:Alice、Bob、Carol 和 Dan。.
今天,这四个用户可以创建一个 P2TR(taproot)输出,其密钥路径花费允许他们使用 MuSig2 之类的协议来有效地花费该输出,如果他们都参与创建签名的话。 但是,如果用户 Dan 变得不可用或恶意,Alice、Bob 和 Carol 保持加入池剩余部分的隐私和效率优势的唯一方法是提前与 Dan 准备一棵预签名交易树——不是所有的 哪些需要使用,但所有这些都需要准备好使用以确保完全容错。
随着共享 UTXO 的用户数量的增加,需要创建的预签名交易的数量组合增加,使得该安排高度不可扩展(仅 10 个用户需要预签名超过一百万笔交易)。 其他提议的操作码,如 TLUV 和 OP_CHECKTEMPLATEVERIFY 可以消除组合爆炸。 OP_EVICT 完成了同样的工作,但 ZmnSCPxj 建议它可能是这些操作码(对于这个用例)的更好选择,因为它在删除共享 UTXO 所有权组的成员时使用更少的链上数据。
如果在软分叉中添加了 OP_EVICT,则该组的每个成员都可以与其他成员共享一个公钥以及该密钥的签名,以向成员支付预期金额的输出(例如,Alice 获得 1 BTC,Bob 获得 2 BTC , 等等)。 一旦每个成员都拥有所有其他成员的公钥和签名,他们就可以无需信任地构建一个地址,允许以两种不同方式中的任何一种使用资金:
- 如上所述,使用打浦路密钥路径花费.
- 使用 OP_EVICT 操作码为 Tapscript 使用脚本路径花费。
在驱逐 Dan 的情况下,操作码将接受以下参数:
● 共享公钥:整个组的共享公钥,只需一个字节就可以引用模板
● 要驱逐的数量:要创建的 joinpool 退出输出的数量(在本例中为一个)
● 在本例中,对于 Dan 的一个输出,数据将提供其索引位置和 Dan 的签名。 Dan 的公钥将与他签署的输出中使用的密钥相同
● 未驱逐签名:对应于整个组的共享公钥减去驱逐输出中使用的公钥的公钥签名。 换句话说,来自该组其余成员(本例中为 Alice、Bob 和 Carol)的签名
这将允许 Alice、Bob 和 Carol 在没有 Dan 合作的情况下随时使用组 UTXO,方法是使用 Dan 先前签名的输出创建交易,为该输出提供 Dan 的签名,并提供 Alice、Bob 和 Carol 动态创建的签名 在整个支出交易中(这将涵盖他们选择支付的费用并根据他们的选择分配剩余资金)。
在撰写本文时,OP_EVICT 在邮件列表中收到了适量的讨论,没有发现任何重大问题,但也与去年对 TLUV 提案的热情大致相同。
发布版和发布预览版
流行的比特币基础设施项目的新版本和候选版本。请考虑升级到新版本或帮助测试候选版本。
-
BTCPay Server 1.4.6是该支付处理软件的最新版本。 自 Optech 涵盖的上一个版本以来,已添加对 CPFP 费用增加的支持,使用 LN URL 的附加功能的能力,以及多项 UI 改进。
-
HWI #550 增加了对 Ledger 硬件签名设备的最新可加载比特币固件的支持,该固件本机支持版本 2 PSBT和输出脚本描述符的子集。