Pages:
Author

Topic: Provably Fair Online Poker by Dabs (Beta Test 1) - page 2. (Read 5886 times)

full member
Activity: 237
Merit: 100
I rave ... whats your excuse?!?
Seems okie dokie to me Cheesy My next 'payout' for mining will be Wednesday so I'll send my coin then. Seems I've probably got time but if the other players send in all their coin before Wed. I 'may' be able to squeeze enough out of my remote wallets to add up to 0.01 Tongue

Getting excited! Cheesy
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
My problem is I can't really reliably state what I'm doing.  My stakes would be something on the order of a few bitmills.  I'm just kind of disgusted with poker at the moment and can't be reliable.  I'd say 10 bitmills or so.  

My preference would be something like a sit and go.  Because I can't really reliably show up.

disgusted = although off topic, how or why? It is still considered gambling despite involving some skill.
bitmills = ? 0.001? So 10 bitmills is 0.01 ?
sit and go = Sure I can wait a few days for your turn, and all other players should be able to wait.

Or did you mean a fixed Sit and Go tournament? For 3 or 4 people. We will probably be talking about fixed limit or pot limit or something I think. With such stakes, it wouldn't make sense for a No Limit game would it? Actually, it could, the table stakes and your buy-in is the limit effectively.

I'd also prefer that everyone buy-in with the same amount, so if everyone (3 or 4) send 0.01, then we have 0.03 or 0.04 "in the bank", and those are all the chips. Then maybe I'll fix the blinds to 0.001 / 0.002 or something like that. So we can do at least a couple of hands.

I'd also prefer at least 3 players, and not just a heads up.

Once one hand is done, I've basically opened Pandora's Box. If I never get to implement it on my own server, everyone else will. (and even if I do.)

So unless there are objections, I am declaring the buy-in to be 0.01 BTC. Send your coins to the poker address above 1PokerUdZ36KMsg7rmp1ruAiufVT2jAFpf and post or PM me the transaction. Optionally sign with the bitcoin address you used.

Summary:
1. Texas Hold'em Sit and Go style, but we just keep playing until you want to leave (cash out) or until you're bust.
2. Waiting for 3 players or 4.
3. Seat #4 = gektek, Seat #? = darkmule, need another 1 or 2 players.
4. Buy-in 0.01 BTC. Big Blind 0.001, Small Blind 0.0005. No Limit. Changed to:
4. Small Blind / Big Blind = 0.001 / 0.002 and the Buy-in is only 0.01.
5. 3 days = disconnected = fold. Hope this is fair. You have 72 hours to reply with your move. No moves out of turn please (no reason to.)
6. Every hand is a new deck, shuffled as per the first post, with players allowed to "cut".
7. No leaving once the cards have been dealt, if you do, you are considered folded.
8. Button moves in sequential order, first one is Seat #1. Therefore #2 is small blind, and #3 is big blind. (Hey, first come first serve right?) Next hand button is on Seat #2. Next hand after that button is on Seat #3.

Does that sound fair to everyone so far?
legendary
Activity: 1176
Merit: 1005
These people have replied on this thread.

1. cparsley
2. darkmule
3. vlees
4. dooglus
5. gektek

Kindly state the following:
0. Are you playing? or just watching?
1. What game do you like? Default = Texas Hold'em as in most poker sites.
2. What is your buy-in or stakes or whatever you want?
3. Would you like just 1 hand, or you all play several hands until someone has everything?
4. Where do you want to sit? First come first serve. Available seats are numbered 1 to 5 (or more) with the first 1 is where the dealer button will be or rather the one who gets the first card dealt.

My problem is I can't really reliably state what I'm doing.  My stakes would be something on the order of a few bitmills.  I'm just kind of disgusted with poker at the moment and can't be reliable.  I'd say 10 bitmills or so. 

My preference would be something like a sit and go.  Because I can't really reliably show up.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
According to some research, there used to be an irc bot. Dunno if that is still working. It wasn't provably fair, so it's best I make mine from scratch anyways.

