比特幣區塊容量在達到 400 萬權重單位後觸發費用拍賣

比特幣區塊會被共識限制為 400 萬 weight units,迫使在容量滿載時,手續費率較低的交易需要等待。截至週一美東時間上午 8 點,約有 90,617 筆未確認轉帳正在 mempool(記憶體池)中排隊。這項限制觸發一種以手續費為基礎的拍賣機制,礦工會優先選擇提供較高 satoshis per virtual byte(sat/vB)費率的交易,不考慮送交時間。每個 Bitcoin Core 節點都會維護自己的本地 mempool,預設容量為 300 MB,並可保留交易長達 336 小時,因而形成去中心化的系統;並不存在單一的通用交易佇列。Bitcoin Core 31.0 引入 cluster mempool 架構,以改善節點在本地記憶體限制達到時,如何對已連結交易進行分組、排序與剔除。

比特幣區塊強制執行 400 萬 weight unit 共識上限

完整區塊與完整 mempool 是兩個不同的事件。比特幣區塊在共識層面被限制為 400 萬 weight units;這是一種會考量交易資料結構方式的度量。Bitcoin Core 節點預設允許其本地 mempools 使用約 300 MB 的記憶體,並可保留交易最長達 336 小時。即使記憶體中仍有大量交易等待確認,區塊仍可能先被填滿。

一筆交易首先進入某個節點的 mempool,這是暫時的持有區,用於尚未被確認、但有效的付款。每個節點都保有自己的版本,套用各自的本地政策,並可能看到略有不同的待處理交易集合。比特幣網路上不存在單一、通用的 mempool。

獨礦工依 satoshi per virtual byte 的手續費率優先交易

礦工通常不會依年齡(交易送出的先後時間)來挑選交易。他們會依照手續費、交易 weight 以及付款之間的相依關係,建立區塊模板。使用者實際看到的單位是 satoshis per virtual byte,也就是 sat/vB。費率越高,礦工在相同稀缺的區塊空間下能獲得越多收入,因此最有力的費用組合往往會先被推進。

先送出的付款可能會在幾分鐘後送出的付款之後才被確認。高手續費交易可能在網路中廣泛擴散,並落在礦工下一批區塊模板中。低手續費交易則可能長時間停留在臨界門檻以下;即使跨過了好幾個區塊也是如此。確認估計能提供參考,但並非保證,因為新交易會持續到來,而區塊本身也會以不規則的間隔出現。

當足夠多的待處理交易在每一個區塊名額上競爭時,mempool 就會變成競爭性的環境。新的、更能出得起價的交易可能會把較弱的出價(bids)擠掉。如果某個 Bitcoin Core 節點達到其設定的記憶體上限,它會裁剪經濟上最脆弱的一組連結交易,並提高滾動式的本地手續費下限。被剔除的交易並不無效,區塊鏈也沒有取消它;只是該節點停止再替它承載。

延遲確認讓針對時間敏感的轉帳產生作業風險

對一般使用者而言,第一個後果是延遲。錢包可能會表示一筆付款已「等待」好幾小時,而更新的交易卻已被確認。對交易員、交易所或資金調度(treasury)席位而言,這種延遲可能會推遲一筆交易所入金、拖慢抵押品移動、打斷套利轉帳,或在快節奏市場中使資金在一段時間內處於不可用狀態。

由於手續費主要取決於交易 weight,而非所轉帳的金額,因此一筆 50 美元的付款與一筆價值 500 萬美元的轉帳,當它們的交易結構可比時,可能會在相近的條件下競爭。轉帳越是時間敏感,被低估手續費所帶來的成本就可能越高。

第二個後果是更高的手續費市場。比特幣沒有協定層級的 base fee。相反,使用者會彼此競爭,讓自己的手續費率能夠落在下一個區塊中;同時每個節點也會維護一個本地的接入門檻(admission floor)。在壓力之下,這個動態門檻可能會遠高於軟體基本的轉送(relay)設定。

第三個後果是在結算前的不確定性。看到交易出現在區塊瀏覽器(block explorer)中,只能證明有些節點知道它,而不是所有礦工都知道。未確認的付款可能會被取代、被剔除,或在某個節點的視角中消失,同時仍然是合法的、可能被花費(spend)的項目。若企業在未確認數為零時就放貨、入帳,或把存款視為最終結果,等於是在接受:一旦擁塞情況加劇,風險會變得更可見。

