How we prove the draw was fair.
A draw is verifiable when the public can check the inputs, repeat the logic, and reach the same winner. This is the plain-English version of how Surewina intends to make draws auditable.
Commit before
The seed hash is published before the draw. That makes it hard to switch the seed after seeing the ticket list.
Reveal after
The original seed is revealed after the draw so the public can check it against the earlier hash.
Re-run the result
With the same seed and ticket list, the same selection process should reproduce the same winning ticket.
The core idea
We publish the lock before showing the key.
The seed hash is the lock. The revealed seed is the key. If they match, the seed was not changed after the fact.
This does not ask players to “just trust us.” It creates a trail: what was committed before the draw, what was revealed after the draw, and what winner the process produced.
- Seed hash committed before selection
- Eligible tickets locked before selection
- Winner produced from deterministic logic
- Seed revealed after result publication
Verification flow
The five stages.
Every draw should follow the same path: commit, close, select, reveal, archive.
Before the draw
Seed commit
A random seed is generated before the draw. We publish a hash of that seed before the draw runs, so the seed cannot be quietly changed afterwards without the hash changing too.
Technical record
Public record: drawCode, scheduledAt, seedHash, commit timestamp.
Before winner selection
Ticket sales close
Ticket sales close before the draw runs. The eligible ticket list is locked so that no ticket can be inserted after the result is known.
Technical record
Public record: drawCode, ticket count, close timestamp, eligible ticket references or inclusion proof.
At draw time
Deterministic selection
The committed seed is used with the locked ticket list to select a winning index. The same inputs should always produce the same winner.
Technical record
Verification idea: same seed + same draw code + same ticket list = same winning index.
After the draw
Seed reveal
After the winner is selected, the original seed is revealed. Anyone can hash the revealed seed and check that it matches the pre-draw seed hash.
Technical record
Verification check: hash(revealedSeed) must equal the published seedHash.
After publication
Public archive
The winning ticket reference, draw time, seed hash, and verification data are kept in the public results archive.
Technical record
Archive fields: drawCode, executedAt, winnerTicketRef, seedHash, revealedSeed, ticketCount.
Treat it as a formal dispute.
If a public verification record does not match the published result, raise it through the dispute process with the draw code and evidence.