This system would work in any setting where I can send both public and private messages, such as irc, chat, this forum, or even the local network. Public only environments can still work but would spam with too much encrypted chatter that everyone does not need to see.

This forum based one seems to be taking its sweet time, or the other posters are just busy handling their own stuff.
staff
Activity: 1286
Merit: 1085
Hey everyone,

Just to let you know I'm watching this thread since the beginning (actually since the previous thread) and I really like the effort spend improving the way poker sites deal with transparency.

I might join on a future test game, just want to see how things go on this first try.

I really like the idea of a irc bot or a website implementing your ideas.


Adriano
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
That's still a dice game. Interesting, but I'm sure someone else can handle that.

It's a little complicated, but not as complicated as a true Mental Poker implementation with voodoo math that most people do not understand.

You can also join if you want. You don't need to understand what's going on if you trust the dealer or other players or those watching and they agree that the game looks fair.
hero member
Activity: 640
Merit: 771
BTC⇆⚡⇄BTC
That's a very interesting experiment, besides it's a little complicated.

If it gets too much complex in order to implement, try doing something similar with Poker DiceCool

Cheers!
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
@gektek. I'm watching the mining forums too, but not as actively. I missed some nice IPOs, but I'm more concerned about the chips now. Anyway, thats off topic.

Yes, as the dealer and essentially the cashier, I will issue you chips, and you get to play with that. When you want to cash out, is when I actually send the transaction. But instead of chips, let's use the actual value. Or would you rather I have like 1BTC = 1000 Dabs chips?

Think of it as off-the-blockchain.

One transaction in. Bunch of games. If you still have a balance left, one transaction out to you. If you lost, well, I have to give it to the winner, hehe.

Also, I said rake free, but I did not say bitcoin transaction fee free. You get whatever you cash out minus 0.0001.

Tips to the dealer are voluntary. Smiley

In the future, I will use a proper server or irc or chat bot or whatever.

Game: I think Hold'em is the most popular. You guys vote on no limit, pot limit, or fixed. I'll just grab the rules from another poker site and use that.

Seats: #4 = gektek. In a typical game, the button moves after every hand. So your position is good for the first hand. Then all of you either switch, or the button goes to the next player.
full member
Activity: 237
Merit: 100
I rave ... whats your excuse?!?
Lets see if I can give a satisfactory answer here Wink

I am VERY interested in playing...as long as I can afford it. I only mine up around 0.02 to 0.03 bitcoin per day after expenses as it is so if a game gets too pricey I'll have to fold/bow out regardless. In this regard...either by trust or by escrow (and maybe this was discussed already and I missed it...sry, following a LOT of threads with all the botched group buys going on hehe) is there a way to do some sort of 'deposit to personal account' so that I can deposit 0.25 and 'play off that'. I ask because at one point it seemed like the 'chips' were going to be worth around 0.01 btc and up. With there being 'personal deposit accounts' I can put in my 0.25 and play with 'chips' valued at a nickel, dime, and quarter or roughly 0.0005, 0.001, 0.0025 respectively, without having to worry about a 0.0005 transaction fee with every bet. This is all assuming of course I can convince you to do 'small bet' games. If the minimum bet is going to be around the 0.01 btc or above range then I will have to respectfully switch to 'watch' mode Cheesy

That being said...I think my choice of number of hands kinda falls in with what I've already discussed...all depends on price Wink

oh right...and the game...I am impartial but something 'familiar' or popular and 'easy' would be good. The less game mechanic rules the first round probably the better no?

If we're calling seats...I dunno why but seat 4 looks nice. If its first come first served then well... Wink
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
These people have replied on this thread.

1. cparsley
2. darkmule
3. vlees
4. dooglus
5. gektek

Kindly state the following:
0. Are you playing? or just watching?
1. What game do you like? Default = Texas Hold'em as in most poker sites.
2. What is your buy-in or stakes or whatever you want?
3. Would you like just 1 hand, or you all play several hands until someone has everything?
4. Where do you want to sit? First come first serve. Available seats are numbered 1 to 5 (or more) with the first 1 is where the dealer button will be or rather the one who gets the first card dealt.

