Pages:
Author

Topic: Introducing PevPot.com The Bitcoin Lottery - page 15. (Read 12236 times)

legendary
Activity: 2557
Merit: 1886
November 11, 2015, 03:25:57 PM
#22
Oh, and it's even worse. As a miner, I see a 50 BTC pot, so I create but do not broadcast a 5000 BTC bet. I try mining block xxx000 including my secret bet transaction. If I manage it, I check whether it wins (it probably does) and broadcast the block if it does. If it doesn't win, I don't broadcast the block, so I lose the 25 BTC block reward, but I never lose my 5000 BTC bet. So in the event that I am able to mine that block, I have a 99% chance of winning 75 BTC and a 1% chance of losing 25 BTC. That's very +EV since I've eliminated the possibility of losing anything but the block reward.

Excellent observation, and something I missed.  I believe an powerful fix for this would be that transactions in "draw block" are not part of the draw. So in concrete terms, the draw still is decided by block 1233000 however any transactions in block 1233000 are part of draw 2, not draw 1.

A (very large) miner could still use a variant of the attack to privately withhold a xxx999 block with the 5000 BTC transaction, and then attempt to privately mine the xxx000 block but now it's getting much, much harder (with a larger penalty for failure).

I'll do some benchmarking on a high-end computer, and try figure out some parameters to slow down verification to prevent any  as well. I'll revise the provably fair prior to 24 hours before the draw, and add a notice on the provably fair page, linking to this post.
legendary
Activity: 2940
Merit: 1330
November 11, 2015, 03:05:10 PM
#21
I've spent a while looking, but haven't found a function that satisfies:

* Is not parallelizable
* Slow to compute, fast to verify
* Offers no collusion possibility (i.e. no server secret)

any 2/3 however seems easy =)

I think you should probably have something in place asap despite it not being perfect.

The pot size could escalate very quickly towards the end of the week.

Imagine someone seeing the current pot of 0.59 BTC and buying 10 BTC worth of tickets to try to make a quick almost guaranteed +EV profit. It only takes one more player to go to 50 BTC, following the same thinking and then you have a pot worth block-withholding to win.

Oh, and it's even worse. As a miner, I see a 50 BTC pot, so I create but do not broadcast a 5000 BTC bet. I try mining block xxx000 including my secret bet transaction. If I manage it, I check whether it wins (it probably does) and broadcast the block if it does. If it doesn't win, I don't broadcast the block, so I lose the 25 BTC block reward, but I never lose my 5000 BTC bet. So in the event that I am able to mine that block, I have a 99% chance of winning 75 BTC and a 1% chance of losing 25 BTC. That's very +EV since I've eliminated the possibility of losing anything but the block reward.

It really does need to be impossible for a miner (or anyone else) to know who won until half an hour after the xxx000 block is mined.
legendary
Activity: 2940
Merit: 1330
November 11, 2015, 02:53:16 PM
#20
Oh I see, so basically if I were to play alone no matter how many bitcoins i send the sponsors are always going to send more.

No, the amount the sponsors add is fixed before each round begins.

This week the sponsors are adding 0.17658 BTC.

If you play alone, and bet 1 BTC, you get back 1.17658 BTC. That's 0.17658 BTC more than you bet.

If you play alone, and bet 1000 BTC, you get back 1000.17658 BTC. That's 0.17658 BTC more than you bet.

See how that works? The prize pool is bigger than the sum of the bets by a fixed amount, so the game is +EV to play.

Seems pretty nice, hopefully it's +EV for you too in the long run.

The game itself is +EV for Ryan, since he has no risk and gets 10% of the sponsor money. But then he has to pay for hosting and other expenses out of that. I would guess there's quite a low cap on how much people are willing to pay as sponsors, and so quite a low cap on Ryan's take from the site. I can imagine the pot itself growing quite large, and Ryan making very little from it. But ass we see from bustabit he's probably happy taking a small amount.
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 02:41:27 PM
#19
How come its probably fair when you choose only 1 winner ?If 1000 people buys tickets and only 1 is winning then the probability of win is almost 1/1000 which is completely random .You should have atlest first seocnd  and third place winners as well

I'm a bit of a sucker for simplicity, so I do like the idea of "winner takes all". Provably fair doesn't imply that you're probably going to win, it just means that you can verify it's fairness. =)

