Bitcoin-Core

在 Bitcoin Core 中測試 avoidpartialspends 選項

  • May 18, 2021

我在測試錢包中有很多 UTXO(比特幣核心 v0.21.1)。在 9 次交易中向同一地址發送隨機金額。tb1qyqd9p9d2rc5a9v6cphucn999ljfcvdhymthypy9 個 UTXO 也是如此:

輸入

保存avoidpartialspends=1bitcoin.conf

嘗試發送 0.051 BTC 到tb1q57fjyqp3qu9s83eyu4qvy7hzuncg4t0c58t8cm

為什麼硬幣選擇算法從錢包中選擇 63 個其他輸入而不是從tb1qyqd9p9d2rc5a9v6cphucn999ljfcvdhymthypyin中使用 9 個13eda62acf58fdcb5a34565f993d7af856b54f69c9c73c83db97bf8111c46148?這種選擇既不是基於隱私也不是基於費用。使用 9 個輸入可以節省費用,將重用地址的多個輸出連接起來,並將找零金額發送到新地址。

在這種特殊情況下,這是因為比特幣核心更喜歡進行不會產生任何變化的交易。請注意此事務如何沒有任何變化。如果分支定界精確匹配算法找到了解決方案,則始終使用它,而不管其他“最優性”如何,因為它認為“無變化”是最優解決方案。

顯然,這實際上可能不是最優的,但有計劃地改變硬幣選擇的工作方式,以有不同的“最優”指標。

引用自:https://bitcoin.stackexchange.com/questions/106418