Transactions

是否可以發送比帳戶更多的乙太幣,同時通過同一塊中的另一筆交易進行補償

  • December 29, 2018

是否有可能出現以下情況?

  • 賬戶 A 有 20 個乙太幣,賬戶 B 有 20 個乙太幣
  • 在交易 1 中,賬戶 A 向賬戶 B 發送 25 個乙太幣
  • 在交易 2 中,賬戶 B 向賬戶 A 發送 10 個乙太幣
  • 兩筆交易幾乎同時送出,因此它們將成為同一個區塊的一部分

區塊被開採後,淨效應是賬戶 A 向賬戶 B 發送了 15 個乙太幣。因此兩個賬戶中都有足夠的乙太幣來滿足賬戶餘額。

但是乙太坊基礎設施允許這樣的操作嗎?

這些都是有效的交易,前提是交易 2 在交易 1 之前被開採。

當礦工發現一個區塊時,他們會按照他們選擇的順序包含交易。如果他們恰好選擇事務 2 發生在事務 1 之前,那麼事務 1 將成功。如果他們以相反的順序執行,則事務 1 將不會成功。

您可能使用的許多客戶端不允許交易 1 通過,因為他們正在讀取區塊鏈的狀態並看到您沒有適當的餘額,因此他們將阻止交易發生。您可以通過手動向網路送出交易來避免這種情況。

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