Solidity

源自一個賬戶的交易是否按隨機數順序開採?

  • December 16, 2017

另一個執行緒中的討論提出了一個有趣的觀點。同一賬戶的新區塊中可以包含多少交易?

自從

  1. 礦工可以選擇從他們正在處理的區塊中省略已知交易
  2. 礦工無法同時了解待處理的交易

是否可以得出這樣的結論:從同一節點送出的交易或多或少同時(並且具有升序的隨機數)不一定按隨機數順序開採?

該協議要求來自單個帳戶的交易以 nonce 順序執行。一個賬戶仍然可能有許多待處理的交易,只要隨機數是連續的,礦工可以在一個區塊中包含任意數量的交易,只要它們按順序執行。

不能保證不同賬戶發出的交易的順序。

交易是獨立處理的,並且沒有任何明確依賴於在一個塊中序列化的任何其他交易。IOW 礦工並不關心一堆待處理的交易可能來自同一個來源,並且該來源希望讓它們以特定的順序序列化。礦工將隨心所欲地序列化待處理的交易。如果某些交易依賴於任何尚未驗證的交易,那麼這些交易將失敗。

對於合約呼叫另一個合約的內部交易,情況並非如此,因為它仍然只是一個交易。

因此,使用者對任何單個區塊發起任意數量的交易都沒有錯,只要它們是獨立的

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