https://www.liquidpoker.net/


LP international Poland    Contact            Users: 281 Active, 0 Logged in - Time: 15:30

P2P Poker brainstorm session

New to LiquidPoker? Register here for free!
Forum Index > Main Poker
 1 
  2 
  3 
  4 
  5 
  > 
  Last 
  All 
Fudyann   Netherlands. Oct 16 2010 19:47. Posts 704

It is possible to play a hand of poker "peer to peer" or without a trusted party without anyone being able to cheat. See: http://en.wikipedia.org/wiki/Mental_poker

This could allow for zero-rake games at any stake, so it is worth thinking about. There is one problem to be solved, however: transfers of money.

Is there any mechanism to take care of "awarding the pot" after each poker hand that gives a guarantee the money ends up in the right hands without anyone being able to cheat?

At first sight, it seems that this is impossible, but if I hadn't known about "Mental Poker" I would have thought that would be impossible without cheating too.

I know we have some very smart people here so let's try to come up with ways to solve this problem.

Facebook Twitter

Zep   United States. Oct 16 2010 20:27. Posts 2292

wtf is this shit?

NeillyJQ: I really wanted to prove to myself I could beat NL200, I did over a small sample, and believe Ill be crushing there in the future. 

SIG1   United States. Oct 16 2010 20:30. Posts 651

fayul


jchysk   United States. Oct 16 2010 22:09. Posts 435

Well I don't see why you can't find a trusted party like a bank that can oversee the handling of money and just use the software to determine where it goes.
There's the possibility of actually keeping your bankroll yourself and not letting the poker room hold onto it. Then you would essentially deposit and withdraw every time you sit down at a table. I don't really think this is a major problem. A future concern for sure, but the earlier stages of such a project should probably be looked at first.

w00t 

genjix2   United Kingdom. Oct 16 2010 22:13. Posts 46

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

Person A sends an encoded message consisting of identifier and their hand to players B, C, D, E:
[PersonAPokerHand=AcAd]
It's encrypted with SSL which is impossible to crack.

Every player at the table has a stake in the pot, and after the hand Player A releases the decoding (private) encryption key. After decoding the message, B,C,D,E all verify that a) it is a valid decryption since the identifier is correct and then b) agree by consensus that the hand is valid.

It relies on the trust of everyone else at the table consenting about A's hand. Now verifying that everyone is trusted (and not all collaborating against you) has several established algorithms which can be chosen. Bittorrent uses one of them to share files more with seeders than leechers (that's the seed/leech ratio you see on users). Basically the software ranks each person's consistency (how often results mismatch- should be almost never) and propagates that result throughout the network. There are other schemes, but off the top of my head I'd choose this one first.

About your PM question, I think you would have a separate pot owned by everyone at the table. If you ship money to the pot then it's collectively owned by everyone at the table (as per real life). The players of the table act like the board of directors for the pot. If suddenly 3 people at once disconnect there could be a problem but there are algorithms in several protocols like IRC to deal with safely handling this case. There's a bunch of schemes all over the place in many different distributed software that you should research as most of these problems have been solved elegantly many times before with mathematically sound schemes.


genjix2   United Kingdom. Oct 16 2010 22:14. Posts 46


  On October 16 2010 21:09 jchysk wrote:
Well I don't see why you can't find a trusted party like a bank that can oversee the handling of money and just use the software to determine where it goes.
There's the possibility of actually keeping your bankroll yourself and not letting the poker room hold onto it. Then you would essentially deposit and withdraw every time you sit down at a table. I don't really think this is a major problem. A future concern for sure, but the earlier stages of such a project should probably be looked at first.



http://www.bitcoin.org/

More trustworthy than a bank. Owned by no-one. No transaction charges. Currency neutral.


Acckerman   United States. Oct 16 2010 23:20. Posts 725


  On October 16 2010 19:27 Zep wrote:
wtf is this shit?


jchysk   United States. Oct 16 2010 23:23. Posts 435