Additional rules: You may leave the "table" at any time if the others decide to continue playing. Others may join in, but will have to wait until the current hand is over, I will just reserve your "seat."

Current status: The cards have been shuffled. Waiting for players to cut the deck.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
I just was talking to someone else about this and we sort of agreed that to date, the way I see it, there are maybe 3 or 4 levels of online poker now:

1. The way it is now, no security, no proof, just trust the site. All existing poker sites are at this stage.
2. Some proof, but you still have to trust the site. This is where I am. "some" proof. Maybe just enough proof.
3. Centralized Mental Poker (with or without drop tolerance). You still need a site.
4. True Decentralized Mental Poker. P2P. No site at all. Maybe a tracker like in torrents.

And it's only a matter of time before 3 and 4 are achieved. In fact, he says he's done it.

He claims he will shake the whole online poker industry with a rake-free smooth p2p poker experience.

The problem there, so far, is, Who holds the pot? or the chips? So somehow, you'd still need a table, you'd still need a banker / cashier, you still need to buy-in with chips and you'd still need to cashout or withdraw. Also, variations of Mental Poker have shifting decks or completely random decks especially when a player drops out. I'd prefer to the same analogy of physical poker where you see the back of the deck, it's just being held by the dealer then deal cards from the top.

For 30 years, Mental Poker was (and still is) impractical and unsolved.

I just think, adoption of the 4th level of Poker (as listed above) will take time because most players actually don't seem to care, as evidenced by the sheer number still playing at 1st level Poker. It's more the site and it's reputation than the system. #3 and #4 will first be adopted by the math geeks, then slowly trickle down to the mainstream players.

On the way there, I hope to catch some on #2. I never said I'd solve the original problem, but I took a small step in a similar direction.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
I'm bored. Where are my players?



Ok, I grabbed a table from one of them games, then did some photo shop work on it.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
I found one game variant where you sometimes get to see ALL the cards. They call it Chinese Poker, with a variant called Open Face Chinese Poker.

When I read the rules, I remember playing this particular variant before. We didn't call it Chinese Poker, we just called it Pusoy, and some called it "Good, Better, Best". Because that's what you do. 4 players are dealt 13 cards, and you show it all on the table.

And then, after reading this link:
http://en.wikipedia.org/wiki/Chinese_poker

I can take a good guess why I used to play it. We have a large Chinese community in the Philippines. In fact, the top businessmen in the country are mostly Chinese.

They gamble and play everywhere, I see them playing Mahjong, Chinese Poker (and Pusoy Dos) and Tong-its (another pairing up card game), and, of all places I see them in Baptisms, Weddings, Birthdays and Funerals.

Despite being exposed to the culture for a long time, I find it fascinating that people gamble at funerals. Usually, when it is a young person, no one does it. But when it is an old person, like a grandparent, people are actually happier, and willing to play. Maybe because, it is expected, I mean, a person who dies at 90 years old is a chance for a mini-reunion of everyone who is related to that person.

Open Face Chinese Poker would eventually reveal almost all the cards. This would be the easiest game to show Provably Fair, even without all the card secrets. A simple deck hash (like it most bitcoin blackjack games) is all that is needed after shuffling and it's already Provably Fair.

I'm guessing though, that you guys probably want to play Hold'em.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
As a player, no math involved on your part. I will show the calculations and the solution and the answer. For the hash functions, there are links on the web to do it all online. Here's one you can use.

http://www.xorbin.com/tools/sha256-hash-calculator

For example:
Dabs hashes to c0e6c3a45c1f8fc1ec10f4aed977dcad9d1562e8a9a59057bd2b5ed22e37dea4.

The 1poker address took about 30 minutes to generate on my laptop. It's a 3 year old dual core intel laptop.

