Go-Ethereum

如果已經處理的事務再次送出到網路會發生什麼?

  • May 12, 2018

我有一個腳本,它使用 JSON RPC API 呼叫自動將事務發送eth_sendRawTransaction到啟用了 RPC 的節點。

我的問題是,如果我在處理完這些交易後多次發送這些交易(可能有很多,順便說一句)會發生什麼?

可以說,我的腳本有錯誤,或者我儲存sent交易狀態的數據庫被刪除,並且不知何故我再次重新送出了許多(已經處理並儲存在區塊鏈上)原始交易?我基本上想知道我第二次送出這些交易是否會賠錢?礦工可以在報告錯誤的同時處理它並收取費用嗎?

邏輯表明,我不應該多次送出交易,因為noncetransaction hash是唯一值,但我想確定這一點。此外,如果重新送出已處理的交易不花錢,這是否會成為對乙太坊主網的潛在 DDoS 攻擊?比如,重新送出區塊鏈已經處理的所有交易?

對於每個發送者地址,具有一定隨機數的交易只能被探勘一次。您不會損失任何金錢,但其他節點可能會與您斷開連接,因為他們可能認為您在發送垃圾郵件。

當乙太坊節點收到交易時,它不會立即將其重新廣播到其所有連接。您將無法使用此方法對網路進行 DDoS 攻擊。

這是您再次重新送出交易時得到的結果:

Error: nonce too low

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