Bitcoin-Core

什麼是部分支出?避免部分支出有什麼作用?

  • March 11, 2019

按地址對輸出進行分組,選擇全部或無,而不是基於每個輸出進行選擇。由於地址僅使用一次(除非有人在使用該地址後發送給它),因此隱私得到了改善,但可能會導致費用稍高,因為由於增加的限制可能導致次優硬幣選擇(預設值:0)

我不明白。如果只使用一次接收/更改地址,地址重用不是已經避免了嗎?這個選項是否意味著每個接收地址都將被錢包內部跟踪,從而通常避免來自多個“來源”的支出?是不是還有一些“多源消費”還是無法避免的場景?這如何改善隱私?這不會創建一個可追踪的交易“鏈”嗎?

目前,最佳做法是只向一個地址接收一次硬幣 - 如果之前顯示的錢包已經收到硬幣,任何合理的新錢包都會為您生成一個新的接收地址。

但是,在某些情況下,一個地址可能會多次收到硬幣,例如作為交易所保存的地址,儲存在自動支付系統(礦池等)中,或者只是故意將相同的地址提供給向您發送硬幣的多個人.

在這種情況下,一個地址有多個相關聯的 utxos,可能有不同的大小。

此外,如果您還使用您的錢包,通常只有一個交易有許多其他地址,這個有很多交易的地址可能會導致硬幣選擇算法花費這個地址的硬幣以及發送到其他一次性地址的硬幣,從而將它們連結為屬於同一個錢包。

avoidpartialspend是一個配置選項,它告訴硬幣選擇系統在嘗試從其他地址獲取 utxos 之前將所有 utxos 花費在一個地址上(根據發送的數量,這可能仍然是必要的)。這確保了選擇的 utxos 盡可能減少為單個事務連結在一起的單個地址的數量。然而,這是以更高的交易費用為代價的,因為可能更大的交易規模,以及次優的 utxo 選擇,而不是為發送的金額選擇最佳輸入。

這確實在一定程度上改善了隱私。但是,如前所述,這不是一個完整的解決方案,因為該地址的未來 utxos 可能會用於將它們連結到更多錢包地址的其他交易中,即使在此過程之後也是如此。

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