Mental Poker [pdf]

145 points by atamyrat 4 years ago | 16 comments
  • Ideabile 4 years ago
    I love solve this problem, is such an interesting point were trust and cryptography comes in place.

    I even try to build a prototype my self for p2p poker. I don't have anymore the code to share.

    Anyway I will also recommend this video about it: https://www.youtube.com/watch?v=mthPiiCS24A

    • wumms 4 years ago
      What if I use a different key for each card?

      I found the answer in the youtube comments:

      > Dan McNeill: What if I use a different key for each card?

      > MrBawn: In the physical version, you could absolutely identify each card by which of your keys unlocked your lock without unlocking your opponent's lock. In the crypto version, you can't tell which of your keys works on an encrypted card because your opponent's lock has turned it into gibberish. So an incorrect key would be indistinguishable from a correct key.

      • Aliyekta 4 years ago
        the video actually features the second author of the paper.
      • fouc 4 years ago
        > Can two potentially dishonest players play a fair game of poker without using any cards - for example, over the phone?

        > This paper provides the following answers:

        > 1. No. (Rigorous mathematical proof supplied.)

        > 2. Yes. (Correct and complete protocol given.)

        • colinsteil 4 years ago
          We at Cartesi (https://cartesi.io) are also building out a fully decentralized poker game called Texas HODL'em on Ethereum which implements mental poker using our technology.

          We've just released the tech article here: https://medium.com/cartesi/how-cartesi-is-changing-the-game-...

          • thudson 4 years ago
            If you want to play mental poker with an arbitrary number of friends/enemies, I built a prototype with a really basic UI that extends the SRA81 protocol to support more than two players and that also removes the need to reveal the hands at the end of the game. https://secret.cards/
            • ruckfool 4 years ago
              "We would like to thank Robert W Floyd, Michael Rabin and Albert Meyer for their motivation and invaluable suggestions"

              That's the Floyd from Floyd-Warshall Algorithm and Rabin from the Rabin-Karp string search Algorithm.

              • kodablah 4 years ago
                I wrote a library for this in Go: https://github.com/cretz/go-mental-poker. The algorithm has general purpose value amongst untrusted peers reaching conclusion while mutating a common blinded subject.
                • ball_of_lint 4 years ago
                  This article is particularly interesting in light of the various lotteries and other gambling devices which are available on the Ethereum Blockchain. They approach a similar problem from a slightly different direction, not always successfully.
                  • uzyn 4 years ago
                    Just sharing, there's a live real money poker room that implements mental poker with an actual gaming license implemented on Ethereum. https://virtue.poker
                    • lgrapenthin 4 years ago
                      Not true, and they are more of a investor scam than anything else.
                    • danohuiginn 4 years ago
                      By Rivest, Shamir and Adleman, as in (creators of) RSA
                      • lisper 4 years ago
                        Which is not a coincidence since the protocol is an application of public-key crypto.
                      • exo762 4 years ago
                        Anyone interested in the subject should also look into https://zkga.me. It's an incomplete information p2p game (just as mental poker). They utilize zksnarks, among other crypto tools.
                        • shadeslayer_ 4 years ago
                          How to teach someone RSA without talking about RSA
                          • wumms 4 years ago
                            Published ~1981