For the game itself, it's a toss up between hold'em and a draw variant or a stud. The two other players should take a vote.

After a lot of research and watching and downloading 5 different poker clients, (sandboxed of course), it seems the most popular game is hold'em. I tried pokerstars on both my laptop and ipad. Everyone is playing hold'em and each player gets about 10 seconds to play his turn.

No wonder they play so many hands per hour.
legendary
Activity: 1176
Merit: 1005
I still don't know what game you guys want to play and what stakes are involved and what bet limits or betting structure you want, but I made the following address anyway:

1PokerUdZ36KMsg7rmp1ruAiufVT2jAFpf

Neat!  How long did it take to generate that?  I'd play pretty much anything, it's really up to you, but give details at least 48 hours in advance.  My only request is that actually participating not require me to do anything overly complicated above my levels of mathematical ability.  Consider teaching me any more math than I already know to be something like trying to explain quantum physics to a goat.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
I still don't know what game you guys want to play and what stakes are involved and what bet limits or betting structure you want, but I made the following address anyway:

1PokerUdZ36KMsg7rmp1ruAiufVT2jAFpf


Code:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is the address for the Provably Fair Online Poker by Dabs

1PokerUdZ36KMsg7rmp1ruAiufVT2jAFpf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (MingW32)

iQIcBAEBAgAGBQJSGC9mAAoJEDbkFXgyrXVlj8oP/AtN5tJdZuc38AJmWH/pTsWK
gUR0/R3XeMeOHQAznz1qxee6Y4CqKKdQnSBVUUuCzsgagn2WJG/P+vct4E56oAkH
BU5RbbfwMvQAHkh/VjDzCcaCEoZLrKIEBV5bM0/dyguFMN2AT2OuKcfSo3FhbTlS
LVc/E1RUfFQP0czIYwGetlEUQc1qZkqcx7N3bGeBxpXlXGWEy5RRQP1xs5d2Lyf+
GNY87E9FcOFNaeUCReb7Jv55mlPwsPqLyR9E1MHjsY/ifGm+v7z5s92/Sn3GKmmW
UI83t1wYxeAE6NM9xF+3WuRId2Aw8L8HMbZU+9JaGjObiWi6XXjG13OXZhjRp/FG
yYY/fd+4sTLE+DuQZmhniZYvNjDUlnJkyvR6IVEG/ITvAVAz+Qj9DFSb8twWPqkj
GZxmzo0MI2RFs94kyMLiBCe2UGv9VDlCI7kfLSLrpDc/wxrfRik0W2Cbk6KCq3pY
96eiVBierwN18942eTbdsP51Vwe8A2gY3Jf//sqx0aaUCC9r+KjZIE8aWdKc+Upj
ul9r5LTgxmgkugBlQMA/nA62Wb1Ylkn6d+yMtcXrPJwztNa+4qtZ6YJoTMjOEuM7
nluoKKRevSkPXuwv6WmJ7l39PhFAab+loEfgyMA5ElGbp6b7MgF+0qoOXxRPz9O4
voXR6FO18gVP/7Rzrj2h
=ij6G
-----END PGP SIGNATURE-----
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
Math Questions / Probability Questions: (Related to how Provably Fair this will turn out to be.)

In a deck of 52 supposedly unique cards, individually hashed with a random secret using SHA-256:

1. What are the probabilities of each hash representing a different card?
2. If one card is revealed, how sure are you the other 51 cards are not the same as the one you already saw?
3. If several cards are revealed, what's the math for those?
4. Using the current system of card secrets in the first few posts:

4a. a card secret of 64 character length (maximum of 256 bits worth)
4b. a dealer shuffle secret of 64 character length (maximum of 256 bits worth)
4d. the hash of 4a is known. (definitely 256 bits)
4e. the hash of 4b is known. (definitely 256 bits)
4f. the hash of both 4a and 4b is known. (definitely 256 bits)
4g. the dealer shuffle secret is revealed after 4f is known.
4h. 4b can now be verified to match 4e.

