Mempool
記憶體池是如何工作的?當網路上有兩條長度相等的鏈時,記憶體池會發生什麼?
是只有一個記憶體池還是每個節點都保留一個記憶體池的副本?
據我了解,每個節點都需要保留記憶體池的副本。
如果這是真的,那麼記憶體池共識是如何達成的?需要達到嗎?
當網路上有兩條同樣長的鏈時,記憶體池交易會發生什麼?
如果我的賬戶中有 BTC 並將其發送給某人,但在此期間網路上有兩條同樣長的鏈,會發生什麼?
當其中一條鏈被拒絕時,BTC 是否有可能永遠失去在記憶體池中?
是只有一個記憶體池還是每個節點都保留一個記憶體池的副本?
兩者都不。每個節點都有自己的交易記憶體池,他們希望看到確認。它不是副本,因為節點之間沒有一致性。
據我了解,每個節點都需要保留記憶體池的副本。
不,記憶體池是完全可選的。您可以將節點配置為根本不保留一個。唯一的缺點是在交易確認之前你不會知道交易。
如果這是真的,那麼記憶體池共識是如何達成的?
沒有記憶體池共識。如果有,我們就不需要區塊鏈。
當網路上有兩條同樣長的鏈時,記憶體池交易會發生什麼?
節點只有一個他們認為是正確的活動鏈。可能存在競爭鏈,但節點通常會假設他們首先看到的版本會獲勝。如果他們保留一個記憶體池,他們會嘗試在接受它時使其與區塊鏈保持一致,而不是與任何可能的歷史替代版本保持一致。
當其中一條鏈被拒絕時,BTC 是否有可能永遠失去在記憶體池中?
礦工有完全的權力(一起)決定哪些交易被接受到鏈中。你當然有可能發出一個從未被包含在內的交易,但這與鏈被拒絕無關。