Maybe block # % # of entries? (I as well have no idea what is contained inside a block so I'm just throwing ideas into the wind lol)
You are about right. The modulo (%) is what I proposed (page 3). I gave Matthew and others who may do raffles the tools so they could prove their raffle is being run fairly for anybody that may question how the winner is picked.
For some technical information:
Each bitcoin block has a SHA256(SHA256()) hash that is the main "block hash", a hash of the contents of the block (even more technically, a hash of the merkle tree of the transactions in the block). Like the SHA256 hashes of the emails you submitted to the raffle, hashing the transaction block turns readable data into unpredictable random-looking output (it is unpredictable by design; if you could predict it's output, you could break Bitcoin and crack hashed passwords easily). This is actually the puzzle that mining uses; since the output of SHA256 is unpredictable, it is very hard to find a hash that looks like something you specify. Bitcoin's mining challenge is to find a block hash that starts with many zeroes, the more zeroes we want at the beginning of a 256-bit hash (the smaller the value), the more
difficult it becomes to find one.
This hash of a block is our random number picker. We specify a future block, so we know the fix is not in - we want to know that a lottery operator isn't picking the ticket number of a friend of his. Since it is so hard to even find a block hash (it's worth 50BTC), trying to manipulate the blockchain so a hash of a particular block is a particular number is nigh impossible. Since it is in the future, nobody without a time machine could have known the winner. Since the blockchain is published for all to use and see, we know that there is only one answer.
We could use the whole block hash, but that's a biiiig number and would break your calculator and programming environment, so it is not practical for everybody to use and independently verify. I proposed the last 10 digits as more reasonable - that is still a huge random number (in hexadecimal) with a value that will be between 0 and 1,099,511,627,775. I think one million million is a pretty big number.
For those that understand the modulo function, you see we must specify that the first raffle ticket number in our list is #0. We use the modulo function on the hash of a specific future block (that the organizer designates beforehand) to determine the winner:
(last-10-digits-of-block-hash) % (number-of-tickets) = winning ticket number
(I'll let you google modulo function if you don't know what that is.)
By all entrants seeing the list of ticket numbers beforehand, and being able to see how the winning ticket number is picked, it is hard to say that the winner was chosen unfairly. Scammers have to go back to simply not shipping the prize and disappearing. Someone like bitpay may fill this final need, by acting as an escrow agent for prizes for future raffles.