主页 > 区块链钱包 > [imtoken平台]什么是 UTXO 合并?看看专业的硬核解读

[imtoken平台]什么是 UTXO 合并?看看专业的硬核解读

管理员 区块链钱包 2022年07月25日

之所以 转出 在除号的上下都有,是因为我们预期你创建的大多数交易,也会产生一个找零输出,把未使用的价值作为一个新 UTXO 返回到你的钱包。

UTXO 合并是什么?这篇专业解读告诉你。

一个未确认 UTXO 是一笔仍在内存池(即尚未被确认)里的交易的输出。为了防止针对节点内存池的 DoS 攻击,节点对使用未确认 UTXO 的交易设置了其他限制。这意味着,你无法保证能够在任意时间使用未确认 UTXO。例如,在第一个交易(tx0)被确认之前,钱包可能无法传播以下所示的第二个交易(tx1):

UTXO 池

上面的示例假定你将从拥有 n 个 UTXO 变为仅有一个 UTXO,但是,如果你需要广播一笔交易而你的交易其中一笔又没有被确认,那么这可能会造成问题。

因此,试图最大化自己的比特币余额或交易历史的私密性的用户不应使用本文档中描述的 UTXO 合并。以前使用过诸如混币(coinjoin)之类的技术来将其 UTXO 的所有权历史与其他 UTXO 混合在一起的用户,尤其应该避免这种情况。

通过保持输出数量相同并增加每个输出的价值,来增加 UTXO 池中输出的平均价值,从而总体上增加池子里的资金量。请注意,这还会增加你因盗窃或热钱包意外而蒙受的金钱损失。

对于从冷钱包发送到热钱包的合并,你可以轻松地使用「为父辈付费的子辈」(Child-Pays-For-Parent, CPFP)来增加交易费。

什么是 UTXO 合并?看看专业的硬核解读

什么是 UTXO 合并?看看专业的硬核解读

不找零的交易

不找零的交易不包含找零输出,这使典型交易的大小减少了约 31 至 43 vbytes。尽管在仅花费一个 UTXO (这是合并的目标)的时候有可能创建一笔不找零的交易,但是,通常需要同时花费两个或更多 UTXO 才能产生一笔不找零的交易。这是因为,如果你愿意使用任意数量的输入,那么,可以在交易中包括的 UTXO 组合的数量会极大地有助于寻找一笔不找零的交易。

此类技术消除了合并交易使用的额外区块链空间,从而使其可能更有效率并节省更多交易费。它可能更容易实现某些服务,因为不需要等待数小时或数天即可确认合并交易。此外,BitGo 的预测性 UTXO 管理系统尤其似乎可以使用上一节中所述的不找零的交易实现部分节省,以及其中描述的额外的节省和隐私好处。

什么是 UTXO 合并?看看专业的硬核解读

如果合并交易在你发送第二笔给客户的交易之前得到确认,那么,与单笔交易相比,客户不会遇到任何额外的延迟,因此你可以节省少量的钱而完全无需改变接收方的体验。

尽管这似乎是一个很小的变化,但它几乎使我们的交易大小和成本增加了一倍。这就是合并发挥作用的地方。通过提前准备,我们可以把大型交易的三个 UTXO,通过一笔自己发给自己的低费率交易,合并到一个 UTXO。然后,我们可以在高费用交易中使用单个 UTXO 向客户付款,交易形式与上述第一个示例交易相同:

转出(outgoing)——钱包创建的将比特币发送给其他人的交易数量。如果你使用 批量付款(payment batching),请注意,这是交易数量,而不是付款数量。为了提高精度,你可以在此总数中包括你期望在钱包为空之前进行的交易数量(即,你当前的钱包余额除以交易的平均转出)。

什么是 UTXO 合并?看看专业的硬核解读

根据以上估计,我们预计,至少在某些时候,几乎所有活动的比特币服务都可以通过合并节省大量费用。例外情况是,UTXO 的平均数量非常少,或者在快速(高)费率和慢速(低)费率之间的差额持续小的时候尝试合并的服务。

下图显示了使用 Bitcoin Core 的交易费估算的 2 个区块确认目标(约 20 分钟)和 1008 个区块确认的目标(约 1 周),在一段时间内可用的预计节省。

不找零的交易还会从你的钱包中删除一个 UTXO,与 UTXO 合并一样,减少了你未来的交易费负担。节省下来的钱更难分析,因为通常你会凑整交易费来创建不找零的交易,从而增加支出费率。但是,即使我们忽略这一点,因为输入远远大于输出,所以,以较低的费率进行合并仍将比以较高的支出费率创建两个输入的不找零交易节省更多的钱。考虑一个示例:Alice 和 Bob 分别收到 10 个 UTXO。Alice 将其 UTXO 合并为单个 UTXO,费用为正常支出费用的 1/10 ,然后发送五笔付款。Bob 将自己的 UTXO 分开存放,并自己发送五笔付款,每笔付款都使用两个 UTXO 来按正常支出费率创建不找零的交易:

