You are viewing a single comment's thread from:

RE: Fairlotto V2: Provably Fair STEEM Blockchain Based Lottery - All New Front-End + Features

in #lottery6 years ago

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!

Sort:  

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.

Only a very, very limited level of deterrence, because there is not really any way to tell that the witness is colluding. The rigged winner(s) can be some 'third party' shill that has no visible association with the witness (or lottery operator).

All of these sorts of simple methods of generating randomness from a blockchain are flawed and unsuitable if there is significant money at stake or a high value attached to the service being trusted and not subject to FUD attacks of being rigged (whether or not accurate). There are some decent methods but they are much more complicated.

Yes, you are right, but like you said it also depends on the amount of money at stake. Also if a witness does purposely generate a certain block id, they would have to add some "random" data to the block that might be noticeable if scrutinized. Also you could limit the block used to one produced by a top 20 witness vs a backup witness, as top witnesses (like yourself!) are even further incentivized not to do things like this.

Also if you have some time I would be interested to discuss some of the "decent methods" you mentioned. In any case, thank you for the response!

Also if a witness does purposely generate a certain block id, they would have to add some "random" data to the block that might be noticeable if scrutinized

This can be largely if not entirely avoided. For example, the block producer can make changes to the block that are plausible to happen by accident, for example, simply omitting one or two transactions, changing the order, etc.

Also if you have some time I would be interested to discuss some of the "decent methods" you mentioned

I may make a survey post about it when I have time.

I sent 1 sbd for daily, nothing I got back its been 2nd day so I don't know how legit this lotto is, don't invest on daily or weekly. it worked for 1hour I sent 0.1 sbd I got 0.001 sbd. before sending, nothing fair about this lotto. I lost 1.1 sbd so don't send any money for. lotto.

Do you have more information about this? I would like to read into it.

Well, that took about 7 seconds to point out how it could be rigged. you should have just rigged it and won it 27 straight weeks in a row before telling them. lol

Its funny my dear

He explained how the lottery runner could rig it, not the players.

He explained how the
Lottery runner could rig
It, not the players.

                 - felipejoys


I'm a bot. I detect haiku.

Thanks for the advice! I greatly appreciate it will work on a solution. I will look to broadcast the server hashes each round on the blockchain and then use the block_id from that block.

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?

What do you have in mind exactly? I want to release the tool to verify all bets by Tuesday, that will be available for everyone to use.

Let's say I wanted to raffle off some steem monsters cards, it would be cool if I could go on your website and put in the raffle details and then your tool could track the entries and pick the winner at the end using your provably fair system.

@yabapmatt, sir what if any bot doesn't vote on my bid . Because 12 hours ago I send 3 steem to @upme and I did not get upvote so far . One more user did not get upvote for 45 steem.

Ah I see that is a cool idea and I will look into it. As for now next week I will be cliff diving in Greece for 2 weeks, so it wont be anytime soon.

As for solving the provably fair aspect. I decided to use the hash of the first Ethereum block found after the deadline. In the new process when a deadline expires, first the public hash from the server seed will be published in a transfer on STEEM. Then when a new Ethereum block gets found this hash will be used instead of the transaction id and also published in a transaction on STEEM.

I sent 1 sbd for daily, nothing I got back its been 2nd day so I don't know how legit this lotto is, don't invest on daily or weekly. it worked for 1hour I sent 0.1 sbd I got 0.001 sbd. before sending, nothing fair about this lotto. I lost 1.1 sbd so don't send any money wihout understanding it compeletly

cool!

I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!

hey man i will do that!! pls do follow me,and do have a look on my blogs.

I've been very skeptical of steemmonsters until I read this comment of yours. Just voted for you as a witness.

I find your excellent information supply very practical and useful

A very beautiful article, Lake!

Wow very nice work. Please follow me if your interested in blockchain and technology. I promise the most in depth reviews/articles around.

I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!

I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!