You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
932 B

  1. ---
  2. order: 12
  3. ---
  4. # Mempool
  5. ## Transaction ordering
  6. Currently, there's no ordering of transactions other than the order they've
  7. arrived (via RPC or from other nodes).
  8. So the only way to specify the order is to send them to a single node.
  9. valA:
  10. - `tx1`
  11. - `tx2`
  12. - `tx3`
  13. If the transactions are split up across different nodes, there's no way to
  14. ensure they are processed in the expected order.
  15. valA:
  16. - `tx1`
  17. - `tx2`
  18. valB:
  19. - `tx3`
  20. If valB is the proposer, the order might be:
  21. - `tx3`
  22. - `tx1`
  23. - `tx2`
  24. If valA is the proposer, the order might be:
  25. - `tx1`
  26. - `tx2`
  27. - `tx3`
  28. That said, if the transactions contain some internal value, like an
  29. order/nonce/sequence number, the application can reject transactions that are
  30. out of order. So if a node receives `tx3`, then `tx1`, it can reject `tx3` and then
  31. accept `tx1`. The sender can then retry sending `tx3`, which should probably be
  32. rejected until the node has seen `tx2`.