How our draw console picks a winner
A simple explanation of WilderGoat’s method for running fair prize draws using a secure ticket list, open randomness, and a straightforward calculation process.
The draw process, step by step
The simple promise
Nothing hidden. No mystery button.
The WIlderGoat draw console takes a verified list of ticket numbers, locks it with a digital fingerprint, fetches public randomness, then shows the calculation that turns that randomness into a winning ticket position.
What you can see
Locked list
The final ticket list is locked before the draw. If the list changes afterwards, the fingerprint changes too.
Public randomness
The random value comes from a public beacon, not from WilderGoat secretly choosing a number.
Shown working
The console shows the seed, hash, modulo calculation and selected ticket position.
The console is designed so anyone can follow the whole process from verified entry list to final result.
Prepare the verified entry list
Before the draw, the entries are exported from the website. Paid entries and valid postal entries stay in. Cancelled, refunded, unpaid or invalid entries are removed. The final list contains the valid ticket numbers for that draw.
Load the tickets into the console
The cleaned ticket list is pasted or uploaded. The console shows how many valid entries have been loaded, so anyone can see the register has been read.
Lock the register
The console creates a SHA-256 hash of the exact ticket list. Think of this as a digital fingerprint. Even a tiny change to the list would create a different fingerprint.
Fetch public randomness
The console fetches a public randomness value from drand, or lets us paste a public value manually if needed. The source, round and value are displayed on screen.
Show the calculation
The public randomness, the locked-list fingerprint and the pick number are combined. The console hashes that seed and uses a modulo calculation to choose a position in the remaining ticket list.
Reveal and save the evidence
The reveal video shows the result in a more exciting way, but the winner has already been selected by the visible calculation. The evidence pack is then downloaded and stored.
How the calculation chooses a ticket
This is the part that makes the picker transparent. The console shows the working, rather than hiding the result behind a mystery button.
Public randomness
A public unpredictable value, visible to everyone.
Locked list hash
The fingerprint of the exact ticket list used.
Pick number
Winner 1, Reserve 1, Reserve 2 and so on.
SHA-256 hash
The combined seed becomes a large, deterministic number.
Modulo result
The number is converted into a position in the remaining entry list.
SHA-256( public randomness | locked list fingerprint | pick number )
→ convert to a very large integer
→ integer MOD number of entries remaining
→ selected position in the ticket list
The reveal is only the reveal
The winner video makes the result feel exciting, but it does not choose the winner. The selection has already happened through the visible calculation.
What we save afterwards
After the draw, the console creates an evidence pack so the result can be checked and retained with the original entry export.
The reveal video is not the draw
The animation is just the moment the result is shown. The actual winner has already been selected by the public randomness calculation.
- The calculation runs first.
- The winning ticket is already known to the console.
- The video overlay displays that selected name and number.
- The evidence pack records the calculation, not the animation.
What goes in the evidence pack
- Draw name
- Operator or witness
- Date and time of the draw
- Number of valid entries loaded
- Locked entry-list SHA-256 hash
- Public randomness source and value
- Calculation method
- Winner and reserve ticket numbers
- Original row position in the locked list
Why that matters
The evidence pack means the draw is not just a one-off video moment. It leaves a record of what list was used, what public randomness was used, how the winner was calculated, and what result came out.
Glossary
A few plain-English explanations of the technical words used in the console.
SHA-256 hash
A digital fingerprint. It proves the exact ticket list used at the time of the draw. Change the list and the fingerprint changes.
Beginner explanationPublic randomness
A random value published by an outside source. It means the random input does not come from us privately choosing something.
Beginner explanationModulo
A simple way of turning a huge number into a position within the list, for example position 47 out of 3,000 entries.
Beginner explanationEvidence pack
The saved record of the draw: list hash, randomness, calculation and result.
Why evidence mattersRandom number generator
A system for producing unpredictable numbers. In a draw, the important thing is that the random input is not privately chosen by the operator.
Beginner explanationRandom sequence
A shuffled order of numbers. This is useful for understanding how a list can be put into an unpredictable order without favouring a person.
Beginner explanation