Random

How It Works
FAQ
Randomness


What is random:

Random is actually quite difficult to get from a computer. True randomness services such as random.org and google's random number picker use atomic radiation discharge and similar unpredictable processes as measured and then distil that into a number as requested by the user.

This is in line with and more securely 'random' than most currently available cryptographic encryption services, besides those that make use of the above.

How WE do random:

We generate our random numbers using a variety of services.

  1. Google's Web Random Number Generator
  2. Random.org's Web Random Number Generator
  3. Random.org's API
  4. Our Servers Secure Number Generator (read more below about how we do this fairly)

Our random numbers:

The following numbers are generated randomly for the site:

  • Instant Win Ticket IDs
  • Ticket ID allocation
  • Comp Draws

You can see for transparency in the table below how and when these are generated:

# Use Method Time Fairness 1 Instant Win Ticket Numbers Our Servers Secure Pseudo Random Number Generator Before Comp Starts Not required, the numbers will be distributed according to basic server randomness. 2 Allocated Ticket Numbers Our Servers Secure Number Generator, that uses your information, the current time, and information from our payment provider. As Tickets are Purchased See note below: 3 Winning Ticket Numbers Random.org User Interface / Google search box Live, during the streamed the draw. We must trust the almighty google :praise-emoji:. We will prove the real google is in use every draw.

About ticket allocation

We will generate ticket numbers for your purchased tickets by using several components:

  • The current time at ticket generation time in microseconds (right now: 1739006775.8964) - verify at https://www.epochconverter.com/
  • Your Browser Identification Details (which are base64 encoded for reversibility (e.g. Q2hyb21lIDExOA==)
  • Your IP Address (e.g. 1.1.1.1)
  • Your payment reference - generated by our payment provider, not us. (Represented by a random number here: 815140)
  • The previously generated non colliding ticket number - (if present) (Represented by a random number here: 361)
  • (as of 7th April) Our internal competition ID - (Represented by a random number here: 22)

Since WE cannot predict what your browser identification details, IP address, or the current time in milliseconds will be WHEN the tickets are purchased, and neither YOU nor WE cannot predict what the payment reference will be, Neither party will be able to guess what the ticket number generated will be either. The one constant will be the competition ID. (added 7th April @ 9pm) The mathematical process will be as follows:

  • Make one long text string out of the above (Live Example: 1739006775.8964-Q2hyb21lIDExOA==-1.1.1.1-815140-361-22 )
  • Hash this value into a sha1 hexadecimal value (34d4eca0809eff6b60d0bb3def352e44d38dacd8)
  • Convert this hexadecimal value into a simple decimal value (using the first 15 characters) (237932984945733622)
  • Take this value and modulus it by the maximum ticket number e.g. 1000
  • If this modulous results in 0, then change it to the max ticket number instead. (1000)
  • The value as provided will form your ticket number. (622)
  • If that ticket is already sold, we will allocate the next unsold ticket, looping round to 1, if we hit the max ticket number.
  • We will provide all the information supplied when we generate ticket numbers so you can replay our number generation to see the result for yourself.

If you want to replay your random generation and prove our generated result:

<?php echo "Your generated number is: ".intval(hexdec(substr(sha1('1739006775.8964-Q2hyb21lIDExOA==-1.1.1.1-815140-361-22'),0,15)) % 1000 ) ?: 1000; ?>

As executed by our server:

 Your generated number is: 622 

To test this yourself online easily, simply visit: https://onlinephp.io/ (or any other online PHP executor) and paste the text in the box and hit Execute Code.