比特幣提供三種讓卡住交易加速的手續費調整方式

比特幣本身給使用者兩種主要方式來重新定價一筆延遲付款。Replace-by-fee(RBF,按手續費替換)允許出款方用一筆手續費更高的交易取代一筆尚未確認的交易。Child-pays-for-parent(CPFP,子交易支付父交易)則走另一條路:延遲交易中的一個可花費輸出,會被用於建立一筆新的高手續費子交易,從而讓礦工有動機把父交易與子交易一起納入。

這兩種工具都不是自動的。RBF 的替換必須符合節點政策,並且要付出足以同時超越被取代的那筆交易,以及目前市場水位的手續費。CPFP 的子交易必須把整組封包(整體)的合併費率拉高,而不只是看起來在子交易本身上很貴。真正的目標不是最低的轉送手續費;而是下一個可能區塊尾端附近的費率。

在這兩種選擇之外,所謂的挖礦加速器(mining accelerators)是部分比特幣挖礦礦池提供的服務,讓使用者在其交易因低手續費卡在 mempool 中時,能夠提交以供優先考量。加速器並不改變比特幣的共識規則;它只是請求參與的礦工把該交易納入他們接下來挖出的某個區塊。一些加速器是免費的,但有資格條件;另一些則會收取費用,或要求交易必須達到最低手續費率。例如 ViaBTC 的轉帳加速器每小時提供 20 次免費推送。

Bitcoin Core 31.0 實作 cluster mempool 架構

Bitcoin Core 31.0 改變了交易選取背後的一些機制。其 cluster mempool 會把彼此連結的未確認交易分成一組,並依照預期該組會被挖進區塊的費率進行排序。預設的 cluster 上限為 64 筆交易與 101 kB 的虛擬大小(virtual size)。這個設計目的是在不改變比特幣 400 萬 weight units 共識上限的前提下,提升區塊建構、剔除(eviction)、交易轉送(relay)與替換判斷的效率。

其他工程工作則試圖降低把完整區塊在網路中傳送所需的成本。緊湊區塊轉送(compact block relay)讓節點能夠從它先前持有的交易中重建大部分新的區塊,從而減少傳播所需的資料量與時間。這點很重要,因為較慢的傳播可能會提高風險:讓兩個礦工在短時間內分別基於不同的鏈提示(chain tips)來建立區塊。

常見問題(FAQ)

當比特幣區塊達到其 400 萬 weight unit 上限會發生什麼?

當比特幣區塊達到其 400 萬 weight unit 共識上限時,礦工會依照以 satoshis per virtual byte(sat/vB)衡量的費率優先選擇交易。提供更高費用的交易會先被選入,而費率較低的交易仍會留在 mempool 中,等待後續區塊。區塊上限不會使待處理交易無效;它們仍會在每個節點的本地 mempool 中等待,且預設可保留長達 336 小時。

Bitcoin Core 31.0 的 cluster mempool 如何改善交易處理?

Bitcoin Core 31.0 引入 cluster mempool 架構:會把彼此連結的未確認交易進行分組,並依照預期該組會被挖進的費率排序。預設的 cluster 上限為 64 筆交易與 101 kB 的虛擬大小。此設計能在不改變比特幣 400 萬 weight units 的共識區塊上限的前提下,改善區塊建構、剔除決策、交易轉送,以及替換處理。

加速卡住的比特幣交易有哪些三種方法?

比特幣使用者可以用三種手續費加速方式處理卡住的交易:Replace-by-fee(RBF)允許出款方用一筆手續費更高的交易取代一筆未確認交易;Child-pays-for-parent(CPFP)會在延遲交易中使用一個可花費輸出,建立一筆新的高手續費子交易,透過提高誘因讓礦工把兩者一起納入;而部分礦池提供的挖礦加速器(例如 ViaBTC 每小時提供 20 次免費優先推送)則會請求參與的礦工把該交易納入他們下一批挖出的區塊中。

免責聲明:本頁面資訊可能來自第三方來源,僅供參考,不代表 Gate 的立場或觀點,亦不構成任何財務、投資或法律建議。虛擬資產交易具有高風險,請勿僅依賴本頁資訊作出決策。詳情請參閱 免責聲明
回覆
0/400
暫無回覆