Just googled open source poker and found that there are a couple existing projects for server + client. Could probably build off of one of them. Go through and check out the security and then figure out how to handle money. Bitcoin looks like the right direction, but probably not suitable for a poker room.

w00t 

genjix2   United Kingdom. Oct 17 2010 01:40. Posts 46

Most of those poker sites are shit, and I could easily write better. I contacted PokerTH about a year ago and they have no plans for real money either due to legal issues.

Brings us back to bitcoin- no legal issues since there's no currency issuer There's even already an existing poker site,

https://betco.in/


genjix2   United Kingdom. Oct 17 2010 02:26. Posts 46

theres a game happening there right now, works well
https://betco.in/

here's the source code:
http://github.com/hippich/Bitcoin-Poker-Room

maybe the solution is just supporting/popularising this software and making it work better.


jchysk   United States. Oct 17 2010 03:50. Posts 435

Yeah, I looked more into the existing open rooms and most didn't look too promising. They kind of had a lack of developers. I'm still not sure about the whole bitcoin thing. It seems like the only value in this virtual currency is what the small selection of merchants are willing to sell their goods for. The exchange rates for buying and selling don't seem even as well and vary by exchange.
I can set up a forum and start a thread on 2+2 and some other of these random poker development projects to see what kind of interest and talent we can scrape together to get a project like this going. I can also set up an SVN and maybe a dedicated server for testing and whatnot. With enough decent programmers I think a project like this could get off the ground quickly and move forward pretty well. Especially since there are so many other projects we can grab relevant code from.

w00t 

jchysk   United States. Oct 17 2010 04:05. Posts 435

I set up a vanilla forum it's at http://www.stakeandplay.com. It'll be temporary until we come up with a name or create a sourceforge project and then we can just move the forum.

w00t 

genjix2   United Kingdom. Oct 17 2010 04:12. Posts 46

http://bitcoinwatch.com/

current economy is worth $200k, 20k traded in last 24 hours

i been playing this poker room and it works as advertised.
https://betco.in/

in addition, the source code is open and free. if you imagine a normal server oriented, non-distributed client then you don't need to re-invent the wheel as the setup is there and just need fixing up.

otherwise a distributed poker client using bitcoin would rule/be fucking awesome. rake free, decentralised, customisable client... but would require a longer time.

if you want to make a distributed client then you'd need some skilled guys: mathematicians, property programmers and a general programmer with poker knowledge. because once the protocol is designed it becomes fixed once people start using it widely, changes become hard to make. therefore you'd want to get it right the first time. And to really get the best you can get, poker players should invest capital into the project. i'd be interested to do a project if people want to invest and i have an ideal team in mind of suitable people, but it doesn't have to be me. I can advise though whatever people decide to do.

(post is a bit messy as i'm very tired from all night doing lots of stuff)

 Last edit: 17/10/2010 04:41

rednalluk   Sweden. Oct 17 2010 04:17. Posts 626


  On October 16 2010 21:09 jchysk wrote:
Well I don't see why you can't find a trusted party like a bank that can oversee the handling of money and just use the software to determine where it goes.



And the bank would take <5% of the pot as a fee. Oh, wait...


genjix2   United Kingdom. Oct 17 2010 05:26. Posts 46

wow this is really fantastic. someone donated 0.5 btc to me on bitcoin and playing 1btc/2btc I turned it into 8 btc (roughly $0.80 :D). I never really looked into the workings of bitcoin before, but it really works! market statistics are here, http://bitcoinwatch.com/ (list of traders, market value of BTC, ...)

this is the poker room i tried
https://betco.in/
go on freenode irc #bitcoin-dev and ask for a small donation to test it out (and some guys to play)

if someone wants to open their own rake free room (maybe supported by ads)... well all the software (needs a little work) and banking system is there. you just need to promote it so cool & unbelievable that this works

 Last edit: 17/10/2010 05:27

Fudyann   Netherlands. Oct 17 2010 07:57. Posts 704

The basic problem still remains:

What prevents me from going all-in preflop, gracefully take your cash when you lose, but quickly disconnect and refuse to send my cash when I win? So long as the player decides when to send his cash, the player can cheat. If the "host" of the room escrows, then the host can take all the money and disconnect. If all players escrow together, then 5 players can collude to take the 6th player's money but not giving back what is rightfully his.

Let's take another way of looking at it: the following properties must be true in a headsup match:

- If Alice disconnects, Bob should get the money Alice has invested in the pot so far, and all the money he has invested in the pot so far should be returned to him.
- If Bob disconnects, Alice should get the money Bob has invested in the pot so far and all the money she has invested in the pot so far should be returned to her.

However, in a headsup match there is no way to tell who has disconnected, you can just see that you have lost connectivity to the other player. Therefore it is impossible.

It seems that we have to have someone escrow the money. And they're, of course, going to charge rake. Fine, but we can still improve on the monopolistic and rent-seeking-inducing system we have now. Rake should be no more than 1 cent per hand.

What about a server-to-server design like xmpp?


jchysk   United States. Oct 17 2010 08:04. Posts 435

The way you're thinking of it is like a counterstrike or COD match where one person is hosting and the others connect. We would have to have reputable servers. How difficult would it be to create a non-profit organization that hosts the servers and holds the money?

w00t 

Fudyann   Netherlands. Oct 17 2010 08:29. Posts 704

But that's basically what pokerstars is charging such high rake for. It's a reputable organization that hosts the servers and holds the money. The last part is actually the most valuable and what they can charge the most for.

So long as we keep it centralized it's going to be monopolistic and high prices. But if we decentralize it, then how are we going to place trust?


genjix2   United Kingdom. Oct 17 2010 09:07. Posts 46


  On October 17 2010 06:57 Fudyann wrote:
The basic problem still remains:

What prevents me from going all-in preflop, gracefully take your cash when you lose, but quickly disconnect and refuse to send my cash when I win? So long as the player decides when to send his cash, the player can cheat. If the "host" of the room escrows, then the host can take all the money and disconnect. If all players escrow together, then 5 players can collude to take the 6th player's money but not giving back what is rightfully his.



Networks of trust are well established and working in field (bittorrent and seeders/leechers being a good example). You validate in the peer2peer network with third party hosts the reputation of players sitting at your table. You sit down with 5 low reputation players at 6max and get a warning. I addressed this above. Really these issues are non-issues with a bit of consideration. Making a secure peer2peer poker client is perfectly possible with a little thought.

I also found, http://en.wikipedia.org/wiki/Ripple_monetary_system for distributed transactions. They are able to do it, so it's possible. Although I don't know about the latency (just from reading the PDF on the algorithm)
http://ripple.sourceforge.net/decentralizedcurrency.pdf

A metric can also be built on the mismatch between reporting of hosts when you query them.

BTW what you say about trust- I always trust a decentralised network more than a centralised one. The best example is the internet. No one controls a decentralised network as long as you don't own the majority of it (>50%) to flood the consensus with faulty info which a client relies upon to make decisions.


genjix2   United Kingdom. Oct 17 2010 09:19. Posts 46


  On October 17 2010 07:29 Fudyann wrote:
But that's basically what pokerstars is charging such high rake for. It's a reputable organization that hosts the servers and holds the money. The last part is actually the most valuable and what they can charge the most for.

So long as we keep it centralized it's going to be monopolistic and high prices. But if we decentralize it, then how are we going to place trust?



BTW I see you live in Netherlands. If you're a programmer, you might be interested to meet a friend of mine in Amsterdam who's very much into distributed systems. Might give you some ideas. He has a company (and I haven't asked him- it's just speculation now) but if we raised enough capital ($$) from poker players (to support the project), they would probably help us with coding and space to work for free. They have an investment in distributed technology. Then we would have a guarantee that the software is desired, and not for nothing.


 
 1 
  2 
  3 
  4 
  5 
  > 
  Last 
  All 



Poker Streams

















Copyright © 2024. LiquidPoker.net All Rights Reserved
Contact Advertise Sitemap