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

in #lottery6 years ago (edited)

Introducing the all new V2 of the Fairlotto STEEM Lottery. New front-end and added features


Screenshot 2018-07-26 22.25.22.png

New features

  • All new website https://www.fairlotto.eu
  • Steemconnect integration
  • Subscription model
  • New weekly lottery and increased ticket prices

What is @fairlotto?

Fairlotto offers a way for Steemians to spend some of their hard earned SBD's and have some fun in a lottery that is provably fair.

Goal

The goal for Fairlotto is to offer a well respected lottery on the STEEM Blockchain which grows as the STEEM community is growing. Becoming the #1 lottery on STEEM and eventually offering a monthly lottery with huge prize pools.

How to play

Screenshot 2018-07-27 00.46.09.png

Steemconnect

Participating is very easy with the new front-end, go over to https://www.fairlotto.eu and decide in which lottery you want to partake, Steemconnect will take care of the rest.

Screenshot 2018-07-26 22.27.09.png

Lotteries

Fairlotto currently offers 3 different lotteries: hourly, daily and weekly. Each with their separate prize pool and deadlines. Direct ticket sale is possible to enter 1 lottery, you can buy as many tickets as you want. However, newly added is the subscribe function which offers the option to subscribe for a lottery. When a new lottery starts 1 ticket will be automatically purchased automatically every new lottery until your balance is depleted.

Bonus

The prize pool is made up of all the ticket sales. However additional bonus funds can be added during promotional runs. As an offer to the small minnows on STEEM there is the intent to always offer a bonus for the hourly lottery.

Supported commands in memo

Direct purchases are also available. Send the SBD amount with one of the following memos to @fairlotto.

CommandAction
hourlybuy SBD/ticket_price amount of ticket for the next draw
dailybuy SBD/ticket_price amount of ticket for the next draw
weeklybuy SBD/ticket_price amount of ticket for the next draw
subscribe-hourlyAdd SBD to hourly lottery balance and buy 1 ticket
subscribe-dailyAdd SBD to daily lottery balance and buy 1 ticket
subscribe-weeklyAdd SBD to weekly lottery balance and buy 1 ticket

Lottery statistics

Screenshot 2018-07-26 22.45.02.png


The website shows several tables with all the data relevant to the current lotteries. This includes data like the current prize pool, how many players have entered but also all the transactions. And information relevant to verifying the authenticity of the draws.

Payout and fee structure link

The payout structure is based on the amount of tickets participating in the draw. There need to be at least 2 different users participating in the draw for it to be valid.

  • Between 2 and 5 tickets:
    #1 95% Prize pool + optional bonus
    5% fee

  • Between 5 and 10 tickets:
    #1 75% Prize pool + optional bonus
    #2 20% Prize pool + optional bonus
    5% fee

  • More than 10 tickets:
    #1 50% Prize pool + optional bonus
    #2 10% Prize pool + optional bonus
    5% of tickets receive 20% Prize pool + optional bonus
    10% of tickets receive 10% Prize pool + optional bonus
    10% of tickets receive 5% Prize pool + optional bonus
    5% fee

Provably fair link

The most important thing about a lottery is that it is fair. For this reason this lotto is made provably fair. This means that users will be able to verify the outcome. The server hash is obtained by hashing the server seed, which is a secret used to perform the calculations. The sha256 hash of the server seed is unique and can be used to verify after the drawing the server seed was not changed. As the server seed is revealed after the drawing.

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 prevents calculating in advance which ticket will win and buying the ticket with a separate bot.

To calculate which tickets will win the server hash, transaction id, a colon and a roll number(starting from 0) are string together. This string is hashed with a hmac-sha512() function that gives a 128 character hex string. From this string the first 5 characters are taken and converted to a decimal number. This number will be between 0 and 1048575. If this number corresponds to a ticket number there is a winner, if not the roll number will increase by 1. This process repeats itself until all winners are decided. Each ticket can only win once. Below is a rough outline of the process.

A simple tool to verify the outcome of a draw will be released shortly.