How easy or difficult is it to find the card secret knowing it is half of the 4f string?

According to the current system, you can check the following:

1. Any community or public or face up cards can be seen and verified against the hash published before the deal.
2. All your hole cards, or cards only you, as the player can see, you can verify for yourself against the published hashes.
3. If all the other players are satisfied, you can be reasonably assured they got their cards fairly too.
4. Over hundreds or thousands or millions of hands, you can do statistical analysis about what you do know for sure, and it should be consistent with the rest of the deck even if you never see them.
5. In a game of Texas Hold'em, If there are 10 players at the table, that's 20 cards revealed (18 privately, 2 to you), and at most 5 on the table, for a total of 25 cards, which is already almost half the deck.

An extra card secret which can all be publicly revealed may help support the provability of the entire deck, without revealing the cards you are never meant to see.

Again, this leaves the game with 2 problems: Super-Users and Collusion. We already know about that, we'll deal with that separately. But in an attempt to keep it short and simple, here is what can be done now.

1. Super-Users: Don't give anyone else access to the secrets.
2. Collusion: heads up play won't have a problem. All other tables will have to be monitored by both staff and players for signs of collusion.

Another idea is to use 2 decks of cards or rather there are more cards than in a normal game, but the second deck or all extra cards are all revealed after the shuffling before the first card is dealt. All extra cards are then skipped from being used.

You now have half of the 104 card deck already revealed at the start of the game. Think of them as 52 Jokers that can't be used. They are just part of the shuffling process.

I figure that the more cards are revealed (either to the players alone or to the public) then the more fair the shuffle and deal is going to look like. The extra cards will of course be easily identifiable that they are not part of the game itself.

I can attempt to stack the deck in favor of a particular player by using duplicate cards, but there is at least a 2 in 52 chance (or 1 in 26, or 3.846%) that this will be discovered during play. After the players cut or reshuffle the deck, it can't be done since that duplicate card is now somewhere else in the order of the deck. It does not make sense to use anything other than 52 regular standard cards in a deck.

The shuffling process is such that the actual shuffling algorithm knows nothing about player cards. It simply shuffles the cards so that each one is equally likely to end up in any of the 52 slots. This occurs before the hand even starts. It doesn't know that each hash corresponds to a playing card, let alone in a poker game, let alone for Texas Hold'em, let alone who they are dealt to or to which table.

What makes a good card shuffling algorithm are two main requirements: each card must have an equal chance of landing in any position in the deck, and the random number generator used by the shuffler must be unpredictable to a human observer so that they cannot determine the future order of the cards.

