1. Publish the list of tickets and who has which ticket, a bit before the actual draw. Make sure that tickets are numbered.
2. Wait for a specific block hash for the drawing. Once the block comes, take the last few digits of the block hash (maybe 7?) and convert it to a decimal, by using it as a hexadecimal. Next, use the number that you get and apply modulus (number of tickets - 1) to that number. You should get a number between 0 and the number of tickets, minus one. Add one to the number, and you have your first winner. You can get the other winners in other blocks, or if that takes too long, use the last 8 digits, than 9, e.t.c repeating the entire process I just outlined.
Here is an example of the method I outlined:
For this example, I will be using the block that was mined right before this post (block 426230). Normally, a block that hasn't been mined would be used, but for convenience, I will use an already mined one.
The has of the block 426230 is
000000000000000000dd8a7bb73190bd8574df5f18966347a2094049e28c8cab
1: darkstar
2: person2
3: person3
4: person4
5: person5
Am ok with this method.
In my opinion now it's needed a clear specification on how this method will go on for all the prizes paid (26 places if I remember correctly)
It has the features needed to silence all the controversy and speculations that have been raised (also by me to be honest) : fairness and trasparency.
This is way better than the rudimental one I suggested (video recording of random.org draw).