Author Topic: .  (Read 3554 times)

0 Members and 1 Guest are viewing this topic.

Offline arubi

  • Sr. Member
  • ****
  • Posts: 209
    • View Profile
Seems like we all pretty much agree that decentralized poker is possible.
Can we list some reasons why is might be impossible \ too fragile?

By impossible I mean, for example, if there's no way to:
  • Deal a deck
  • Play a hand
  • Pay the winner(s)
Without relaying on a trusted party \ arbitrator (which is not chosen randomly from within the party) \ oracle.

So far it seems that dealing a deck has more or less been solved. If a group of nodes on the network can somehow decide they all want to play a hand together, then dealing a deck between themselves and then knowing which of their secret keys goes to which player is possible.
I don't know enough about Cryptography to know which encryption function will be safe to use though. One reason "Dealing a deck" might be impossible is if there isn't a function that works properly for this use case.


Playing a hand is also easy assuming we have an encryption function that works.
All players should follow the rules of the game, so all players should know which of their private keys they need to publish so all players could see the correct cards for the flop, turn and river.
The hard parts are:
  • Betting
  • Player drop
Betting is pretty hard. Where do the bets go?
Bitshares is cool since it kinda provides a mechanism for locking value in the blockchain and later release it given some conditions. A reason why this might not be usable is if all parties would require their own fork of the blockchain, since that would mean they now have to delegate it themselves, and that means an easily attackable chain.
Note: Relaying on delegates in this case does not mean using oracles. The entire economy of the decentralized poker room is internal. There's no need to fetch information from outside.

Player drops is a major problem for this protocol. A paper linked in this thread:
Dropout-Tolerant TTP-Free Mental Poker
Looks promising.


Now that we've played a hand, we need to pay the winners.
In normal, real life poker, the bets would be on the center of the table and the winning player(s) would take his\their share. If someone tries to steal from the pot or not pay his share when he loses, there is a physical solution to make him pay.
On the network, bets would have to be released to the winners from a state where they are not reachable to anyone (not delegates, not other players, not the player himself), and the release mechanism should be able to figure out, from a given hand of poker, who the winners of the hand are and to release the funds to them (taking into account all side pots, differences in all-ins, etc.)

Decentralized poker is difficult. Relaxing even a single item on this list would mean that the game is no longer purely decentralized and that would unfortunately mean there is no major advantage over the current online casinos.

Thoughts?

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
This has been a dream of mine since last year :)

I think it will happen sooner or later... sooner rather than later. Nxt has two projects being developed... NxtPoker and Pangea. There is also Bitfrog.. I'm on the fence about tha tone though, it may be a straight up scam. There is supposedly another one in development as well, but they have not gone public yet. There have been a few open source implementations programmed.. maybe one or two of them incomplete and probably abandoned/outdated. In my opinion the Nxt projects were really quick to gather money for simply ideas and they were not well thought out. They had 0 technical development road map or technical research in their prospectus, and I don't think they fully understand the complications. That could be them being secretive as to not help any other projects, but I doubt that they did much research and planning before going straight to crowd funding and developing. I have been researching the topic for about a year now, although I just recently shifted into a higher gear. ;)

As you can see a decentralized poker DAC is very complicated... if it is not well researched and planned, then you will end up with a sorry end product.. probably even one that is broken in one way or another. I think it is important to do a lot of research and have open discussions as to the different aspects and pros/cons of different approaches before starting development and/or crowd funding. This is what I am focusing on for now... I will be aggregating research for at least another week. I will eventually write my own paper(s) combining what I have learned from reading all (or most... a lot to read) of these papers. I have only read about 20 or so of them so far, and skimmed the rest to insure they were applicable to the subjects at hand.

I am trying to create some interest in the Bitshares community to take a stab at their own version, because I feel like DPoS has the potential to solve some of the issues associated with decentralized poker. Using delegates for various roles can solve a lot of the problems, and the efficiency of DPoS is a plus. I believe I have a few ideas to combat collusion and bots in decentralized poker that most people have not thought of... I will leave those ideas to myself for now as this project is a long ways off from development, but I will publish them in due time. I envision delegates playing an important role in many different aspects of this. I really need help with the mental poker aspect of this though, the cryptography is a little over my head but I am trying to understand it all. If anyone would like to help in that aspect of it, feel free to chime in and help.

Feel free to move the thread.. I'm not sure if this belongs here as it would probably have to be its own DAC. I just figured this sub-forum was the most applicable. I posted many more research papers on mental poker this morning. I believe that is almost all literature on Mental Poker that exists... minus a few papers that I could not find free PDFs for.
I enjoyed reading this.

Based on the amount of reading you did I am sure you are aware of prior discussions about decentralized poker on this forum?
https://bitsharestalk.org/index.php?topic=2690.0
https://bitsharestalk.org/index.php?topic=10071.0
https://bitsharestalk.org/index.php?topic=9400.0

If a Bitshares poker projects at any time has a need for it I can connect you to some of the best online poker players.
« Last Edit: February 20, 2015, 09:23:41 pm by delulo »

Offline Come-from-Beyond

  • Full Member
  • ***
  • Posts: 113
    • View Profile
This has been a dream of mine since last year :)

Dice poker is already possible on any platform that supports smart contracts.

Card poker is possible for more than 2 players if it's OK to reveal picked cards without revealing who exactly picked them. Smart contracts is the must.

So, your dream is almost here...

Offline arubi

  • Sr. Member
  • ****
  • Posts: 209
    • View Profile
This has been a dream of mine since last year :)

Offline decentralizeeverything

  • Newbie
  • *
  • Posts: 1
    • View Profile
.
.
« Last Edit: February 24, 2015, 01:53:34 pm by decentralizeeverything »