I am using SHA-256 with the option to upgrade it to SHA-512, both of which are overkill and inefficient for this purpose, to satisfy both requirements. However, it takes the computer or server just a mini-micro-short second to do all that. Accidental hash collisions are a problem I am simply not going to worry about. Intentional hash collisions are also another problem I will not worry about.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
@darkmule, can you kindly post the Jacks or Better variant you are interested in? (unless you prefer hold'em or something else.) I am willing to host any kind of game.

I will try to enumerate the rules in a step by step manner (including bets), so we all see the order of the game. Then I will announce which game, and what buy-in and any other details so we can start.

Then the players cut the deck by supplying a seed by posting here (or send me a PM). I will hash all three and post here, then apply the shuffling, then post the seeds. Then everyone can tell for sure the shuffling was fair. (It can't not be, because... it just has to be fair at this point, I don't see a way it can otherwise be.)

Then I deal from the top of the deck, to players, in order.

Since I can see all the cards, I can easily determine if anyone has a pair of Jacks or Better, and can easily enforce this requirement, if this is the game we will play.

If no one has Jacks or better, we start over. I can not use the same deck because you will see the cards you already had. I will have to restart with a brand new deck, with brand new card secrets. At that point, I can reveal everyone's cards or bring it with me to the grave (this is easy, I just delete the file containing the secrets) and just announce that no one got Jacks or better. You know what you got, and you know it is not Jacks or better. Then you will know that the other two also did not get Jacks or better, but you don't know what they got.

I think I should keep it that way, unless you all agree to reveal your cards (you simply post them.) As the dealer I can't decide on that.

Since I will hold all the money, I can not, and will not favor anyone, this will be as fair as a face-to-face poker game. This is where you have to trust the dealer (me.) that I won't disappear. That will only happen if I get hit by a bus. No dead man's switch here, sorry. (Your bitcoins will go to my funeral if I die, so ... just kidding.)

I post every step of the way, at every turn. This is why this game will take several days. Sorry, it can only get faster if I host a live chat or something, but then I'd have to dedicate the time to it and all players have to be present in real time for live play. And unfortunately, I don't have the time, and I probably live in a different time zone.

Winner gets the pot. Remaining balances gets refunded back to players if they have any left.

Unless you guys want to play more than one game, or turn this into a mini 3 player tournament, where winner takes all.

Edit1: For this first game for these 3 players, I am allowing player provided seeds composed of UPPERCASE letters, lowercase letters and numbers, up to 64 characters in length, as long as it looks random. You can grab some inspiration from these two websites:

http://www.random.org/strings/?num=10&len=20&digits=on&upperalpha=on&loweralpha=on&unique=off&format=html&rnd=new
https://www.grc.com/passwords.htm

You could just grab one straight from either of those. Pick one, send it to me in a PM. I will then post the SHA-256 result of it here. Then I shuffle using my sort method. (Yes, it's ugly, but it works, I'll figure out a proper Fisher-Yates shuffle based on player seeds later.)

You can also use whatever password generator you have. Why limit to just letters and numbers? Because I can double click on it and copy the whole "word". Any symbols or spaces break it up. Besides, it's way more than 256 bits worth of entropy even with just letters.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
Well, it seems I have 3 potential players.

1. cparsley
2. darkmule
3. vlees

The question now is, what game? What bet limits?
The other question is, do I implement the second card secret now already? I haven't dealt the cards yet (in fact, the players have not yet cut the deck.)

Upon doing some basic research, there are two possible attack vectors to attempting to cheat this game, both of which can be the considered the same:
1. Birthday attack
2. Collision attack

http://en.wikipedia.org/wiki/Birthday_attack

Using a 256 bit hash such as SHA-256, to get a 0.1% chance of figuring out the cards of the other players takes 1.5 × 10^37 hashes, or attempting to brute-force.

You are better off trying to figure out the card by the way the player bets (this is poker after all.)

http://en.wikipedia.org/wiki/Collision_resistance

http://en.wikipedia.org/wiki/Provably_secure_cryptographic_hash_function

I will probably never go that route, it messes up my brain too much at this point. Using classical hash functions like SHA-256 is more than good enough, don't you think?

Quote
In the second category are functions that are not based on mathematical problems but on an ad hoc basis, where the bits of the message are mixed to produce the hash. They are then believed to be hard to break, but no such formal proof is given. Almost all widely-spread hash functions fall in this category

Thus my argument in another thread that "Provably Fair" is actually "Probably Fair" but with a very very very very high degree of probability. We would need to use provably secure hash functions to be really provably fair, but that's the platinum standard already. I don't mind just going for the gold standard. We have other issues to worry about.
full member
Activity: 237
Merit: 100
I rave ... whats your excuse?!?
Okay, who is playing? And what are we playing?

In case of weird betting structures, you can just send in 10x the minimum bet as the buy in. The winner gets the pot. The rest who didn't go all-in get refunded their balance.

This is going to be a single ring game or cash game, unless the same players agree to play more than one hand.

Well, I don't fully understand the logistics but I've had fun throwing my btc at you in your lotto game. I'm vested in a few other 'ventures' until the end of the month but if the interest keeps up I'd like to join in at the beginning of next month. I know this wasn't the reply you were looking for but wanted to make sure you know that there IS interest in the game...just, for me at least, the timing isn't 'ideal' Cheesy
Pages:
Jump to: