當一個比特幣區塊滿了會發生什麼?每一個位元組都引發即時手續費拍賣

要點摘要

  • 比特幣區塊的權重上限為 400 萬 weight units,迫使較低費用的付款必須等待。
  • Bitcoin Core 31.0 可在節點的 300 MB mempool 滿載時,淘汰弱的套件。
  • 當擁塞持續,比特幣使用者有 3 種加費路徑:RBF、CPFP,以及挖礦加速器。

區塊形成之前的等待隊列

把它想像成尖峰時段的繁忙捷運月台。每位新乘客都有有效票,但即將抵達的列車載客量有限。在比特幣中,一筆交易首先進入節點的 mempool,這是一個暫時的暫存區,存放尚未被確認、但屬於有效付款的交易。關鍵差異在於:沒有單一、通用的 mempool。每個節點都保有自己的版本,套用各自的本地政策,看到的待確認交易集合可能也會略有不同。

截至週一美東時間早上 8 點,比特幣在 mempool 中大約有 90,617 筆未確認的轉帳等待被納入。圖片來源:Mempool.space。滿區塊與滿 mempool 也是不同的事件。比特幣區塊受共識限制為 400 萬 weight units,這是用來衡量交易資料結構的指標。Bitcoin Core 節點預設會為本地 mempool 配置約 300 MB 的記憶體,並可能保留交易長達 336 小時。一旦區塊滿載,就算記憶體中仍有大量交易等待下一班列車到來,也會發生。

滿區塊把等待變成拍賣

礦工通常不會根據交易年齡來選擇交易。他們會圍繞費用、交易權重以及付款之間的相依關係,建立區塊模板。使用者實際看到的衡量單位是 satoshis per virtual byte,也就是 sat/vB。費率越高,礦工在同樣稀缺的區塊空間中能取得的收入就越多,因此最強勢的費用套件往往會先移動。

這意味著:先送出的付款可能會在分鐘後才送出的付款被確認之前完成確認。高費用交易可能會在整個網路中廣泛擴散,並落入礦工下一輪的區塊模板。低費用交易則可能一直留在門檻之下,即使跨過了好幾個區塊。確認估計能提供參考,但它不是保證,因為新的交易會持續抵達,而且區塊本身出現的間隔也不規則。

當有足夠多的待處理交易同時競爭每一個區塊時,mempool 就會不再像有禮貌的排隊隊列,更像機場的升等候補名單。新的、更願意付費的乘客可能會取代較弱的出價。如果某個 Bitcoin Core 節點達到其設定的記憶體上限,它會淘汰經濟上最弱、且與其連結的一組交易,並上調一個滾動的本地費用下限。被淘汰的交易並非無效,區塊鏈也沒有取消它。只是該節點不再代為承載它。

擁塞抵達錢包

對一般使用者而言,第一個後果是延遲。錢包可能會顯示某筆付款在數小時內仍是待確認,同時更新的交易卻已被確認。對交易者、交易所或資金調度桌而言,這種延遲可能會推遲交易所的入金、放慢抵押品移動、打斷套利轉帳,或讓資金在快速市場中變得不可用。

因為費用主要與交易權重掛鉤,而不是與轉帳金額掛鉤,所以當交易結構可比時,價值 50 美元的付款與價值 500 萬美元的轉帳可能會用相近的條件競爭。轉帳越需要在時間內完成,被低估付費的成本就可能越高。

Mempool blocks via mempool.space在 mempool.space 的綠色區塊代表群組化的未確認比特幣交易,這些交易正等待被納入 mempool 以供礦工選擇。每個區塊會根據費率估計哪些交易可能符合未來區塊的容納,費率以 satoshis per virtual byte(sat/vB)計量。礦工通常會先優先處理費用最高的交易,因為這能最大化區塊收入。由於新區塊大約每 10 分鐘挖出,交易會從 mempool 中移除;同時新廣播的交易會持續補充它,因而形成一個不斷變動的佇列。第二個後果是更高的費用市場。比特幣沒有像以太坊那樣的協定層 base fee。取而代之的是:使用者會競爭的是礦工能放進下一個區塊的邊際費率,而每個節點也會維持本地的准入費用下限。在壓力下,這種動態下限可能會遠高於軟體的基本轉送設定。昨天顯示的費用,甚至是 20 分鐘前的費用,可能已經買不到相同的確認速度。

