為什麼不允許負費用?
為什麼比特幣共識要求區塊只包含非負費用交易?另外,為什麼取消該規則後,coinbase 必須是區塊中的第一筆交易?
與其擁有那些在軟體中需要特殊情況的規則,我想人們可以只擁有這條規則:
塊中所有輸出的總和減去塊中所有輸入值的總和不得超過塊獎勵。
這條規則已經用於檢查區塊獎勵,所以其他兩條規則似乎沒用。包含負費用交易的礦工必須按照一條規則為其付費,因此不會發生任何不好的事情。
如果比特幣只使用這一規則,我可以想像用 CPFP 可以做一些有趣的事情。
我能想到的一個可能的原因是垃圾郵件保護,但是無論如何,沒有什麼能阻止我創建大量的垃圾郵件交易與 0 或 1 satoshi/B。
非常有趣的腦筋急轉彎。我同意這與 CPFP 結合起來可能會很有趣。發件人可以將交易費用推遲給收件人,這對於比特幣領域的某些服務來說可能是一個有趣的提議。
但是,從運營角度來看,負費用存在一些問題:
發件人將優先級推遲給收件人。但是,如果發送方需要訪問分配給交易找零輸出的資金,他要麼必須自己 CPFP 交易,要麼雙花交易以增加更多輸出。
在第一種情況下,他最終自己支付了費用,在第二種情況下,他創造了一個場景,多個有效的衝突交易在未確認的情況下浮動,並且由於他不知道哪個會先確認,所以他最好也廣播所有替代的補充交易。
是的
tx1: S --> R1 + C tx2: S --> R1 + R2 + (C-R2) tx1b: C --> R2 + (C-R2)
這會迅速增加網路上可以接受的交易組合數量,產生不必要的網路流量,並且會給費用估算帶來麻煩:在相同的負費用率下,R1 只購買 tx1 會便宜得多,而R2 必須提供 tx2 的費用(比 tx1+tx1b 便宜)。
一般來說,如果交易有多個收款人,則首先從交易中支出的人必須為每個人付款才能收到他們的錢。
另一個問題是,它可能會進一步激勵交易的帶外支付,這可能會導致交易確認時間的不可預測性,並可能扭曲網路中的其他激勵。
負費用交易是輸出值大於輸入值的交易。因此,該交易實際上是無中生有地創造了金錢。
交易創建者因此獲得了免費資金,這就是此類交易無效的原因,即使憑空創造的資金將通過礦工的較低區塊獎勵來補償。