3

How many transactions could be included in the next new block from the same account? From my understanding, every transaction would have a unique nonce. This nonce of an account would be increased by 1 for every transaction? So I wonder if it can just have at most 1 transaction from the same account.

5

Transactions with ascending nonces can be included in the same block, so there's no particular limit on the number of transactions from the same account.

  • In one condition, I assumed I submitted a transaction with nonce 10 from an account in one node, then I used the same account in another node (I thought the nonce was also 10, is correct?)? – Eleven Mar 21 '17 at 3:34
  • If you use the same nonce twice only one of the transactions will be mined. The node you're talking too should normally keep track of transactions that haven't been mined yet, so if you change node partway through, you may try to send with a nonce that another transaction is trying to use. – Edmund Edgar Mar 21 '17 at 7:21
3

Multiple transactions/block is fine. Throughput is ultimately limited by the block gasLimit. More on block gasLimit here: https://bitcoin.stackexchange.com/questions/39132/what-is-gas-limit-in-ethereum

Additionally, blocks, too, have a field called gas limit. It defines the maximum amount of gas all transactions in the whole block combined are allowed to consume. Similar to the maximum block size in Bitcoin (measured in bytes), its purpose is to keep block propagation and processing time low, thereby allowing for a sufficiently decentralized network. In contrast to Bitcoin, it is however not a constant. Instead, miners have the option to increase or decrease it every block by a certain factor. [3]

[1] See the Yellow Paper for a breakdown of operations and the respective gas costs (Appendices G and H)
[2] https://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees
[3] See the Yellow Paper Equations 40 to 42 for the exact rules
  • "So, if the order of events matters then you need to wait for the first to be mined before dispatching the second. Wait for it, then send number three, and so on. ": Shouldn't be necessary if using the same account, the nonce should guarantee the ordering, no? – Edmund Edgar Mar 21 '17 at 7:17
  • Not my understanding, because miners can decide if a transaction is included in a block. I don't think the order of the transactions in a block is deterministic until mining. – Rob Hitchens - B9lab Mar 21 '17 at 16:23
  • A tx with an out-of-order nonce should be invalid, iiuc. So if you send them 1, 2, 3, they can't mine 3 without first mining 1 and 2. – Edmund Edgar Mar 21 '17 at 21:26
  • I opened a question on this topic ethereum.stackexchange.com/questions/13376/… – Rob Hitchens - B9lab Mar 22 '17 at 1:06
  • @EdmundEdgar I've changed my answer in light of your feedback and Nick Johnson in 13376. Thanks for that! – Rob Hitchens - B9lab Mar 24 '17 at 15:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.