Hey guys and girls,
I was one of those that also lost a sum on the MtGox odeal. And, because who knows when and how much I will ever get back from the loss, I wanted to take action and start something, trying to get some of it back.
I'm also so fed up with all the scam sites out there, so I wanted to create something reliable and trustworthy. Sure, it may take longer earning money when doing it that way, but I'm in it for a long run. Hopefully people will think this is fun and fair so that it can grow with time. Besides, if this keeps giving me some of my lost bitcoins back, I gladly work on it more and keep it up forever.
So, now after more than 2 months of work, I have created what I call "BTC Cake". I'm using Go, Bootstrap, JQuery and among others, BigJS javascript library, to make sure the amount is correct. That is, there should be no rounding errors for real values. However, I'm still in beta, so there is probably still things to fix, which is why I post here. To get feedback and testers. And, maybe even a UI designer. Everything is created by me from scratch! And, I must say that Go is so wonderful to working with. Saved me a lot of time, and, it's so reliable. I love that it's strongly typed, garbage-collected and has explicit support for concurrent programming. Makes it quite perfect for this kind of thing. I really want to make sure everything is calculated correctly.
So, what am I talking about? Well, here is a screenshot of part of the site:
Basically, there is this "cake" where you can bet on a piece/wedge. The result will be based on a secret server salt and users provided salt, which means everybody affects the end result. There will always be a winner, as I only take a small 1% of the winnings. That is, I'm no bank, and the users will get most of the bitcoins. I might add something like some kind of bonus system later on, if this is successful enough. I mean, I can create "bonus" cakes with a chance of winning house money. Anyway, that is for another day.
Note that in the above image I've circled one of the neat features. Here it shows that if that bet of 0.05 BTC is placed, the chance if winning increases from 36.36% to 56.25%, and the user can win 0.03888889 BTC (besides getting his/her initial bet back that is, so total back will be 0.08888889 BTC)
Winning can be quick, depending on the time set, so you don't have to wait for months. Also, cakes can be created by users, so it's up to you what parameters will be set. Also, you can play with play money (PlayBTC) too, so you don't have to use your real bitcoins. I will do something with PlayBTC such as having a timelimit on getting more, so it can't be abused and that it will have a meaning and you just can't get infinite of it. It's free otherwise. This way PlayBTC will have some meaning and it can be fun to play with too.
I will have 2 main ideas going:
- First one is simple. The cake is split into 2-10 wedges (can easily be increased if it will make sense further down the road). Users bet on a wedge, which will in turn increase the change of winning as you can see in the red circles in the image. After time is up, a value is calculated. This is based on a secret server salt, and users provided salts. This means, noone will know what the result will be. I can't cheat as I don't know what users will use and a hash of the "secret salt" is shown when the cake is created, so anyone can see that this never changes. And, users can't cheat, as they don't know what the secret server salt is before the time is up. The resulting value can be confirmed and calculated any time after time is up. I even provide a handy page showing it all. Anyway, this value is used to figure out which wedge won, and the BTC is shared among the winners equally depending on size of bet the user made.
It's cool, because every cake can be created by a user, so if you really want to go crazy and be a chance taker, you can set maximum bets to unlimited, and thus, with a cake with 2 wedges, one wedge can be 0.01 BTC, and the other 10 BTC, giving the one with 10 BTC a 99.90% chance of winning. So, it could be an easy steal for the 10 BTC group. Or, a really lucky 0.01 group sharing 10 BTC. Set limits if you don't dare such cake.
- If the cake is full (1 piece/wedge), the idea is this: With the bet, a user provides a number between the range specified. Then, the bets with the value closest to the result wins. Everything shared fairly. As there are some limits you can set on a cake, the sharing among winners can be interesting.
However, I'm not sure how the BTC amount will affect how much that user will get. One idea was to change the "distance" from whatever you think the result will be to the result. However, this makes it so much easier to win if I say made the distance half if you bet double than others. What would be most fair? Obviously, if everybody bets the same amount, it's easier, as the amount won is purely based on the guessed result.
So, in my goal in making this fair I have a couple of questions for you guys.
Say we have 2 wedges/pieces, and the range is 0-360. To make it fair it will be like this:
Wedge 1 wins 0-180.
Wedge 2 wins 180-360.
Note though that 180 is shared. Now, since I'm using real numbers, odds for that happening is really really really really low. However, if it happens. Who wins? Wedge 1 or 2?
Same with 3 wedges.
Wedge 1 wins 0-120
Wedge 2 wins 120-240
Wedge 3 wins 240-360
Again, shared winnings. What do you guys say? Who wins at 120? At 240? Again, the chance of that happening is so low it's almost impossible, but still. I want to make it fair!
I'm also not totally sure what amount of BTC will do for the other idea, where you guess the result.
This is how it is currently. Imagine 5 users bets 0.1 BTC each. And we end up with this, sorted by shortest distance in percent (inverted as shorter should give most):
Pot: 0.5
User 1: 0.1*1.78 =
0.178 back in total.
0.322 BTC left in pot.
User 2: 0.1*1.62 =
0.162 back in total.
0.16 BTC left in pot.
User 3: 0.1*1.43 =
0.143 back in total.
0.017 BTC left in pot.
User 4: 0.1*1.40 = 0.140, but only
0.017 left so he/she gets all in pot.
User 5: Gets nothing.
What do you guys think of this? I like this because many get more than initial bet. Note though that this is easy as all bets are the same. But what if user 5 bet 0.2 BTC? What would be most fair?
(Note that my fee isn't withdrawn here yet to make the calculations easier. I prefer doing this way first to make this correct. Then it's easy to just take the fee before doing those steps.)
So, what do you guys think of my project? Feel free to give me comments, suggestions.
Best Regards,
Chillance