什麼是內存池,它們是如何工作的?

2023-07-27, 06:33

[TL; DR]

mempool的主要功能是在交易被驗證之前存儲它們。

比特幣和 以太坊 是使用內存池的區塊鏈的例子。

區塊鏈擁堵是交易長時間卡住的主要原因。

如果您希望交易快速進行,請使用適當的燃氣費用。

介紹

我們經常在各種區塊鏈上進行交易,比如 以太坊 而比特幣,但我們可能不完全理解它們的一些技術性。然而,瞭解區塊鏈的某些組件如何工作可能有助於加快我們的交易速度或降低其成本。

在這個分析中,我們討論了區塊鏈中的內存池(Mempool)及其工作原理。我們還將解釋如何處理比特幣和以太坊網絡上的待處理或延遲交易。

閱讀也: 什麼是區塊鏈瀏覽器?

什麼是Mempool?

內存池 內存池的簡寫形式 是一個用於存儲未確認交易等信息的節點空間。它充當著尚未得到確認或批准的交易的候車室。請記住,只有在交易經過驗證或批准後,才會被納入一個區塊中。

換句話說,mempool是一個空間,待處理的交易在添加到區塊之前等待。

當交易被驗證時,這意味著區塊鏈上的所有節點都可以訪問信息。然而,在交易獲得批准之前,各個節點會驗證簽名,檢查輸出是否不大於輸入,並確保系統尚未發送數字資產。如果其中任何一個條件不滿足,驗證者或礦工將拒絕該交易。

重要的是要理解,區塊鏈沒有單一的內存池。因此,區塊鏈網絡上的每個節點都有自己的內存池,也稱為交易池。因此,各個節點的內存池構成了集體的區塊鏈內存池。

例如,發生在 Gate.io 平臺上的交易 比特幣 網絡上的交易不直接添加到區塊鏈中。每個節點將交易存儲在一個臨時的交易存儲區(稱為mempool或txpool)中。因此,它們形成了一個需要被檢查和驗證的隊列。

因此,我們可以簡單地將mempool定義為一個有序的交易隊列,這些交易需要被排序並添加到一個區塊中。

節點中的內存池(Mempool)- Babypips

請記住,在交易被確認或打包進區塊之前,它們只存在於內存池中。在上面的圖表中,藍色部分表示節點內存在的內存池空間。下一個圖表展示了網絡中內存池的分佈。

比特幣網絡中的完整節點具有內存池 - Babypips

如上圖所示,比特幣或以太坊等網絡中的每個完整節點都有一個內存池。然而,每個交易都將在網絡節點中廣播,如下圖所示。

比特幣節點網絡 - Babypips

正如我們在圖中所示,紫色用戶發起的比特幣交易將在審核前存儲在內存池中。值得注意的是,一旦交易被驗證,它就會像下一張插圖所示的那樣被添加到一個塊中。

將交易添加到文件(塊) - Babypips

圖中藍色箭頭顯示了當交易被驗證時發生的情況,它會從交易池移動到一個區塊中。在這個階段,所有計算機都將擁有已確認交易的更新文件。

Mempools是如何工作的

通常,內存池的工作方式並不完全相同。它們的運行方式取決於每個區塊鏈的架構。換句話說,它們的工作方式取決於網絡的共識機制類型。交易要麼由驗證節點,要麼由礦工進行驗證,具體取決於網絡的類型。

舉個例子,比特幣區塊鏈上的交易由礦工驗證,因為它使用工作量證明共識機制。另一方面,以太坊網絡上的交易由驗證者批准,因為區塊鏈使用權益證明共識機制。

閱讀更多: 重塑以太坊和潛在的網絡健康問題

比特幣網絡每筆交易需要至少六個確認,而以太坊區塊鏈需要至少七個確認。基本上,內存池中的每個交易都有特定的狀態。它要麼是待處理的,要麼是排隊的。當驗證者或礦工驗證一個排隊的交易時,它就變成了一個待處理的交易。

閱讀也: 比特幣閃電網絡是什麼?

讓我們看一個簡單的例子,當您向朋友發送ETH時會發生什麼。該過程涉及輸入錢包地址,設置燃氣費用和 確認交易.

一旦您執行這些操作,您的交易將進入隊列,等待驗證。在那時,它將被廣播到整個節點網絡,但它尚未成為任何區塊的一部分。

如果驗證者檢查交易並發現它滿足所有條件,它將從排隊狀態移動到待處理狀態,並等待確認。然後,其中一個驗證者從內存池中提取交易並將其添加到新區塊中。

在那個階段,有幾個驗證者批准了這一點,這使得您的朋友可以收到ETH。

讓我們總結一下內存池動態

步驟1:發送者輸入目標地址,接受網絡交易費用並點擊“發送”

STEP 2:交易被添加到最近的內存池並排隊。

步驟3:內存池數據被廣播到網絡中的其他節點。

第四步:一個節點批准了交易,其狀態從排隊中變為待處理。

第5步:礦工選擇待處理的交易並將其添加到一個區塊中。

步驟6:其餘節點從其內存池中刪除該交易。

第7步:交易完成,資產進入目標錢包。

現在您瞭解了在處理交易時延遲的原因,讓我們來看看一些交易被卡住的原因以及您可以採取的行動。

交易在內存池中停滯的原因

交易被卡在內存池中的主要原因是網絡擁堵。當交易量很大時,可用的區塊空間受到壓力,從而觸發內存池積壓。如果掛起的交易數量超過塊中的平均交易數量,則會發生這種情況。

