Bitcoin-Core在 Bitcoin Core 中測試
在 Bitcoin Core 中測試 avoidpartialspends
選項
我在測試錢包中有很多 UTXO(比特幣核心 v0.21.1)。在 9 次交易中向同一地址發送隨機金額。
tb1qyqd9p9d2rc5a9v6cphucn999ljfcvdhymthypy
9 個 UTXO 也是如此:保存
avoidpartialspends=1
在bitcoin.conf
嘗試發送 0.051 BTC 到
tb1q57fjyqp3qu9s83eyu4qvy7hzuncg4t0c58t8cm
為什麼硬幣選擇算法從錢包中選擇 63 個其他輸入而不是從
tb1qyqd9p9d2rc5a9v6cphucn999ljfcvdhymthypy
in中使用 9 個13eda62acf58fdcb5a34565f993d7af856b54f69c9c73c83db97bf8111c46148
?這種選擇既不是基於隱私也不是基於費用。使用 9 個輸入可以節省費用,將重用地址的多個輸出連接起來,並將找零金額發送到新地址。
在這種特殊情況下,這是因為比特幣核心更喜歡進行不會產生任何變化的交易。請注意此事務如何沒有任何變化。如果分支定界精確匹配算法找到了解決方案,則始終使用它,而不管其他“最優性”如何,因為它認為“無變化”是最優解決方案。
顯然,這實際上可能不是最優的,但有計劃地改變硬幣選擇的工作方式,以有不同的“最優”指標。