Author Topic: PokerChips: Hosting Fair RNG Sessions  (Read 19325 times)

0 Members and 1 Guest are viewing this topic.

Offline MrJeans

  • Hero Member
  • *****
  • Posts: 599
    • View Profile
  • BitShares: mrjeans
I was also thinking along the lines of being randomly assigned to a table and having your identity concealed from others.
Here the only way to collude with someone else or yourself would be to wait until players have taken a turn and then observe the similarity between tables to see if you have managed to get two hands on the same table. Buy paying a tiny fee to join a table, such a collusion strategy can easily become unprofitable if there are enough tables.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
One way you could go about it is to take the baby step during the initial design of playing every game heads-up. With only two players, collusion becomes irrelevant.

You can still have player/host collusion, since players can't know the PRNG seed while the game is going. There's no clever crypto to avoid this AFAIK
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline mint chocolate chip

One way you could go about it is to take the baby step during the initial design of playing every game heads-up. With only two players, collusion becomes irrelevant.

Offline JakeThePanda

  • Sr. Member
  • ****
  • Posts: 233
    • View Profile
Neither of those solutions solve the problem. The problem is two players at the same table sharing information about their hands.

Anonymizing identities doesn't matter if me and my accomplice know each other in real life and can just pick the same table.
IP addresses are totally useless for anything related to identity verification.

The only thing I can think of is a trust ranking or public statistics on your play. Stats like how often a player sat at the same table as another player and how often they played a hand together and other stats that may be relevant to collusion only.  Along with stats, you can have an approval system to sit at the table.  If 80% of a persons hands were played at the same table as another player, the other players at the table can disallow that player to sit.

I don't know.  Just throwing out ideas.

The thing about blockchains is that every time you play you can be a new user.

How about making your seat and table random?  The player can't choose where they play.

Offline bytemaster

Neither of those solutions solve the problem. The problem is two players at the same table sharing information about their hands.

Anonymizing identities doesn't matter if me and my accomplice know each other in real life and can just pick the same table.
IP addresses are totally useless for anything related to identity verification.

The only thing I can think of is a trust ranking or public statistics on your play. Stats like how often a player sat at the same table as another player and how often they played a hand together and other stats that may be relevant to collusion only.  Along with stats, you can have an approval system to sit at the table.  If 80% of a persons hands were played at the same table as another player, the other players at the table can disallow that player to sit.

I don't know.  Just throwing out ideas.

The thing about blockchains is that every time you play you can be a new user.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Neither of those solutions solve the problem. The problem is two players at the same table sharing information about their hands.

Anonymizing identities doesn't matter if me and my accomplice know each other in real life and can just pick the same table.
IP addresses are totally useless for anything related to identity verification.

The only thing I can think of is a trust ranking or public statistics on your play. Stats like how often a player sat at the same table as another player and how often they played a hand together and other stats that may be relevant to collusion only.  Along with stats, you can have an approval system to sit at the table.  If 80% of a persons hands were played at the same table as another player, the other players at the table can disallow that player to sit.

I don't know.  Just throwing out ideas.

IP addresses might not help identify a person, but it could make it more difficult for a single player who has set-up multiple accounts to play at the same table as matching IP addresses would be a major warning sign that a player is playing multiple hands.

You'd have lots of false positives hurting innocent players and the only true positives would be from scammers who are idiots
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline mint chocolate chip

Neither of those solutions solve the problem. The problem is two players at the same table sharing information about their hands.

Anonymizing identities doesn't matter if me and my accomplice know each other in real life and can just pick the same table.
IP addresses are totally useless for anything related to identity verification.

The only thing I can think of is a trust ranking or public statistics on your play. Stats like how often a player sat at the same table as another player and how often they played a hand together and other stats that may be relevant to collusion only.  Along with stats, you can have an approval system to sit at the table.  If 80% of a persons hands were played at the same table as another player, the other players at the table can disallow that player to sit.

I don't know.  Just throwing out ideas.

IP addresses might not help identify a person, but it could make it more difficult for a single player who has set-up multiple accounts to play at the same table as matching IP addresses would be a major warning sign that a player is playing multiple hands.

