Topics 區塊鏈

比特幣內存池:未確認交易會怎麼樣?

高級
區塊鏈
比特幣
26 oct. 2021

比特幣是一個加密貨幣網絡,使用戶能夠在世界任何地方發送和接收電子支付。沒有實物比特幣,也沒有持有比特幣的賬戶。相反,比特幣是一種電子現金形式,用戶可以使用比特幣區塊鏈進行點對點 (P2P) 交易,後者是一種電子賬本。區塊鏈由節點不斷更新,節點在整個網絡中共享更新後的餘額和數據。然而,在交易添加到區塊鏈之前,他們必須前往Mempool。

比特幣交易如何運作?

在我們到達 Mempool 之前,我們先來瞭解一下比特幣交易的運作方式。所有比特幣交易均爲待處理交易,在確認前僅存在於 Mempool 中。每當用戶發起比特幣交易時,它都會透過加密方式簽名併發送到比特幣網絡,等待礦工驗證交易並將其添加到區塊鏈。每筆經過驗證的交易均可在公共賬本上公開訪問,以便透明地記錄和分發到每筆比特幣交易的賬本,而無需被操縱。

區塊鏈技術使去中心化成爲可能,但它具有侷限性。例如,比特幣網絡每秒或 TPS 處理約 4.6 次交易。與處理 1,700 TPS 的 VisaNet 進行比較。雖然一些調整可能會提高區塊鏈技術的可擴展性,但系統仍然相對較慢,這導致了高昂的費用和偶爾的延遲,特別是在交易量較大的時期。

區塊鏈最初旨在讓比特幣在沒有銀行、政府監督、監管機構或其他中央機構的情況下運作。雖然比特幣不需要外部機構來運作,但它仍然需要能夠透過加密密鑰驗證交易。

比特幣的公鑰加密貨幣可以作爲用戶的身份證明,使用戶能夠訪問錢包或賬戶,主要是爲了確保交易的完整性。每位用戶都有一個私鑰供自己使用,還有一個公鑰可供系統上的每個人查看。這些密鑰共同充當數字簽名,用於認證交易。

當兩名用戶就特定交易達成協議時,下一步就是授權。每筆交易必須獲得授權,才能添加到區塊鏈。這是透過共識達成的,這意味着網絡計算機等所有去中心化方,或節點化方必須客觀地同意交易是授權和有效的。節點的所有者(礦工)會透過工作共識證明或 PoW 來驗證未確認的交易,這需要他們解決加密問題或複雜的數學難題。

問題解決後,交易將得到驗證,並可以添加到區塊中。當比特幣區塊被填滿時,它將被添加到區塊鏈中,稱爲定稿,下一個區塊將被打開。

什麼是比特幣 Mempool?

mempool 或內存池是一個虛擬等候室,用於收集有效的待處理交易,直到礦工處理後將其添加到下一個區塊。 每個節點維護自己的 Mempool,每個節點都有自己的存儲容量,可用於未確認的交易。交易確認幷包含在區塊中後,交易將從 Mempool 中移除。 

節點透過相互中繼已簽名的交易來共享 Mempool 數據,直到其到達整個網絡。當整體線軸在交易量大時達到滿負荷時,節點會根據高於門檻費用的競標手續費確定交易優先級。任何低於門檻費用的交易都將從 Mempool 中移除,只有費用達到最低要求的新交易纔會重新添加到 Mempool 中。 換言之,更高費用的交易優先處理並從 Mempool 中清除,並添加到區塊中。

比特幣的 Mempool 與交易費之間的關係

如果我們將線軸視爲等候室,當它擁擠時,交易量會很高,等待清算。通常情況下,交易在經過驗證並添加到區塊時會順暢地進出 Mempool,但偶爾,Mempool 可能會變得擁堵。

充血時期通常可以追溯到交易量大或交易哈希突然減少。在此期間,Mempool 擁堵,可能會發生延遲,導致費用增加。

「交易哈希」一詞是指區塊鏈挖礦難度。此時,可能沒有足夠的礦工來應對區塊鏈的複雜性或擁堵。因此,某些交易必須等待更長時間才能確認。

每筆比特幣交易都位於 Mempool 中,直到交易準備好確認,但沒有單一的、整體的 Mempool。每個節點都有其關聯的 Mempool,默認情況下,Mempool 通常不超過 300 MB。

當 Mempool 擁堵時,用戶可以選擇支付更高的手續費,從而將交易推送到交易前線,以便更快地確認。另一方面,手續費較低的交易將保留在Mempool中,在擁堵消除之前,它們將保持不變。同樣,在交易量較低時,在擁堵程度最低的情況下,手續費也相應較低。提幣並添加到確認的交易區塊後,交易將從 Mempool 中移除。

您可以在查看您的 BTC 交易狀態。

瞭解 Mempool 規模和交易數量

以字節爲單位的 Mempool 大小是一個用於估算擁堵持續時間的指標,而 Mempool 交易計數圖可清晰顯示導致擁堵的交易湧入情況。線軸大小通常越大,網絡越擁擠,平均確認時間越長,交易添加到區塊所需的優先級費用也越高。但是,如果線軸大小下降,則表示節點已收到新的有效區塊,最終將區塊中包含的待處理交易從線軸中移除。 

通常情況下,線軸大小可能會波動,具體取決於被中繼的交易數量。由於每個節點還根據其存儲未確認交易的能力自行呈現待處理交易,因此這也解釋了爲什麼線軸大小會有所不同。

相反,如果mempool交易數量增加,則表示mempool中未確認交易的總數正在激增。因此,會產生更高的手續費。例如,在 2021 年 10 月 4 日,比特幣的 Mempool 包含 4.25,000 筆待處理交易,平均交易費用爲 $2.45。與 2021 年 10 月 25 日相比,Mempool 交易量達到 6,600 筆高點,平均交易手續費爲 $3.09。

您可以在查看當前費率。

交易超負荷該怎麼辦?

在交易高峯期,比特幣網絡最終可能會產生大量交易積壓,從而增加等待時間並增加交易費用。當需求超過供應量時,礦工在選擇將首先處理哪些交易方面有很大的餘地。在此類情況下,即使是支付過大手續費的用戶也可能等待更長時間。

導致積壓的幾大因素,包括比特幣區塊鏈不易擴展這一事實,這意味着它也很容易過載。在處理高擁堵時期時,您可以選擇等待,也可以切換到Lightning Network完成主鏈以外的小額交易,或支付更高的手續費。

交易發送完畢後,您仍然可以選擇一些可以加快交易速度的選項。如果您的交易在隊列中停滯不前,您可以選擇加入「按費用替換」或選擇加入 RBF,從而以更高的手續費重新發送交易。然而,並非所有錢包都支持此選項。如果沒有,您需要考慮其他選擇,例如「父母的子女工資」或 CPFP。使用 CPFP,礦工可以選擇包含最高手續費組合的交易。您還可以使用交易加速器,將每千字節至少 0.1 mBTC 的交易提交至 ViaBTC 礦池進行優先確認。

最後,您可以使用 Lightning Network,這是一種 Layer 2 解決方案。Lightning Network 支持您打開新渠道,完成傳統比特幣網絡所需的鏈外交易,然後在交易透過驗證後關閉支付渠道。使用閃電網絡時,您基本上可以跳過擁擠的隊列,費用也可能大幅降低。

如果 Lightning Network 或任何其他解決方案都不是期權,請放心,即使交易卡住,您的比特幣也不會丟失。交易確認前,您的錢包中仍會保留。

那麼,如果 Mempool 不存在該怎麼辦?

每筆交易都必須經過線軸,然後才能將其添加到區塊鏈。在高流量和擁堵時期,Mempool 會收集和存儲交易,直到礦工可以將交易添加到區塊。

此外,Mempool 還支持節點訪問其他節點的 Mempool,從而在確認前爲其提供特定交易的更多詳細信息。雖然大多數用戶希望在 Mempool 中花費盡可能少的時間,但這並不總是可行的,特別是當交易到達時,無法及時清算。挖礦區塊時,其中包含的所有交易都將從 Mempool 中清除,從而相應減小 Mempool 的大小。

如果沒有 Mempool,節點將無法查看傳入的交易,他們不知道區塊鏈網絡有多擁擠。無法理解或查明交通擁堵、高手續費和其他擁堵相關問題的來源。

結語

等待交易清算可能會令人沮喪。雖然您可能會受到指責,但這是比特幣網絡的一個關鍵功能,因爲它用於聚合和持有交易,直到準備好添加到區塊鏈。瞭解 Mempool 的運作方式可以幫助您利用它來確保交易準時處理,如果交易失敗,還可以減少您的沮喪情緒。