Start earning!

Checking the results of the draw is quite simple!

We will need:

  • Initial Server seed - becomes public after the draw ends
  • Client seed - available at any time
  • An uncontrollable external factor (UEF) - available in any Bitcoin block explorer. We will publish it, and you just need to verify that at the time of the draw, this was the last block (the date of the next block found is after the draw time). You can also find it yourself, for example, via this link by scrolling through the list of blocks on the required date (the draw date).

We combine the Client seed and the UEF with a colon, sign the resulting string with the Server seed using the HMAC_SHA512 cryptographic function, take the first 5 characters, and convert them to the decimal system. Divide the resulting number by the number of participants (modulo), and you get the winner's ordinal number.

Let's try this with an example. Let's say we have a draw with five participants, with IDs 1, 2, 3, 4, and 5. All participants except the one with ID 1 have two "tickets" each (these may not be tickets but, for simplicity, we’ll call them "tickets," e.g., cars in the garage).

  • Server seed: mems slatimea offire froat bruchas sympul upotemost toryth
  • Client seed: 1:2:2:3:3:4:4:5:5
    Repeated IDs indicate that the participant has multiple tickets in the draw.
  • UEF: 0000000000000000001018a206100a0c81fd7b358373720a3f294ed7710c7cf9

First, we form the message to sign:

1:2:2:3:3:4:4:5:5:0000000000000000001018a206100a0c81fd7b358373720a3f294ed7710c7cf9

Next, we need to sign it with HMAC_SHA512. You can do this, for example, here (the data is pre-filled on this link, but you can enter it yourself again for the sake of the experiment).

We get the hash:

6b6819f9cf7b5d5c3a22bf005a8fd142fff363498c2d36348bfb6170feed2c1a0dc73e6c4879fcc5e4a4a25169715441a1ca552d3142bac0720031846083b2a1

We take the first five characters: 6b681

Convert them to the decimal system, you can do this here.

We get the number: 439937

Divide it by the number of participants (we have five participants but nine tickets):

439937 % 9 = 8 (you can do modulo division here)

The winner is the participant under ordinal number 9 (since numbering starts at zero - 0 - 1 - 2, and so on).

1:2:2:3:3:4:4:5:5

In our case, it's the participant with ID 5.


Promotions
Time in the game: 23:19