Unconfirmed-Transactions

要確認的交易儲存在哪裡?

  • March 30, 2018

當比特幣客戶端向其連接的完整節點發送交易時,在該交易被確認之前,它儲存在哪裡?在所有完整節點上?

全節點保留一個未確認交易的“記憶體池”,所以是的,但是每個全節點都選擇自己的規則來決定它在記憶體池中保留多少交易,例如最低費用、最大交易數、交易退出前的時間量,等等。因此,並非每個完整節點都會保留每個未確認的交易。如果一個節點在探勘一個塊時其記憶體池中沒有交易,它只會請求該交易。

你的回答是:在記憶體池中。

什麼是比特幣記憶體池?

比特幣記憶體 池是比特幣網路上未經確認的比特幣交易池。一旦在比特幣的區塊鏈上發生比特幣交易,它不會立即添加;相反,它進入了這個動態交易池。

比特幣網路上每個執行的完整節點都連接到這個記憶體池。礦工在各自的節點上工作,從這個記憶體池中整理一堆交易,然後他們嘗試解決一個能源密集型的數學問題。

這些交易的集合被稱為“區塊”,無論哪個礦工首先解決了數學問題,都可以將該區塊添加到比特幣的區塊鏈中。這是對該區塊的首次確認。

這就是記憶體池,但等等!還有更多……

問題是:某些交易如何在其他交易之前從記憶體池中被挑選出來?

比特幣的出塊時間是 10 分鐘,但在確認交易時,我們都會不時遇到極端延遲。

發生這種情況是因為礦工沒有從記憶體池中挑選出我們的交易。

礦工每次成功開採比特幣區塊時,都會中獎 12.5 BTC。但除了這個 12.5 BTC 的固定抽獎之外,礦工還可以獲得額外數量的比特幣,以成功開採一個區塊。該獎金稱為“比特幣挖礦費”。

因此,當礦工成功挖出一個區塊時,他們將獲得 12.5 BTC 加上 X 數量的交易費用,這是該區塊中所有交易費用的累計總和。

這就是為什麼礦工會選擇以更高的交易費用來探勘記憶體池中的區塊的原因。

這就是為什麼我們的比特幣交易有時會“卡”在記憶體池中,直到幾個小時(甚至幾天)後才會被提取。

引用自:https://bitcoin.stackexchange.com/questions/73191