Bitcoin Forum
May 21, 2024, 06:05:44 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Proof of Knowledge without Trusting?  (Read 2596 times)
Dabs (OP)
Legendary
*
Offline Offline

Activity: 3416
Merit: 1912


The Concierge of Crypto


View Profile
September 01, 2013, 07:08:34 AM
 #21

sebastian, that is an interesting idea. Maybe I can set up a separate table for that. Players must know which tables reveal the decks, and which tables keep their secrets forever.

We will then see for sure, where players will go to.

However, I am almost sure that people who bet real money, or in this case, real bitcoins, will prefer the forever secret tables, regardless of anonymity.

Thats one reason no poker site in existence today reveals or makes public logs of games. You simply will not attract the players if they know you will show their cards to the world. Even if its much later, like a day later or even a week later.

Its different when its a televised game of the world series of poker and there are hole cameras so the audience can see all the cards. Those players have contracts, so it could be a part of that. But in the games leading up to that tournament, they keep their strategies secret.

sebastian
Full Member
***
Offline Offline

Activity: 129
Merit: 118


View Profile
September 01, 2013, 11:15:30 AM
Last edit: September 01, 2013, 11:36:35 AM by sebastian
 #22

That can be a good idea.

Either a "secret" table, where theres only a small gurantee against rigging and fake decks (see verification protocol later), the player has to simply trust you, or a "open" table, that after end of game, are revealed to prove that they got a fair deck.
Of course, both tables could use same deck library, just that a deck used in a secret game will not be revealed, never ever.

You publish deck hashes prior to each day.
Deck selection can be based on player's bitcoin adresses, so all bitcoin adresses together, hashed, and then the unused deck hash closest to this hash, rounded upwards, is used, and then marked as secret forever if used in a secret game. If the hash is latest, simply use the deck prior to this, and if hash is first, use the deck after this.
Publish the deck selection protocol. Then the players can verify easly that you didn't give open gamers nonrigged decks and secret gamers rigged decks.

That means, you as house, cannot know which deck are gonna being used in secret and open games, and the player can easly verify that they got the intended deck.


thus those playing open games, automatically, by verifying the decks after a completed and revealed games, automatically assure secret games, because if you would stuff in a rigged deck, you risk that the rigged deck is being used in a open game. Also the public can then verify open games.

Players can also verify that you don't mark decks secret if they don't have been used in a secret game, because, lets say theres is 100 decks in library, and there is 60 secret games played and 40 open. If more than 60 decks are kept hidden, players know theres something fishy going. And those played a open game and didn't get the deck revealed know that you are cheating, because the game was supposed to be open.

To get players to the open tables, you could give the player a reward for playing open games which can be verifyed. The reward can be that theres no house edge on the prize pot, essentially, they play "for free", eg if 10 players bet 1BTC each, the Winner will get 10BTC.




I calculated, if a player are going to "crack" a deck hash by putting all possible deck permutations through it. Cracking a deck has is equvalient to:
52! (52 * 51 * 50 * 49 * 48 * .... * 2 * 1) = 8,0658175170943878571660636856404e+67 combinations
ln(8,0658175170943878571660636856404e+67) / ln(2) = 225,58100312370276194634244437667 bits equvalience

In other Words, cracking a deck hash by bruteforcing all deck permutations, is equvalient to cracking a 225 bit encryption key or hash.


So its safe to publish deck hashes of secret games. Nobody is gonna crack it for the forseeable future.


Selecting open/secret table can be done at table Creation. So theres Always one empty table, all empty table after this are deleted.
The first person who joins the empty table gets to select if the table should be open or secret.
Then a new empty table is created. In other Words, clicking a empty table means "create a new game" in other Words.
Dabs (OP)
Legendary
*
Offline Offline

Activity: 3416
Merit: 1912


The Concierge of Crypto


View Profile
September 03, 2013, 04:25:37 PM
 #23

@gmaxwell, I like the multiple deck idea, but the compression of secrets from 65536 to 16 is something I'm having difficulty understanding.

Would not just two (2) decks suffice? For every hand, there is a 50% chance of detecting a cheat deck. Half the time, if there was a cheat, it will be discovered. Over tens or hundreds or thousands of games, any operator implementing this 2 deck system would be forced to use normal, standard, fairly shuffled decks or risk discovery and ruin.

That saves all the computing power and all the bandwidth and you can still retain 2 completely different and unrelated or unassociated deck secrets. They can be random.

@sebastian, while the idea has some merit, for a poker game I will probably not implement an "open" table. No one is going to sit down on that table. Newbies, maybe, but not the poker players I want to attract.

sebastian
Full Member
***
Offline Offline

Activity: 129
Merit: 118


View Profile
September 03, 2013, 06:03:28 PM
 #24

And about open games, as I said, you could put some reward for playing a open game.
One example of reward is that the players play for free, the house does not take any percentage of the prize pot, while at secret tables, theres a 5% house edge on the prize pot.

Then serious poker players who are playing for recreatenational purposes, will play at open tables because it has so good rewards, while they will play at secret tables when they play "serious".
You need of thinking of a reward that will outweight the "cost" for a professional player to play at a open table instead of a secret table.

Also make it possible to play entirely for free and for fun, with chips that are not real Money. Free games are required to be open.
So Three table types can be used which is selected when CREATING a table (if you join a table, then you play at the creators type):

Paid open game - you get 100% prize pot. Game is played with real Money.
Paid secret game - you get 95% prize pot. Game is played with real Money.
Free open game - you win only "fake" Money. Game is played with "fake" Money.



Think of bitcoin. Bitcoin rewards miners because miners help to detect cheating (doublespending).
You game can be: Poker rewards open players because open players help to detect cheating (stuffed decks, decks not followed etc).
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!