我怎樣才能將我收到的所有小額款項結合起來以最大限度地減少交易費用,我需要這樣做嗎?
重要部分以粗體顯示,對於那些不想閱讀細節的人!
我收到了很多小額交易,金額有時低至 0.000003BTC。儘管我也收到了(相對)較大的金額,但我擔心當我想花費我的比特幣時,由於構成輸出交易所需的大量“輸入”交易,交易費用可能會非常高。
據我了解,網路具有確定最低交易費用的算法,輸入數量與所需交易費用之間的關係是非線性的。這意味著可能有一些最佳方式來組合我的輸入。這已經在此處和此處進行了討論,但沒有一個問題詢問如何做到這一點,以及後果有多嚴重。
每次我花費適量時,最好以某種方式包含盡可能多的微小輸入和更大的輸入,或者最好以某種方式將所有微小輸入組合成一些最佳大小的單個批次並將它們發送給我自己以防止未來的問題。
如果我要合併少量,我很樂意等待新合併的比特幣老化,因此花費年輕比特幣所需的額外費用將不成問題。
在大多數(但不是全部)情況下,我的小額金額已被接收到一個專用的托尼金額地址。
為了這個問題,讓我們假設我收到了 1000 筆 0.001BTC 的小額交易,以及另外 100 筆 0.1BTC 的交易,都在同一個錢包中。這將產生 11BTC 的總餘額。假設所有款項都是在 6 個月前收到的。
如果我想一次性花掉全部 11BTC(有 1100 個交易輸入),費用會是多少?
如果我一次只花費 1BTC,費用會多高?
我怎樣才能真正結合少量而不影響較大的量?
我正在執行標準(Satoshi)客戶端,但其他客戶端可能是一個選項。
我實際上並沒有這樣做,但這是我的理解。對於許多小額交易,您可能希望合併它們,因為大量輸入的交易費用會很高。現在你問,通過合併,我不只是提前支付費用嗎?答案是,通過提前計劃和整合它們,你可以使用低費用礦池 Eligius 來做到這一點。
為了估算交易成本,我將僅使用交易大小(對於大型交易,費用主要由或完全由每 KB 的成本構成)。這是基於輸入和輸出的數量。如果您的所有餘額都相同(0.01 BTC),那麼無論您一次花費多少,費用都會隨著 BTC 總量線性增長。
假設每個輸入 180 字節,1000 個輸入為 175KB,為了安全起見,我將其四捨五入為 200KB。對於官方客戶端,預設的 0.01 BTC / KB 費用 [1] 將花費 2 BTC。
Eligius 將以每 KB [2] 0.2 TBC (0.00008192 BTC) 的費用探勘交易。因此,Eligius 的費用為 0.016384 BTC。為了確定,不妨將其四捨五入至 0.02 BTC 或更高。
如果您的硬幣足夠老(例如,10 BTC 和 200KB 交易大小為 3 個月)[3],那麼官方客戶可能不會對您的交易強制執行最低費用。否則,您可能需要使用不強制執行最低費用的修改後的客戶端。
在任何情況下,您都需要將您的客戶指向 Lightfoot Hosting 的免費交易中繼,它將任何交易中繼到網路 [2],因此它可以被 Eligius 接收。
它可能需要比平時更長的時間,但 Eligius 最終應該會探勘它。
至於結合“灰塵”,同時留下更大的餘額——你必須找到一個允許你選擇交易輸入的客戶端。我不知道哪些客戶可以做到這一點。
[1] <https://en.bitcoin.it/wiki/Transaction_fees>(此頁面上的費用計算截至客戶端 0.3,因此可能已過時。)
[2] <https://en.bitcoin.it/wiki/Free_transaction_relay_policy>
[3] 上面的 Wiki 連結 [1] 表示,優先級超過 57,600,000 的交易不受最低費用計算的限制。如果這是真的,那麼在 200KB 的交易中,平均 3 個月的 10 個 BTC 將具有 (1000000000 * 144 * 90) / (200 * 1024) = 63,281,250 的優先級