Software Design
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming Languages - MoreSoftware Design

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old October 17th, 2010, 11:17 PM
genjix genjix is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2010
Posts: 3 genjix User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 18 m
Reputation Power: 0
Poker and the shared pot at the table in a decentralised network

Hey,

When we play Poker online, we are using a centralised network. You deposit your cash online, sit down at a game and play. You place your trust in the site to be secure; no other players can see your hands and no money is being secretly stolen from you. Even big name sites have been known to cheat and smaller sites just shut down and steal your money.

There are two well known sites- PokerStars and Full Tilt Poker. By being secure, they charge you excessive amounts to use their service. The market is monopolised by them since small sites are untrustworthy. This year I played on PokerStars and made $3k profit and payed $4.5k in rake- so I had to win $7.5k in total and hand over more than half my winnings to PokerStars.

A decentralised Poker network (using bitcoin). Here's the advantages:
+ Government heavily taxes Poker sites. Decentralised networks are outside the law.
+ No rake.
+ Don't need to place your trust in a company
+ Customise your client since you own the source!
+ No tracker sites gathering statistics on your play against the rules of Poker

How could such a thing be implemented?

Mental poker (check wikipedia for algorithm) is a scheme for neutrally verifying cards among players but is slow. Yet I imagine there's ways to speed it up by relying on trust/probabilistic methods.

The real problem is money put into the pot. For those unfamiliar with Poker I'll explain: People bet on the strength of hands, and put money in a pot. After so many betting rounds, both players show their hands. The strongest hand wins the money put in the middle. How can this be decentralised?

The best scheme I imagined was if the pot was stored by a third party. We want to protect against collaboration so using the other players not involved in the hand at the table is not possible (5 of the 6 players on the table could be collaborating together and just steal your money). Each player could nominate a few escrows each that hold fractional amounts of the money. Since people disconnect (bad internet .etc), the escrows would need to be dedicated services.

6 players sit down at a table. Each nominates 2 escrow services that hold the money (12 in total). Player A and B start betting and putting money in the pot. $200 goes into 12 escrows or $17 each. After they show the hand everyone agrees player A won. But one escrow refuses to award their share of the $7 to A... Everyone at the table blacklists that escrow to never trust them again and alerts everyone else in the network. If the majority of the players at the table >50% agree that an escrow is bad, then everyone blacklists them.

My scheme is full of holes though. Looking for ideas.

Reply With Quote
  #2  
Old October 18th, 2010, 02:17 AM
genjix genjix is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2010
Posts: 3 genjix User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 18 m
Reputation Power: 0
In an escrow:

1. A offers to sell laptop for 2000 coins, and escrows X coins as security.
2. B offers to buy and escrows X coins as security.
3. B pays 2000 coins to A.
4. If A refuses to send the laptop, both A and B have lost X coins. Therefore, A has an
* * incentive to send the laptop, and B can't use this system to put A out of business.
5. A sends the laptop to B.
6. If B refuses to acknowledge receipt of the laptop, both A and B have lost X coins.
* * Therefore, B has an incentive to acknowledge receipt of the laptop.

where X > 2000 (e.g X = 2500)

In Poker here, the transaction confirmation is when the hands are revealed and the escrow confirms the winner. I'm asking about a distributed escrow in essence.

Reply With Quote
  #3  
Old October 18th, 2010, 08:40 PM
E-Oreo's Avatar
E-Oreo E-Oreo is offline
Lost in code
Dev Shed God 7th Plane (8000 - 8499 posts)
 
Join Date: Dec 2004
Posts: 8,057 E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)E-Oreo User rank is General 92nd Grade (Above 100000 Reputation Level)  Folding Points: 945 Folding Title: Novice Folder
Time spent in forums: 2 Months 1 Day 6 h 47 sec
Reputation Power: 7104
Quote:
Decentralised networks are outside the law

No, not really.

Quote:
+ Don't need to place your trust in a company

Personally I'm more apt to trust a company that I know nothing about than an individual I know nothing about (especially an anonymous individual).

Quote:
Since people disconnect (bad internet .etc), the escrows would need to be dedicated services.

If the escrows were dedicated services then it wouldn't be decentralized anymore. Unless by "dedicated" you just mean not playing at the table. In which case, what security does that add? Are they not just as likely to drop as someone at the table? Can they not be rigged just as easily (since they are nominated by players)?

Quote:
If the majority of the players at the table >50% agree that an escrow is bad, then everyone blacklists them.

What if you have 5/6 people at the table collaborating and they blacklist your (good) escrow? Or they choose not to blacklist a bad escrow?

Having each player nominate 2 escrow services doesn't really increase the diversity. You may as well just have each player nominate 1. If someone is able to game the system into having one rigged escrow service, why couldn't they just do it twice to have 2 rigged escrow services?

How are you going to uniquely identify escrow services? If you can't uniquely identify them you can't blacklist them. It's virtually impossible to uniquely identify a node on the internet, especially if your network protocol is open source.
__________________
PHP FAQ
How to program a basic, secure login system using PHP
Connect with me on LinkedIn


Quote:
Originally Posted by Spad
Ah USB, the only rectangular connector where you have to make 3 attempts before you get it the right way around

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreSoftware Design > Poker and the shared pot at the table in a decentralised network

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap