- A winner will be chosen 7 days from today's date and contacted through the e-mail address they provided at the time of entry.
- The winner will be chosen in conjunction with random numbers provided by random.org across a spreadsheet of raffle credits.
This method cannot be independently verified.
- There can be false unpaid entries (even with payment verified on blockchain, they can be paid in by the organizer to himself).
- The winning ticket selection method cannot be seen or verified by all outside parties.
I can at least solve the second part. The bitcoin blockchain contains lots of completely random hashes that are NSA-recommended as unreversible, not predetermined, outside control of any one party, and published publicly.
Here is my recommended method to declare winning ticket numbers of any forum lottery:
1. Publish block# to determine winner. For this lottery's timeline, block 171420 (~8 days from now) after 120 confirmations could be the one to determine the winner (
block 170267 used in example below),
2. Disclose ticket numbers (spreadsheet) beforehand (start at 0, list forum IDs, etc), allow all entrants to see they are present in list and that there are no mystery entries nobody can account for.
3. Determine total number of tickets at entrance cutoff time (lets say 711 in this example),
4. The random data to be used from the block will be the last 10 digits of the hash,
5. The winning ticket number will be determined by the modulo (remainder) function [python = math.fmod(int("hash_last_10", 16), num_of_entries)]. Winning number as output by Win7 x32 calculator if any disputes of solution.
Here is how to independently determine the winner with no programming on Windows calculator (fixed):
- Verify the block hash from two independent sources (ideally one being your local blockchain),
- Open Windows Calculator. Select View->Programmer. Select "Hex" radio button,
- Paste last 10 digits of hash into calculator (73ef1acb71 in block 170267 in this example),
- Press "Dec" radio button to convert to decimal (497932749681)
- Press "Mod",
- Enter number of tickets (711)
- Press =
- (If the list of ticket numbers started at ticket #1 instead of ticket #0, add 1)
- See winner (example winning ticket number is #276)