下表总结了达到一定节省率的频率。我们看到,几乎总是可以通过等待一周来节省 50%的费率,并且通常可以节省 90% 或更多。

显然,我们节省的实际金额将取决于用于合并的低费率和用于支付客户的较高费率之间的比率。使用本文附录中提供的数据,在撰写本文时,通常可以实现以下比率:

第二种替代选项是,将 10 个 UTXO 合并到冷钱包中的 5 个 UTXO,然后将 5 个冷的 UTXO 转移到 5 个热钱包 UTXO。在所有可用选项中,这将使用最多的区块空间。它以低合并费率创建了一笔大型交易,并以较高的费率创建了一笔中等规模的交易来把钱发送到热钱包。这使它成为表现最差的选项。

合并与竞争技术

在使用 UTXO 合并的同时,无法有效地使用另一些节省费用的技术,因此以下小节将它们与合并进行了比较,同时突出了它们的优缺点。

什么是 UTXO 合并?看看专业的硬核解读

什么是 UTXO 合并?看看专业的硬核解读

对于平均每笔交易花费两个或更多 UTXO 且可以按正常费率的 50% 或更少的价格进行合并的人(以及使用此处分析的 P2WPKH 交易的人),合并至少可以使成本达到收支平衡,并且可以轻松地比发送普通交易节省更多的钱。本章附录中包含的费率数据显示,在我们分析的 2019 年 11 月和 12 月期间,有 99.85% 的可能性为名义上的 2 个区块确认目标节省至少 50% 的费率。

撰文:David A. Harding

如果我们能使用仅支付上图所用费率的 1/10 的合并交易,将所有多余的 UTXO 合并为一个 UTXO,会怎么样?然后,我们可以按足额费率只用一个 UTXO 去创建常规支出。将这些数据覆盖在上图的顶部,我们可以看到可以节省多少:

你应该选择 abcdef:0 ,因为它是价值最低的 UTXO。然后选择 cdefab:0 ,因为它被发送到与 abcdef:0 相同的地址。最后,选择 bcdefa:0 ,因为它是价值次低的 UTXO。

对于从热钱包到热钱包的合并(或从热钱包到冷钱包的合并),你应发出 BIP125 信号,这样你可以使用费用替代(Replace-by-Fee, RBF)来增加交易费,这是最有效的增加交易费类型。

什么是 UTXO 合并?看看专业的硬核解读

虽然最大程度地合并 UTXO 然后在以后进行拆分似乎有点愚蠢,但本节开头描述的简单合并策略确实可以提供最大的节省。

一个简单的合并策略是将在一定时期(例如一周)内收到的所有 UTXO 都放到冷钱包里,然后将它们合并到一个 UTXO。但是,你可能会想知道这是否产生了浪费,因为你可能最终在以后将单个 UTXO 拆分为热钱包 UTXO 池的多个 UTXO。例如,如果将 10 个 UTXO 合并为 1 个 UTXO,则将其转移回 5 个 UTXO 似乎效率很低。

另见

预测性 / 有机 UTXO 管理

预测性 UTXO 管理是由 BitGo 提供的一种服务:「通过在高费率减少交易大小,同时在低交易费时自动清理和处理币的小片段,来降低总体成本。」这种技术的具体实现是专有的,但它可能类似于 Dmitry Petuhov 所描述的有机 UTXO 合并。

预计节省

要估计使用合并可以节省多少,让我们看看一笔典型交易的总费用如何 取决于它花费了多少 UTXO (即,它的大小增加了多少)。查看此图表时,请将 x 轴与你在上一节中计算的 UTXO 平均数量进行比较。

隐私问题

当你收到从未使用过的新地址的付款时,查看区块链历史的分析人员将不知道谁拥有该 UTXO。但是,如果你将 UTXO 与他们已确定属于你的其他 UTXO 合并,则分析师可以做出合理的假设,即所有合并的资金均属于你。

未使用交易输出(UTXO)合并是指将存储在多个 UTXO 中的比特币价值合并为一个 UTXO。这样可以减少你控制的 UTXO 的数量,同时使你的余额保持大致相同,从而在为了获得快速确认需要支付的时候,更有机会能够创建更小、更实惠的交易。

什么是 UTXO 合并?看看专业的硬核解读

什么是 UTXO 合并?看看专业的硬核解读

如上所示,通过同时合并额外 UTXO 所节省的金额并不是特别大,因此即使你不注意合并大小,也可以获得合理的效率。

Anthony Towns 的 《田野报告:在 Xapo 合并了 400 万个 UTXO》

大多数钱包最终都会遇到这样的情况,即它们在一个 UTXO 中没有足够的价值来支付它们想要花费的金额。这就要求它们通过花费更多的 UTXO 为交易增加更多价值。例如,让我们在示例交易中花费两个额外的 P2WPKH UTXO:

原文标题:《UTXO 合并》

什么是 UTXO 合并?看看专业的硬核解读

本文网络收集整理,不构成任何投资建议。转载请注明出处:https://www.bnlive.com.cn/qklqb/8649.html

标签: 比特币   技术   UTXO   未花费交易输出