Transactions

後代規模會影響交易費用嗎?

  • June 14, 2020

在計算交易費用時,礦工通常會將祖先大小計入賬戶。但是後代/輸出是否也會影響交易費用的計算?後代數量是否以任何方式與交易費用相關?

我假設您實際上是在詢問礦工在其區塊模板中包含交易的順序。礦工將對每筆交易進行分組,並將其歸為祖先。這樣一個交易組的有效費率是該組Σ(fees)/Σ(size)內所有交易的。

假設有兩個交易在等待,A 和 B,其中 B 通過花費 A 的輸出是 A 的子代。

A: { size: 200 vB, fee: 4000 satoshi } ⇒ fee rate: 20 sats/vB
B: { size: 100 vB, fee: 500 satoshi } ⇒ fee rate: 5 sats/vB

探勘軟體現在創建了兩個組:{ { A }, { A, B } }. 第一(單元素)組的有效費率{ A }20 sats/vB。第二個交易組的有效費率{ A, B }4500/300 = 15 sats/vB。從這些組中,礦工選擇支付最高費率的組,{ A }只要它有足夠的空間添加到塊模板中。之後,它從事務候選集中刪除該組的所有事務並重新計算事務組。現在只剩下一組交易:{ { B } }. 此時{ B }被拾取到塊模板中。

因此,在此範例中,交易A以 10 sats/vBB的有效費率排隊,而以5 sats/vB. 由於 parent 的費率高於 child,因此因果順序和費率順序匹配,並且BA’ 的優先級沒有影響,反之亦然。


相反B,如果支付的費用高於A,例如在孩子為父母付費的情況下,將會發生以下情況:

A: { size: 200 vB, fee: 200 satoshi } ⇒ fee rate: 1 sats/vB
B: { size: 100 vB, fee: 2800 satoshi } ⇒ fee rate: 28 sats/vB

挖礦軟體又創建了兩組:{ { A }, { A, B } }. 第一組的有效費率{ A }1 sat/vB。第二個交易集的有效費率{ A, B }3000/300 = 10 sats/vB

由於{ A, B }現在的交易組比{ A }自己的優先級更高,所以交易組首先被挑選到塊模板中。在這種情況下,子交易的大小與計算有效費率有關{ A, B },因此子交易的大小確實會影響父交易的區塊包含優先級。


如果我誤解了,並且您的意思是後代交易是否會影響創建父交易的費率,那麼答案是“不!”:

交易在創建時是不可變的(忽略可延展性等邊緣情況)。由於交易費用被定義為輸入值總和與輸出值總和之間的差值,因此交易費用在交易創建時就已確定。在創建交易之前,不能花費交易的輸出。因此,事務在創建之前不能有任何後代。因此,影響其祖先創建的後代事務是一個時間悖論。

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