Giveaways
Fair prize draw
The secret and the public hash before the draw — the result cannot be resubmitted unnoticed.
The website generates a random secret of 16 bytes (32 hex characters) and shows its SHA-256. The hash is a promise: the secret can no longer be replaced unnoticed. Publish the hash before the start of application acceptance — in a channel, chat, or post.
-
1
Commit — hash before start
The organizer publishes the SHA-256 of the secret. As long as the secret is hidden, it is impossible to find it to match the desired hash: SHA-256 is irreversible.
-
2
List of participants
The list is recorded openly, one name per line. The line number is included in the formula, so the order must be the same during verification.
-
3
Reveal — secret after
After receiving the entries, the secret is revealed. Any participant can check its hash and recalculate the winners on the 'Draw Verification' page.
h = SHA-256(secret + ":" + (index + 1) + ":" + name)
A giveaway is a tool for random selection, not a lottery. The organizer is responsible for compliance with the legislation of the Russian Federation: Federal Law No. 138-FZ "On Lotteries" (lotteries are conducted only by decision of the Government of the Russian Federation) and Federal Law No. 38-FZ "On Advertising" (promotional events). The website does not conduct lotteries, bets are not accepted, prizes are not paid. Legal information
Why the draw is fair
An ordinary random number generator lacks one main thing — proof. The result is only visible after pressing the button, and no one can confirm that it wasn't recalculated. The commit-reveal scheme solves this with two publications: a hash before the draw and a secret after it.
As long as the hash is published and the secret is hidden, the organizer is bound by a promise: it is impossible to come up with another secret with the same SHA-256. After the secret is revealed, any participant recalculates the winners using the open formula and makes sure that they match.
What is commit-reveal
Commit — obligation. A random secret is converted into a SHA-256 hash and published before the start. Reveal — reveal: after the draw, the secret is shown to everyone, and the hash can be checked with a regular SHA-256 calculator.
A hash is a 'fingerprint' of data: the same string always gives the same result, and any change, even one character, completely changes it. Therefore, a secret substitution is immediately noticeable: the SHA-256 of the new secret will no longer match the published one.
How to check the result in a minute
- Copy the secret from the giveaway protocol.
- Open the page giveaway checks.
- Insert the secret and the list of participants in the same order as in the protocol.
- Specify the number of winners and click 'Check'.
- Compare the winners and the secret hash with those published.
What the scheme does not guarantee
- It does not protect against tampering with the list of participants: the list must be published before the secret is revealed.
- It does not record the time of the hash publication — for this, an independent trace is needed: a post in a channel, a screenshot, an archived copy.
- She does not run a lottery: tickets are not sold, the prize fund is not formed from contributions.