一些影響區塊鏈交通水平的事件和新聞可能會導致網絡擁塞。例如,空投、在更多交易所上市或新的合作伙伴關係可能會導致擁塞。然而,有一些因素可以使節點優先處理某些交易。

交易費用 不同交易附加的費用確定了首先得到批准的交易。由於礦工和驗證者是出於利潤驅動,他們優先處理具有較高費用的交易,因為這使他們能夠獲得更高的獎勵。

因此,礦工和驗證者根據每字節的費用(例如satoshis/byte)在其內存池中組織交易。最後,他們首先將具有最高費用的交易添加到區塊中。這個系統迫使用戶為他們的交易設置高費用。

儘管如此,根據網絡流量的情況,用戶可以設置最佳的燃氣費用,並且仍然能夠及時確認他們的交易。對用戶來說重要的是,在設置自己的燃氣費用之前,檢查歷史數據、網絡擁堵、交易量和mempool中的費用分配等因素。

確認時間 用戶在設置費用之前,可能還需要檢查確認時間。當確認時間較長時,意味著礦工和驗證者優先處理高費用的交易。實質上,當內存池擁塞時,低費用的交易將需要更長時間才能完成。

區塊空間 區塊空間還決定了交易獲得批准之前經過的時間。由於區塊空間始終有限,礦工和驗證者優先考慮具有更高費用的交易。這意味著具有較低費用的交易在內存池中花費更多時間。

內存池大小和驅逐 要添加到區塊的每個交易都是以千字節為單位的數據塊。因此,大型內存池可容納許多交易。通常,節點設置其內存池的大小,比特幣通常為300MB。當內存池達到閾值時,節點可能會設置最低交易費用。

當用戶瞭解這種動態時,他們可以很容易地設置交易費用並在合理的時間內獲得批准。例如,他們可以在低吞吐量期間避免過度支付,或者在高峰時段進行時間敏感交易時避免支付不足。他們還可以近乎正確地猜測他們的交易將被驗證的速度。

為什麼交易會在內存池中卡住

往往情況下,交易因為多種原因被卡在內存池中,但大多數與油費有關。然而,一些交易被卡在內存池中的最大原因是網絡擁塞。當出現擁堵時,高手續費的交易首先通過,其餘的則被卡在那裡。

因此,在網絡高峰期增加交易費是最好的選擇。這是因為在擁堵時,燃氣費會激增。因此,如果您在繁忙時段處理交易,您應該將您的費用與其他網絡用戶支付的費用相匹配。

交易被卡在內存池中的另一個原因是哈希率下降。當網絡沒有足夠的物理計算能力來執行大量未決交易時,我們稱哈希率下降。

如何從內存池釋放您的交易

當您的交易停留在內存池中時,您有幾個選擇。第一個選擇是取消交易。在這種情況下,您將需要支付另一筆交易費用。例如,您可以使用相同的nonce重新發送交易。

其次,您可以選擇通過將您的Ledger連接到MetaMask或Electrum等第三方錢包來加快交易速度。然而,您將需要支付更多費用。

第三個選擇是再等一會兒,讓交易順利完成。這樣做可以等待網絡流量減少,從而使您的交易無需額外費用地完成。

比特幣中的內存池

發送到比特幣網絡的交易並不會立即添加到區塊鏈中。它們首先進入內存池。過去,這類交易只需要以每字節的聰的費用來衡量。

然而,在SegWit升級之後,這種情況發生了變化,使得交易可以以權重單位衡量。好處是segwit功能允許比以前更多的數據添加到一個區塊中。具體來說,每個區塊有2MB的數據,儘管它可以增加到4MB。

以太坊內存池

最初,以太坊網絡在驗證之前需要將交易加入內存池中。然而,當區塊鏈從工作量證明共識機制轉移到權益證明機制時,引入了區塊生成者的概念。

基本上,區塊構建者是將交易編譯成優化的交易捆綁,形成一個塊的第三方參與者。在這種情況下,第三方實體將某些交易從內存池中編譯或重新排序成捆綁。然後,他們將交易捆綁提供給驗證者,以便將其包含到塊中。第三方實體會因完成這些任務而獲得獎勵。

結論

總之,內存池是區塊鏈節點在交易被驗證之前臨時存儲交易的空間。在以太坊中,交易在內存池中停留的時間取決於諸多因素,比如網絡擁堵和燃氣費。比特幣和以太坊區塊鏈都使用交易池。

有關內存池的常見問題解答

什麼是內存池?

內存池是指待處理交易在被加入區塊之前等待的空間。一旦交易被驗證,它就會被加入區塊,而這個區塊存在於區塊鏈上。

在內存池中會發生什麼?

當一些交易在內存池中時,一些驗證者或礦工會選擇它們並將其添加到區塊中。然而,如果網絡擁塞,一些交易可能會在隊列中等待或掛起很長時間。

BTC內存池是什麼?

BTC內存池是Bitcoin網絡上處理的交易的等待區。通常,每個比特幣區塊鏈節點都有自己的內存池。

以太坊中的內存池是什麼?

以太坊中的內存池是存儲交易的空間,這些交易在確認之前存儲在以太坊節點上。這些交易確認之前的時間取決於以太坊網絡在某個時期內的流量。


作者:Mashell C., Gate.io研究員
本文僅代表研究人員的觀點,不構成任何投資建議。
Gate.io保留本文的所有權利。在引用Gate.io的前提下,轉載文章將被允許。在所有情況下,由於侵犯版權而採取法律行動。


分享一下
目錄
gate logo
Gate
即刻交易
加入 Gate 贏取獎勵