RE: Fairlotto V2: Provably Fair STEEM Blockchain Based Lottery - All New Front-End + Features
This is amazing - I was literally thinking that it would be awesome to build a provably fair raffle system on Steem just this morning! Do you think you might open it up for other people to run their own provably fair lotteries / raffles using your system for a fee?
Also, on a technical note, you mention the following:
Also used in the calculation is the transaction_id of the last person who bought a ticket. This is a random string which cannot influenced.
This is unfortunately not true. The transaction_id is not a random string, it's a hash of the transaction, and it can definitely be influenced. It's similar to cryptocurrency mining - you add some additional data to the transaction and compute hashes until you get the result you want.
In this case you are also using a secret seed, so that would need to be known as well, which is the case for the creators/operators of the fairlotto service. So as it currently stands it appears that you would be able to "fix" the results of the lottery. n\Not that you would of course, but the goal is that no one - even the creators, can influence the results.
I would suggest using the block_id of a pre-selected future block instead of the transaction_id. The block_id can be influenced only by the block producer (witness) that produces that block, so that would require a corrupt witness to influence which would then lead to a loss of witness votes if found out which should provide a certain level of deterrence.
I've been thinking about these topics a lot in regards to Steem Monsters, so feel free to reach out if you want to discuss it further!