The Problem With "We Drew It Fair"
A rodeo draw decides who rides which animal, and in roughstock events that single assignment can decide the paycheck. When the draw happens in a back office with a spreadsheet, the only evidence of fairness is the word of the person who ran it. That is not a slight against secretaries — it is a structural gap. Good-faith draws and manipulated draws produce artifacts that look exactly the same.
The consequence shows up as protests that cannot be resolved, contestants who quit entering, and sanctioning bodies with no procedural answer beyond re-stating policy. The fix is not more policy. It is making the draw produce evidence.
Commit, Shuffle, Reveal, Seal
1. Commit
Before a single name is drawn, the system generates a secret random seed and publishes only its SHA-256 commitment hash. The hash reveals nothing about the seed, but it permanently locks it in — the seed cannot be swapped later without breaking the hash.
2. Shuffle
The draw itself is a Fisher-Yates shuffle driven entirely by that committed seed. Same seed plus same entry list always produces the same ordering — the randomness is real, but the process is deterministic and reproducible by anyone.
3. Reveal
When the draw is executed, the seed, the entry list, and the resulting pairings are published together. Anyone can hash the revealed seed, compare it to the commitment posted beforehand, and re-run the shuffle to confirm the published results.
4. Seal
Once executed, the draw record is locked at the database level. Seeds, hashes, results, stock assignments, and status fields are protected by triggers that reject modification, so an after-the-fact edit is blocked by the system rather than by policy alone.
Why Fisher-Yates, Specifically
Fisher-Yates is the standard unbiased shuffle: walking the list from the end, each position is swapped with a randomly chosen earlier position, so every possible ordering is equally likely. Naive approaches — sorting by a random key, repeatedly picking until a slot is free — quietly skew the distribution and favor certain positions.
Pairing Fisher-Yates with a committed seed gives two properties at once. The ordering is statistically fair, and it is reproducible: hand the same seed and the same entry list to an independent implementation and it must return the identical draw. Reproducibility is what turns fairness from a claim into a test.
Verifying A Draw Yourself
- Open the public draw record and note the commitment hash posted before execution.
- Take the revealed random seed from the same record.
- Compute the SHA-256 hash of the seed and confirm it matches the commitment.
- Re-run a Fisher-Yates shuffle over the published entry list using that seed.
- Compare your ordering against the published results — they must match exactly.
CALCAR exposes a public verification endpoint that performs this recomputation server-side, and the app also re-derives the result locally in your browser as an independent second check.
What Sanctioning Bodies Should Require Of Rodeo Software
- Pre-draw commitment. A hash published before entries are ordered, not generated alongside the results.
- Published raw inputs. Seed and entry list released so verification does not depend on the vendor.
- Locked records. Executed draws enforced as read-only at the database layer, not by convention.
- Role separation. Draw execution, judging, and record edits held by distinct permissions with an audit trail.
- Public verification surface. A link or API a contestant can check without an account.
Any platform that cannot produce these five artifacts is asking for trust. CALCAR was built so an association can hand a protesting contestant a verification link instead of an explanation.
Common Questions
- Does verification require trusting CALCAR?
- No. Verification is arithmetic. The commitment hash is published before the draw, the seed is published after, and the shuffle algorithm is deterministic. A third party with the same three inputs reaches the same answer without any access to our systems.
- What stops a secretary from re-running a draw they dislike?
- The commitment is timestamped before execution and executed draws are locked against modification. A second draw would carry a different commitment hash and a visible record — it cannot silently replace the first.
- Is this blockchain?
- The guarantee is off-chain cryptographic proof: commit, reveal, recompute. That proof stands on its own math and does not depend on any chain, token, or wallet.
- What does a sanctioning body get out of it?
- A defensible answer to every draw protest. Instead of an assurance, the office hands over a verification link that a contestant, a parent, or a governing board can check independently in seconds.
Run Your Next Draw On The Record
Verifiable draws, live scoring, and public results built for producers and sanctioning bodies that need every assignment to hold up under scrutiny.
