Transactions

當兩個節點有衝突的事務隨機數時會發生什麼?

  • June 6, 2018

假設我有兩個 geth 節點,它們在兩個遠端網路上執行,它們之間的連接速度很慢,我使用同一個新創建的地址(私鑰)與兩個 geth 節點發送兩個不同的事務。由於每個節點都是一個新地址,因此兩個交易都設置為 0 並進入掛起狀態並廣播到網路。那麼當兩個待處理的交易廣播相互到達時會發生什麼?交易池將如何處理來自同一地址且具有相同 nonce 的兩個不同交易?

其中一個將首先考慮使另一個無效。

在您的範例中,節點 A 獲得其中一項交易,而節點 B 獲得另一項交易。假設該區塊被 B 挖出,那麼 A 將收到新區塊並立即丟棄 nonce 為 0 的待處理交易,因為現在它是無效的。請注意,A 從最後一個開采的區塊中獲取“新”地址的正確隨機數。

希望這可以幫助

引用自:https://ethereum.stackexchange.com/questions/50572