🚨Proven Fairness

The Rules

  • Before the event, we'll reveal the future block height and prize count.

  • We ensure a fair and transparent draw by pre-announcing specific block heights.

  • Once the designated block height is reached, a modulo calculation based on the block's hash and the number of participants determines the starting ticket number for the winning tickets. It then progresses to retrieve ticket numbers up to the specified end position, restarting if it reaches the end.

How to Ensure the Fairness

  • Pre-announced Block Height: Before the draw, we'll share a future block height. This block's hash will generate the random number.

  • Randomness of Block Hash: Block hashes are like digital fingerprints, super random and unpredictable, guaranteeing randomness.

  • Transparent Process: You can double-check everything by peeking at that block hash using a blockchain explorer and verify the draw results.

How to Verify the Results

  • Prizes: Assume there are 5.

  • Participants: Suppose there are 10.

  • Block Hash Check: Verify the hash of the specified block using a blockchain explorer.

    Example: Block height 824970's hash is 000000000000000000016cfef8587a1d2f57ff573fb682e0e05253379d42384d.

  • Calculating Lucky Numbers:

    • Round up all the participant numbers, maybe like number=[1,2,3,4,5,6,7,8,10].

    • Define a nonce from 1 to the prize count (let's say it's 50). Use HMAC_SHA256(block hash + nonce) for each calculation, generating a new hash converted to an integer. For instance:

      • The first winning number is HMAC_SHA256(000000000000000000016cfef8587a1d2f57ff573fb682e0e05253379d42384d1) = f47c6cfbed56ccd168bb76b9d20398487e420b0fc39fc59ec286f8bdfedbab3a

      • Convert the obtained hash to an integer:

        110584176270896305858932834140950032194005393663243478185841035745907382659898

      • Get the modulus of this integer with the total participants and add 1 for the index of the new winning number. Like:

        110584176270896305858932834140950032194005393663243478185841035745907382659898 % 10 = 8.

        Thus, the winning number is number[8]=9 (starting from 0).

      • Remember, the index 8 is removed for the next draw, rearranging the remaining numbers accordingly. New numbers = [1,2,3,4,5,6,7,9,10]

      • The second winning number is HMAC_SHA256(000000000000000000016cfef8587a1d2f57ff573fb682e0e05253379d42384d2) = 3dcd99a3fd684786dc01e90b03c3e28b5d1ee906fd776190f359cf216f0f576a

      • Convert to an integer and get the modulus of this integer with the total participants and add 1 for the index of the new winning number: 27954347800208092029913775605985087220258156291850751156503752748455932417898 % 9 = 6

      • Thus, the winning number is number[6]=7(starting from 0).

      • New numbers =[1,2,3,4,5,6,8,10]

    So the two winning numbers are 9 and 7, and following the same pattern.

Last updated