Roadmap: what is on the horizon?

  • Detailed page for all prior lottery draws and and verification tools.
  • User authentication with Steemconnect for active control over subscriptions and overview into user statistics.
  • A monthly mega lottery when there is a big enough user base.
  • Jackpot

STEEM Blockchain

This project runs on the STEEM Blockchain as that user verification and draw validation are done by using data from the blocks that make up STEEM.


Disclaimer: Gambling is supposed to be fun, gamble with caution.

Project by: @juliank

Sort:  
There are 4 pages
Pages

I wish I am lucky...

I Wish I Am Lucky...nice

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!

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!

Good work on this project.
Created a hunt for @fairlotto at steemhunt.
Fairlotto - TRUE STEEM LOTTERY

Very much appreciated! The code verifying Is just a dumbed down version though. The full code will be released tomorrow.

Pretty interesting game.

Hello guys this website is paying free btc. Also there are many proof videos on youtube.
Just paste your btc address and start!

Register here :http://bit.ly/2LvuTwYbtcfree

Very interesting idea! This would be a great system to have in the crypto space.

I only see one issue, depending on the country the player is in. There may have different gambling laws. How would you deal with possible future government interference? To the Government this might as well be a black market lottery system :(

Good question, if the volume gets to big I would just register a company in a country with good jurisdiction. Af for the jurisdiction of the country from the player, that is up to the player.

I love @lotto

Good updatw steemdev

Cool, where does the fee go? To a good cause or is it for profit?

Hi, good question. The fee is used to offer bonuses besides running the website and allowing for further improvement.

Amazing system on the Steem blockchain, I’m enjoying buying my lottery tickets

This is really a great project bro!!!

I hope this project will good run!!!

Im too poor for that. :=)

Good job

Under the lottery statistics.

It should automaticly account for the fee.

So we know what the actual prize pool is.

Thanks for the idea. It is a good one. In that case it should also account for the bonus as well. I am looking to make a timer, will implement you idea next to it.

In a hourly lottery #193, How come I got only 0.42 payout and @tsnaks got 0.60 payout. I had three numbers (3,6 &8) in a draw result whereas @tsnaks had only one number i.e. 9. In a result, out of my 6 numbers 3 numbers won but @tsnaks had only 1 number in a result but he got more payout than me. Please expalin.

Hi @samm6in that you for your question. I will do my best to clarify. So not all winning numbers are worth equal. The price distribution can be found here. If you look at lottery #193 the winning numbers were: 9 6 8 2 3. These are in order. So 9 is the first price which in this case got 50% of the price pool.

I am working to make everything more transparent in the future

I would play this, but I just don't have any chance to win at it :-(

Each ticket has equal chances!

That's cool.
I just say that I don't have very much of luck in that kind of games.
If there was 100 tickets and 99 were mine, the winner would be that one that isn't mine :-)

Hey I was wondering if you could check and see if I was supposed to receive a payout for the hourly drawing about 4hrs ago drawing #173

The winning number for lottery #173 was 1, you had ticket number 2. So unfortunately no payout for you. The confirmation transaction can be found here: https://steemd.com/tx/9a90a801c2360fdd3529e705ca07353e82154f61

Oh no worries I was still used to the old system lol but gotta say I love what you've done with the new system it's amazing! Thanks for the fast reply too.

This is an awesome idea!
I love it! :P

Just bought my first hourly ticket. Here's to hoping it's a lucky one! :)

Awesome, seems you got 2nd price!


Welcome to Steem @fairlotto.

Do read A thumb rule for steemit minnows - 50:100:200:25 for starter tips.

Spend time reading Steem Blue Paper to know how Steem blockchain works and if you still have any queries ask them on our Ask me anything about Steemit post and we will try to answer that.

All the Best!!!

I hate spam


Welcome to Steem @fairlotto.

Do read A thumb rule for steemit minnows - 50:100:200:25 for starter tips.

Spend time reading Steem Blue Paper to know how Steem blockchain works and if you still have any queries ask them on our Ask me anything about Steemit post and we will try to answer that.

All the Best!!!

I also hate this spam


Welcome to Steem @fairlotto.

Do read A thumb rule for steemit minnows - 50:100:200:25 for starter tips.

Spend time reading Steem Blue Paper to know how Steem blockchain works and if you still have any queries ask them on our Ask me anything about Steemit post and we will try to answer that.

All the Best!!!

Oh, my god more spam and you keep upvoting yourself.

..

How disrespectful you are to tell people that this lotto is for people to "spend" their "hard earned SBD". They are not spending they are gambling.

It is a free market, people can do as they like. I am not telling anyone what they must do. Just offering an option.

Gambling is not inherently bad, just like having a drink or eating something unhealthy. Life is about balance, it is not binary, there are more options than 0 and 1.

...

Rich men gambling on investment opportunities plays a big role in moving forward important technology, including technologies and medicines in the health sector, which will indirectly affect the lives of millions in a positive way.

Like @fairlotto stated, gambling isn't inherently bad. Furthermore, greed isn't all bad, as pointed out in the example that I provided. Selfish actions can sometimes lead to benefits for the many.

..

When did I ever say it was?

I'm simply arguing against your assertion that "gambling is never good." Speculating on early tech is just as much gambling, if not more, as playing blackjack at a casino, and, like it or not, we owe a lot to these big risk takers.

There lies a paradox in selfishness in that the most selfish acts can sometimes be great for everyone. It may be an exception to the rule, but it still exists.

Lotto hanyalah permainan keberuntungan.

Precisely. There is a reason why in the real world casinos exist because for every person who is against gambling there are countless others who are not. At the end of the day, you're not forcing Steem users to gamble or buy a lottery ticket. You're providing a service that Steemians choose to use.

Everyone has a choice.

Ya ya oke.

interested but need to learn more first.

Excellent project I hope to win

That's very helpful

If it fair It is an interesting watch out.

i just really loved it and enjoyed as well . i hope it works and @juliank and @fairlotto very good job , really appreciated and thanks as well


Welcome to Steem @fairlotto.

Do read A thumb rule for steemit minnows - 50:100:200:25 for starter tips.

Spend time reading Steem Blue Paper to know how Steem blockchain works and if you still have any queries ask them on our Ask me anything about Steemit post and we will try to answer that.

All the Best!!!

That’s good working

very good

Bittrace Has Started Its Airdrop, Please Register And Earn 15 Free Tokens.Ico Launch n-1.jpgLaunch1-1.jpg

This is really a commendable innovation and an avenue to earn more esteem...i hope to benefit from it. @fairlotto

Lottery in blockchain what an impressive move @fairlotto

sneaky-ninja-sword-xs.jpg
Sneaky Ninja Attack! You have just been defended with a 30.19% upvote!
I was summoned by @juliank. I have done their bidding and now I will vanish...

woosh
A portion of the proceeds from your bid was used in support of youarehope and tarc.

Abuse Policy
Rules
How to use Sneaky Ninja
How it works
Victim of grumpycat?

Good work on this project

Doing good thanks for helping us

Wow nice for lottery but not my many

Exciting!

#what is chain broo?

#https://steemit.com/bangladesh/@habibashakil/our-coxbazar-top-nice-place-of-bangladesh-most-beautiful-of-coxbazar

Hi guys, just wanted to let you know that I didn't receive the 4.53 payout, probably steem nodes are lagging.

The project looks really interesting. May I ask if the project is open source and on Github?

Kind regards,

The Secret Service

Re-steemed this!
-exp

This post has received a 46.8 % upvote from @boomerang.

You got a 53.50% upvote from @upmewhale courtesy of @juliank!

Earn 100% earning payout by delegating SP to @upmewhale. Visit http://www.upmewhale.com for details!

You got a 56.04% upvote from @postpromoter courtesy of @juliank!

Want to promote your posts too? Check out the Steem Bot Tracker website for more info. If you would like to support the development of @postpromoter and the bot tracker please vote for @yabapmatt for witness!

That’s great idea to have lottery based on steem based system , good news for steem and it growth on block chain , great new bro

Upvote my comments and reply

Nice 😎

this looks interesting

There are 4 pages
Pages