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 orderLedger hashInvariants
canonical88c18c89d2d6b43a14 / 14
shuffled, seed 4288c18c89d2d6b43a14 / 14
shuffled, seed 99988c18c89d2d6b43a14 / 14
shuffled, seed 77788c18c89d2d6b43a14 / 14
shuffled, seed 12345688c18c89d2d6b43a14 / 14
shuffled, seed 3133788c18c89d2d6b43a14 / 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.

  1. Open an issue with your number in the title.
  2. I run --shuffle-seed <your number> against the same 3,000-transaction set.
  3. I post the resulting hash and the invariant count in the thread.
Open an issue with your number →

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 →