第三個後果是在結算前的不確定性。看到一筆交易出現在區塊瀏覽器中,只能證明有些節點知道它,而不是每一位礦工都知道。未確認付款可能會被替換、被淘汰出某個節點的視角或消失,但它仍然是有效的可支出項目。那些在確認為 0 的情況下就放出商品、記入帳戶或把入金視為最終的企業,正在承擔一種風險:擁塞可能讓這種風險變得更明顯。

幾種讓卡住付款重新前進的方法

比特幣本身提供使用者兩種主要方式來重新定價一筆延遲的付款。Replace-by-fee(RBF)允許發起方以支付更高費用的交易來取代一筆尚未確認的交易。把它想成取消一個低出價並用同一個座位提出更強的出價。Child-pays-for-parent(CPFP)走的是另一條路:延遲交易的一個可支出輸出會被用在一筆新的高費用子交易中,讓礦工更有動機把父交易與子交易一起納入。

這兩個工具都不是萬靈丹。RBF 的取代必須符合節點政策,並且要支付足夠的費用,才能同時擊敗被取代的交易以及目前的市場費率。CPFP 的子交易必須提升整個套件的合併費率,而不只是讓它在自身看起來更貴。在迅速上升的市場中,即使提高一點費用,也可能仍讓付款落在移動中的臨界點之下。真正的目標不是最低轉送費用。它是下一個可能區塊尾端附近的費率。

ViaBTC's transfer acceleratorViaBTC 的轉帳加速器每小時提供 20 次免費推送。除了這兩種選項外,挖礦加速器是一些比特幣挖礦礦池提供的服務,允許使用者在交易因費用較低而卡在 mempool 中時,提交該交易以供優先納入考量。加速器不會改變比特幣的共識規則;它只是請求參與的礦工把該交易納入他們挖出的下一批區塊之一。有些加速器免費但有資格要求,有些則會收取費用,或要求交易達到最低費率。

Core 31.0 改變的是機制,而不是上限

Bitcoin Core 31.0 會改動支持該競逐的一些機制。它的 cluster mempool 會把彼此連結的未確認交易分群,並依照預期該群組將被挖出的費率來排序。預設的分群限制為 64 筆交易與 101 kB 的虛擬大小。這項設計旨在在不改變比特幣 400 萬 weight units 這個共識上限的前提下,改善區塊建構、淘汰、交易轉送與取代決策。

一張展示 Bitcoin Core 的 cluster mempool 概念的圖示。其他工程工作也在嘗試降低將完整區塊在網路中傳送的成本。compact block relay 讓節點可以基於它已持有的交易,重建一大部分新的區塊,從而減少傳播所需的資料量與時間。這很重要,因為傳播較慢可能會提高風險:兩位礦工在短時間內分別建在不同的鏈頭上。更多的區塊容量或許能降低短期費用壓力,但也可能增加頻寬、驗證與傳播需求。

實務上的教訓很簡單:當某個比特幣區塊已滿,沒有任何東西會出現「壞掉」,也沒有交易因為等待而獲得優先等級。礦工會確認那些能夠適合且在經濟上最具吸引力的有效套件;較便宜的付款則會維持待確認狀態,接著被重新定價或失去轉送觸達範圍。對投資者與企業而言,費用不是郵票式的固定成本。它是對稀缺結算空間的出價。把確認時間視為機率,並在例行性的延遲變成昂貴的營運問題之前,先觀察目前的費用狀況。

英雄/特色圖片來源:mempool.space

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 打賞
  • 回覆
  • 轉發
  • 分享
回覆
請輸入回覆內容
請輸入回覆內容
暫無回覆