In Plain English

  1. Locking the Entries

    When you prepare a draw, every ticket number in the competition is listed in order and a fingerprint of that list is published. Anyone can download the list straight away and check their tickets are on it. If a ticket is added or removed afterwards, the draw refuses to run.

  2. The Secret Number

    Yeti Live Draw also generates a long secret random number (the server seed) and publishes only its fingerprint - the commitment. The number can't be swapped later without the fingerprint changing.

  3. Public Randomness

    A future round of drand is fixed at the same time. drand is a public randomness beacon run by the League of Entropy - a group of independent organisations including Cloudflare, Protocol Labs and several universities - that publishes a new random value every 3 seconds. The value for your round doesn't exist until your draw time, so nobody knows it when the draw is prepared.

  4. The Draw

    At draw time, drand's value for that round becomes the live seed. It's mixed with the secret number using a standard cryptographic function (HMAC-SHA256) to pick each winner from the locked list, without bias.

  5. The Reveal

    The secret number is published. Anyone can check it matches the commitment, check the live seed with drand directly, and re-run the draw to get the same winners.

What a Verified Draw Proves

Together this means that once a draw is prepared, the site operator can't predict the winners or choose inputs to produce a particular result. The operator can see the secret seed (it's stored on your server until the reveal), but the result also depends on drand's value, which doesn't exist yet.

What It Doesn't Prove

The Technical Detail

The same algorithm runs in the browser verifier, which loads the draw from your site and the live seed from drand, so results are checked independently of your server.

Need Help?

If you have questions or need assistance, check out our Troubleshooting Guide or FAQ.