Offline JakeThePanda

  • Sr. Member
  • ****
  • Posts: 233
    • View Profile
Neither of those solutions solve the problem. The problem is two players at the same table sharing information about their hands.

Anonymizing identities doesn't matter if me and my accomplice know each other in real life and can just pick the same table.
IP addresses are totally useless for anything related to identity verification.

The only thing I can think of is a trust ranking or public statistics on your play. Stats like how often a player sat at the same table as another player and how often they played a hand together and other stats that may be relevant to collusion only.  Along with stats, you can have an approval system to sit at the table.  If 80% of a persons hands were played at the same table as another player, the other players at the table can disallow that player to sit.

I don't know.  Just throwing out ideas.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Neither of those solutions solve the problem. The problem is two players at the same table sharing information about their hands.

Anonymizing identities doesn't matter if me and my accomplice know each other in real life and can just pick the same table.
IP addresses are totally useless for anything related to identity verification.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline mint chocolate chip

Couldn't we solve some of the collusion issue by making the player identities completely anonymous like Bovada Poker does?

Would the system be able to prevent someone from the same IP address playing multiple accounts simultaneously at the same table?

Offline JakeThePanda

  • Sr. Member
  • ****
  • Posts: 233
    • View Profile
Couldn't we solve some of the collusion issue by making the player identities completely anonymous like Bovada Poker does?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Infinite-deck (or similar variants to solve this problem) poker is a really interesting idea but would probably have a totally different emergent gameplay and would not appeal to the huge network of poker pros.

It's good to realize that the problem is not exclusive to DACs by thinking about the fact that two players can signal to each other at a physical table.
You have to make each player think that each of the other players would lose money in the long run by colluding. Since this is not true within poker itself, the DAC has to structure the incentives right using mechanics like reputation and collateral.
If we have a satisfying solution to this then it could immediately be applied to much more important things than poker.

Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline mint chocolate chip

Been thinking hard about this. The actual mechanics of the host/player roles and interactions are complex but not complicated.
The hard part is coming up with anti-collusion incentives. There's pretty much no way around having something like a pseudonymous reputation market / insurance / collateralized trust, with trusted hosts doing their own KYC

Basically one of the biggest roles of the large poker sites is anti-fraud. When it comes to multiplayer games, there's only so much you can enforce using crypto.

This is why I think for a poker DAC you use the block hash as your random source. You need a modified poker game where knowing the hand of another player with whom you are colluding gives you no advantage over a 3rd party.   This means that you have to simulate an infinite deck such that holding an ACE in your hand does not preclude the other players from having the same ACE.



Now the challenge is to
Knowing the hand of another player irregardless of whether there can be the same card out is an advantage, and a very big one when it comes to betting strategy and making every call/raise/fold decision.

I don't like the idea of messing with the rules of the game, there must be some better way to curb collusion without distorting the odds or changing the advantages for the more skillful player.

If you had enough players, randomizing opponents at the start of each hand and hosting tournaments can make there less of a chance of knowing your opponents. Probably many other ideas...

Offline bytemaster

Been thinking hard about this. The actual mechanics of the host/player roles and interactions are complex but not complicated.
The hard part is coming up with anti-collusion incentives. There's pretty much no way around having something like a pseudonymous reputation market / insurance / collateralized trust, with trusted hosts doing their own KYC

Basically one of the biggest roles of the large poker sites is anti-fraud. When it comes to multiplayer games, there's only so much you can enforce using crypto.

This is why I think for a poker DAC you use the block hash as your random source. You need a modified poker game where knowing the hand of another player with whom you are colluding gives you no advantage over a 3rd party.   This means that you have to simulate an infinite deck such that holding an ACE in your hand does not preclude the other players from having the same ACE.



Now the challenge is to
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Been thinking hard about this. The actual mechanics of the host/player roles and interactions are complex but not complicated.
The hard part is coming up with anti-collusion incentives. There's pretty much no way around having something like a pseudonymous reputation market / insurance / collateralized trust, with trusted hosts doing their own KYC

Basically one of the biggest roles of the large poker sites is anti-fraud. When it comes to multiplayer games, there's only so much you can enforce using crypto.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.