(i.e. For $1 if you have a 1 in a million chance of winning a million dollars, you're probably not going to win .. but it's still fair)
legendary
Activity: 1302
Merit: 1005
New Decentralized Nuclear Hobbit
November 11, 2015, 02:23:19 PM
#18
How come its probably fair when you choose only 1 winner ?If 1000 people buys tickets and only 1 is winning then the probability of win is almost 1/1000 which is completely random .You should have atlest first seocnd  and third place winners as well

It is provably fair lol. Smiley

It means the lottery result can be independently verified, that is, the fairness is provable.
legendary
Activity: 1876
Merit: 1308
Get your game girl
November 11, 2015, 02:13:11 PM
#17
How come its probably fair when you choose only 1 winner ?If 1000 people buys tickets and only 1 is winning then the probability of win is almost 1/1000 which is completely random .You should have atlest first seocnd  and third place winners as well
sr. member
Activity: 420
Merit: 250
November 11, 2015, 12:22:14 PM
#16
but it might be a problem if the user wins and is not able to sign a message ....or the alterative could be that the user can sign a message from the sending addy in case of any loss of wallet or addy's, In that case you need to remove the date and time thing .
however it is lesslikely to happen but it is possible.

If a user is not able to sign a message, they should be using the forwarding feature (pevpot.com/play) which does it all automatically for you.
sounds quite comfortable than the previous deal, there should be an alternate always.Smiley
hero member
Activity: 1064
Merit: 505
November 11, 2015, 12:04:37 PM
#15
So how does the +EV work exactly? For every satoshi I send I get 1 ticket but anyone can send any amount and there is no limit so my chances of winning will always be variable, right? How can you know if it's going to be +EV if everytime im going to have different chances of winning?

Because for instance in this draw (#1) the prize is always going to be 0.17658 BTC more than players put in (thanks to the sponsor). So as more and more tickets are bought, the EV will get closer and closer to 0 but it'll always stay positive

Oh I see, so basically if I were to play alone no matter how many bitcoins i send the sponsors are always going to send more. Seems pretty nice, hopefully it's +EV for you too in the long run.
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 11:31:18 AM
#14
but it might be a problem if the user wins and is not able to sign a message ....or the alterative could be that the user can sign a message from the sending addy in case of any loss of wallet or addy's, In that case you need to remove the date and time thing .
however it is lesslikely to happen but it is possible.

If a user is not able to sign a message, they should be using the forwarding feature (pevpot.com/play) which does it all automatically for you. But if there's any problems with the winner signing a message, I'm more than happy to work with them to make sure the money arrives in the right hands. The point of the signed message isn't to be an obstacle, it's designed to stop mistakes =)
sr. member
Activity: 420
Merit: 250
November 11, 2015, 07:20:29 AM
#13

The idea is that the weekly prize amounts are supposed to be significant amounts of money, and I don't want to blindly send them hoping they arrive in the right spot.
but it might be a problem if the user wins and is not able to sign a message ....or the alterative could be that the user can sign a message from the sending addy in case of any loss of wallet or addy's, In that case you need to remove the date and time thing .
however it is lesslikely to happen but it is possible.
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 06:59:19 AM
#12
So how does the +EV work exactly? For every satoshi I send I get 1 ticket but anyone can send any amount and there is no limit so my chances of winning will always be variable, right? How can you know if it's going to be +EV if everytime im going to have different chances of winning?

