🚨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