Transaction-Fees

UTXO 是否曾經被整合以避免複雜性?

  • December 17, 2018

在“掌握比特幣”(第 130 頁)中解釋說,如果交易複雜,交易將需要更高的費用。例如,如果我從 100 個人那裡收集比特幣來購買一個帳篷,那麼當我確認購買帳篷時,礦工需要匯總發送給我的這 100 個 UTXO(未使用的交易輸出)。這種聚合需要更多的千字節並且更複雜,因此需要更大的費用。

在現實世界中,這就像用較小的硬幣支付時收取更高的費用。那麼比特幣交易會隨著時間變得更加複雜嗎?從長遠來看,有什麼可以整合 UTXO 並防止它們被進一步拆分,從而使每筆交易變得更加複雜?

想像一下,如果我們只能在法定世界中獲得改變,但永遠不要將其合併為更大的票據。最後,我們都只有便士,對吧?

我在哪裡誤解了?

是的,他們有。

你是對的,一般來說,UTXO Set 的大小多年來一直在增長。例如,2014 年 5 月為 1100 萬,2015 年 5 月為 1900 萬,2016 年 5 月為 3800 萬,2017 年 5 月為 5100 萬。

現在,實際上有不到 5000 萬個 UTXO。那是怎麼發生的?正如您所注意到的,在單筆交易中花費大量 UTXO 的成本要高得多。去年冬天比特幣網路擁堵時,許多比特幣使用者(尤其是企業)支付了高昂的交易費用,因為他們的資金被分成了很多小的 UTXO。在峰值價格和擁塞情況下,花費一個 UTXO 很容易花費超過 10 美元。尤其是當需要多個 UTXO 來建構交易時,它們非常昂貴。自然,許多使用者的目標是創建盡可能小的交易並完全跳過合併,這導致 UTXO 集在擁塞階段迅速增長。

再來看看過去一年的UTXO Set大小: UTXO 去年的增長,在 2017 年底左右達到頂峰,然後在 2018 年頭幾個月急劇回落

儘管早在冬天之前就已經提出了更有效的使用模式(例如,Harding 在 2017 年 8 月關於批處理的優秀文章)。批處理和頻繁合併的採用僅在危機之後才達到頂峰。似乎價格上漲與嚴重擁堵相結合使比特幣使用者更加了解他們錢包的 UTXO 池構成。從 1 月到 3 月,我們看到 UTXO 集的大小從超過 6400 萬個到 5100 萬個 UTXO 極端回歸。當您從那時起查找塊時,您會發現許多交易花費大量 UTXO 到單個輸出。這些交易通常支付非常低的費用,在記憶體池中排隊,直到費用率下降到足以將它們包含在內。這些合併交易的明確目的是以盡可能低的成本將資金壓縮到更少的 UTXO 中。

從四月中旬看這個例子: 從記憶體池中刷新的 1 個 sat/B 事務與 UTXO 集大小的下降一致

隨著支付非常低費用的交易被包含在區塊中,UTXO 集的大小會下降。

從那時起,我們還看到批處理的使用顯著增加,這從另一個角度解決了 UTXO 集的增長問題:批處理減少了生成的更改輸出的數量。當在 20 次不同的交易中發送 20 次付款時,您可能會創建 20 次找零輸出。當您在單筆交易中發送 20 筆付款時,您只會創建一個零錢輸出。因此,大量使用批處理可以將每次支付的 UTXO 創建量減少近一半。

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