Because for instance in this draw (#1) the prize is always going to be 0.17658 BTC more than players put in (thanks to the sponsor). So as more and more tickets are bought, the EV will get closer and closer to 0 but it'll always stay positive
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 06:53:21 AM
#11
yeah but why would people send it from their bustabit accounts ? i mean they clearly cant sign a message from there.

Yet people will do it anyway. I've probably had >25 support tickets from people withdrawing from their bustabit accounts to on-chain gambling games like satoshidice / satoshibones / lucky.bit even despite:



Quote
you can restrict them to use only home wallet's or blockchain ..etc.
people lose their wallet and addresses many times and also export keys for several reason's .
it's tricky .

In all those cases, users should be able to easily sign a message and direct payment of the prize if they win (including direct to their cold storage).


The idea is that the weekly prize amounts are supposed to be significant amounts of money, and I don't want to blindly send them hoping they arrive in the right spot. It also allows me to do the forwarding-addresses (pevpot.com/play) more efficiently, because when I generate the forwarding address I immediately sign (and save) a message directing proper payment.
sr. member
Activity: 420
Merit: 250
November 11, 2015, 06:47:08 AM
#10
i dont understand the " signing message " thing ?
why would you require it ?

I cover it here: https://www.pevpot.com/faq#signing

But a huge reason is help protect people from themselves, while still being provably fair.  Actually already someone has played the lottery directly from their bustabit account (instead of using the forwarding feature). If I blindly returned money to the sending address, it'd end up in someone else's account.  Now if that transaction wins the lottery, I can actually take the time to sort it out. For instance what I'll do on behalf of the user is generate a signed message from the sending address which direct proper payment and then I can then publish the signed message (so you can verify I sent to the right spot).
yeah but why would people send it from their bustabit accounts ? i mean they clearly cant sign a message from there.
you can restrict them to use only home wallet's or blockchain ..etc.
people lose their wallet and addresses many times and also export keys for several reason's .
it's tricky .
hero member
Activity: 1064
Merit: 505
November 11, 2015, 06:36:23 AM
#9
So how does the +EV work exactly? For every satoshi I send I get 1 ticket but anyone can send any amount and there is no limit so my chances of winning will always be variable, right? How can you know if it's going to be +EV if everytime im going to have different chances of winning?
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 06:35:25 AM
#8
i dont understand the " signing message " thing ?
why would you require it ?

I cover it here: https://www.pevpot.com/faq#signing

But a huge reason is help protect people from themselves, while still being provably fair.  Actually already someone has played the lottery directly from their bustabit account (instead of using the forwarding feature). If I blindly returned money to the sending address, it'd end up in someone else's account.  Now if that transaction wins the lottery, I can actually take the time to sort it out. For instance what I'll do on behalf of the user is generate a signed message from the sending address which direct proper payment and then I can then publish the signed message (so you can verify I sent to the right spot).
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 06:29:39 AM
#7
Nice project, fix this  https://www.pevpot.com/how-to-play
It shows provably fair box twice.

Good luck!

Each column is supposed to be a different way of playing. But seems that page is a bit too complex, I'll totally overhaul it tomorrow =)
legendary
Activity: 2557
Merit: 1886
November 11, 2015, 06:29:00 AM
#6
Thanks for the proof-reading Dooglus, I'll pushed up some fixes  Smiley

I wonder if it's possible to find a solution which isn't able to be parallelised, takes a long time to solve, but no time to verify.

http://crypto.stackexchange.com/a/9331 looks promising. It gives us:

* slow for the miner to compute
* quick for the users to verify
* not possible to parallelize

but with the disadvantage of the pevpot site having to keep a secret until after the draw, and being able to cheat (by removing the slowness) if it colludes with a miner

This is quite interesting, as it's basically like having a "server secret" that I don't need to worry about losing. But if the amounts in the lottery are sufficiently large that this is an issue, I believe the issue of "pevpot colluding with a miner" would be problematic. So I would steal lean towards a function that took an hour of computation time to verify (and compute initially). I've spent a while looking, but haven't found a function that satisfies:

* Is not parallelizable
* Slow to compute, fast to verify
* Offers no collusion possibility (i.e. no server secret)

any 2/3 however seems easy =)
sr. member
Activity: 420
Merit: 250
November 11, 2015, 05:01:59 AM
#5
i dont understand the " signing message " thing ?
why would you require it ?
legendary
Activity: 2940
Merit: 1330
November 11, 2015, 04:51:55 AM
#4
More typos:

"This can only be done from a bitcoin wallet which you can both receive and sign a message from the sending address" -- you mean "with which ..." I think. But even then that's a confusing sentence.

"for every satoshi sent, is one chance of winning" -- that's not grammatical either

"So lets say you send 0.01 BTC" -- "let's"

"This transaction is the wining transaction"
full member
Activity: 182
Merit: 100
★Bitvest.io★ Play Plinko or Invest!
November 11, 2015, 04:32:02 AM
#3
Nice project, fix this  https://www.pevpot.com/how-to-play
It shows provably fair box twice.

Good luck!
Pages:
Jump to: