Vortex DSE · open challenge
Pick the order
The first thing you learn about distributed systems is that the order messages arrive in determines the state you end up with. It is the reason consensus protocols exist at all.
So: you choose the order.
Three thousand transactions, five nodes. Name any permutation you like — reversed, random, a different one per node. I will run it and publish the ledger hash.
It will be the same hash. It is always the same hash.
Runs so far
3,000 transactions, 5 nodes, identical input set, different arrival order each time.
| Arrival order | Ledger hash | Invariants |
|---|---|---|
| canonical | 88c18c89d2d6b43a | 14 / 14 |
| shuffled, seed 42 | 88c18c89d2d6b43a | 14 / 14 |
| shuffled, seed 999 | 88c18c89d2d6b43a | 14 / 14 |
| shuffled, seed 777 | 88c18c89d2d6b43a | 14 / 14 |
| shuffled, seed 123456 | 88c18c89d2d6b43a | 14 / 14 |
| shuffled, seed 31337 | 88c18c89d2d6b43a | 14 / 14 |
Same set in, same ledger out — with no sequencer, no quorum, and no node asking another node what order to use. The permutation is a Fisher–Yates shuffle of the send order; the set of transactions is untouched.
Send me a number
Pick any integer. It seeds the permutation, so you are choosing an arrival order that nobody — including me — has run before.
- Open an issue with your number in the title.
- I run
--shuffle-seed <your number>against the same 3,000-transaction set. - I post the resulting hash and the invariant count in the thread.
Every run is posted whatever it says. If a seed ever produces a different hash, that result goes up too — a challenge you only publish when you win is not a challenge.
Why this is the interesting part
Ordering is normally something a system has to agree on: elect a leader to assign sequence numbers, or run a quorum round per operation, or stamp everything with a clock and hope the clocks are close. All of that exists because arrival order would otherwise decide the outcome.
If the final state is a function of the set of transactions rather than the order they showed up in, that whole problem stops applying. Nothing has to be agreed, because there is nothing left to disagree about.
A related demonstration you can run yourself, with no numbers to send anyone: order without a clock →