BitShares Forum
Main => General Discussion => Topic started by: CoinHoarder on October 21, 2015, 05:10:20 am
-
Admittedly, this is a pipe dream at this point. The only two other decentralized poker projects have flawed approaches in my opinion. I feel like this could be a lucrative market for Bitshares as it is one that has not been captured yet in a decentralized manner. I feel like my design is better than all existing designs thus far as well, but maybe I am biased. ???
Pokereum and Pangea Poker were both both organized on the NXT forums and are involved with the Ethereum (Pokereum) and Supernet/Nxt/etc (Pangea Poker) projects. They don't seem well thought out or (in Pokereums case) not like something poker players would actually want to play. Pokereum suggests you use bots and random seating to combat collusion... that combines two generally disliked things in the poker community. I'm not sure Pangea's solution for collusion and multi-accounting will be effective.
I feel like I have a better design and want some opinions on it. This is a very rough outline for a high level white paper that needs a lot of feedback as to my logical reasoning, parameters, procedures, and my opinions. Please give me some good feedback when you have a chance to read it. I am pretty dedicated to improving this outline and will be periodically working on updates. I have worked on it for quite some time now honestly, and have been tweaking things daily as I think through all of the different aspects of the design.
Warning: TL;DR (5,306 words incoming...)
http://docdro.id/NZf3LyG
Edit: Updated to Version 0.04
Thanks for your input. Every word is debatable, so please do so. That will only result in the best design possible.
-
i like poker and it is a popular game to attract more people.
worker or maybe a new chain would be better?
-
i like poker and it is a popular game to attract more people.
worker or maybe a new chain would be better?
I think a new chain is the only way to implement it successfully, unless an already existing form of Bitshares adapts to make the needed feature set available. There are many changes that will be needed. Also I feel like the success of the project is dependent of the poker community being involved financially from day one.
-
Why not pure DPoS IPO?
-
I think a new chain is the only way to implement it successfully, unless an already existing form of Bitshares adapts to make the needed feature set available. There are many changes that will be needed. Also I feel like the success of the project is dependent of the poker community being involved financially from day one.
You may be interested in an old post I made here (which has been hidden away by mods accidently):
https://bitsharestalk.org/index.php/topic,10071.0.html
There is quite a lot of detail in there, so it might give you some ideas :)
-
I'm a professional player (mainly NLHE cash game 6 max), if you need input from the player perpective, don't hesitate to contact me ;D
-
For a Bitshares poker project you shoudl contact the OP of this post: https://bitsharestalk.org/index.php/topic,14372.0.html
He wrote up a very insightful post but seems to have deleted the content again.
-
Why not pure DPoS IPO?
My reasoning as to this is listed in the paper under Distribution.
I'm a professional player (mainly NLHE cash game 6 max), if you need input from the player perpective, don't hesitate to contact me ;D
I need input from everyone. This is a very complicated problem to solve and I need feedback on my design. That was the whole point of posting it here. Otherwise, I could of kept it private and continued working on it myself (and not allowed competing projects to pick my brain.) I am nearing a point though where there is only so much more I can do myself as far as formulating a design for the poker network. One person designing this complicated of a project is dumb, as there are probably glaring issues I've yet to realize or things that could be done better. I am unfortunately not as smart as Bytemaster. :-[
-
For a Bitshares poker project you shoudl contact the OP of this post: https://bitsharestalk.org/index.php/topic,14372.0.html
He wrote up a very insightful post but seems to have deleted the content again.
That was actually me under a throwaway account lol. I got frustrated due to the lack of interest and deleted everything. I thought I'd give it another go, but perhaps I am spinning my wheels.
I am one of the rare people in crypto that truly want to improve the world and push decentralized technologies forward, adapting them for other uses cases. It frustrates me when I realize others don't have that same objective and are only interested in participating in something they can profit from.
To be clear, I think this could be very profitable for those that take a gamble by participating in the Pow distribution, but at this point in the project I am a volunteer. I will give myself no advantage above someone else in regards to gaining stake in this project. Everyone will have an equal chance to gain stake. It is more important to me that the project succeeds than to make a lot of money.
All I am asking for is some feedback on what I have written thus far. I understand it's a lot to take in so I will try to be patient.
-
Warning: TL;DR (5,553 words incoming...)
http://docdro.id/dmo52Ag
Edit: Updated to Version 0.02
I've really only skimmed this - I would say that I don't like:
* reputation systems
* banning
* identity verification
All of these are incompatible with an anonymous game system. Sybil attack is the biggest problem with decentralised poker - perhaps something like requiring each player to produce a continuous stream of POW, using something like a variance free hashcash could work.
-
I've really only skimmed this - I would say that I don't like:
* reputation systems
* banning
* identity verification
All of these are incompatible with an anonymous game system. Sybil attack is the biggest problem with decentralised poker - perhaps something like requiring each player to produce a continuous stream of POW, using something like a variance free hashcash could work.
Sorry in advance.. I am long winded times two 8)
Also the grammar... I am so long winded that it is a PITA to go back and fix sentences after spitting out my thought process in writing.
I understand your dislikes of my design, as I share them... along with freezable and reversible poker chips. To be clear, there are a few things that I do not like about the design but unfortunately I do not know of a better solution. Decentralized poker solves a lot of problems with centralized poker, but at the same time has its own issues. I am trying to mitigate those issues the best I can by making compromises. Fully decentralized anonymous poker is impossible today. Maybe some time in the future when the technologies advance a little. To make something mostly decentralized today will take making compromises. It will be interesting to see if something like this catches on in the poker world. Will people like "mostly decentralized" poker and all of its demons, or centralized poker and all of its demons? I hypothesize we can get them to like "mostly decentralized" poker better if we can mitigate the compromises. If you have a better idea please tell me!! I have been wracking my brain over this stuff off and on for years now, and at this point this is the best solution I can think of. Maybe the whole design is just bad and I'm an idiot, but it doesn't really seem like the other poker project (Pangea Poker) has thought all this through completely, and Pokereum has a version of online poker that no one will want to play. There is an opening for Bitshares to come in to this online poker space early with a superior product.
I considered resource intensive identities when first starting to think about how decentralized identities could be done. I came across a research paper that I though was brilliant that gave me the idea and I was certain that was how decentralized identities should work. However, I eventually came to the conclusion that it could be too easily gamed. Those with access to botnets or powerful computers would be able to generate many computationally intensive identities cheaply, and there would be no way to tell who generated their identity honestly versus someone who used nefarious means to generate their identity to game the identity system. Unfortunately, all types of decentralized identity/trust/web of trust/reputation systems/resource intensive identities/etc. all are subject to Sybil attacks. Even my certificate authority idea in which CA's manually verify users' identities and issue identity hashes could be gamed. I just think it is the least game-able option to establish identity. Legacy centralized poker networks verify identity that way for a reason... because it is the most effective in combating multi-accounting.
You will still be anonymous to everyone but the CAs, and I proposed all CAs to sign a contract when they go into business with the block chain that requires them to do the following things. Require them to make their identity public before the network accepts their certificates as being valid. I proposed they not be able to accept an unencrypted identity file, that they not unencrypt files on anything but an offline computer, and that they destroy the files immediately after creating a user's identity hash. If the CAs follow the best practices, the ones decided by the community and put in the contract, then there is little chance that any identities would ever be exposed. Unless a CA breaks a contract (which is totally possible), then all identities could be publicized. I suggest very strict regulations and governing of CAs, including making them be public figures and publicize and prove their identities in the case they do break their contracts. Players would at least have a means of restitution available... a classic class action lawsuit or vigilante justice (kind of joking but not at the same time, haha.)
I am honestly more worried about the integrity of the identity hashed more than CAs getting compromised. At this point an identity string looks something like this: “Full name, Date of Birth, Sex, Eye Color, Physical Address, Country” and that is put into a standard (all CAs will use the same function) one-way hash function. It is possible someone could know someone's Full name, Date of Birth, Sex, Eye Color, Physical Address, and Country, and therefore reveal their identity publicly or use this information to their advantage in some way. Celebrities or public figures would be especially prone to this. However, if you put something too random in the identity string then you can't match someone's identity by using multiple CA's. Someone could choose a password and give a different CA a different password, still have their identity documents examined, and still get different identity hashes. CA's could share the passwords and require the same password from each user, but then the passwords could be leaked/shared and we'd back at square one with revealed identities. So, do we sacrifice a little anonymity (of which there is little in the online poker world minus one currently existing poker site), or do we sacrifice security? IMO security issues are more major than anonymity issues, especially in a decentralized online setting.
As far as the reputation system. Did you read the part about "Poker Chips" and "Risky Chips"? I feel like some sort of reputation system is necessary for the trading that will be going on in between those two SmartCoins on the decentralized ledger. Silk Road, Localbitcoins, etc... have mostly proven reputation systems work for these kinds of transactions. Without a reputation system I can't imagine there being hardly any liquidity in the Poker Chips / Risky Chips market. Who would speculate on Risky Chips if they were buying from anonymous strangers with no reputation system in place? I tend to think nobody.
-
Those with access to botnets or powerful computers would be able to generate many computationally intensive identities cheaply, and there would be no way to tell who generated their identity honestly versus someone who used nefarious means to generate their identity to game the identity system.
This is the core of POW - the only recognised solution to sybil attack. Have your individual players generate a stream of POW, signed by them, which must be maintained in order for the game to allow them to play. That way you can reduce the problem of sybil which can then only apply to owners of botnets, rather than to just anyone who wants to buy an identity.
-
Those with access to botnets or powerful computers would be able to generate many computationally intensive identities cheaply, and there would be no way to tell who generated their identity honestly versus someone who used nefarious means to generate their identity to game the identity system.
This is the core of POW - the only recognised solution to sybil attack. Have your individual players generate a stream of POW, signed by them, which must be maintained in order for the game to allow them to play. That way you can reduce the problem of sybil which can then only apply to owners of botnets, rather than to just anyone who wants to buy an identity.
Ok, so that would eliminate the ability for someone to sell an identity. However, it still seems ineffective. Someone could simply set up multiple computers, utilize virtual machines on a powerful computer, or rent a VPS. It just seems ineffective at ensuring one person can only make one account. It provides such little protection for the costs/hassle that at that point you migh as well have no protection against multi-accounting at all. Which is something to consider, but then the reputation system and collusion becomes much harder (impossible?) to combat.
I am starting to think combining a reputation system, certificate authorities, computationally extensive identities, and a web of trust provides the best security against Sybil (but still is not bullet proof.)
I look at it this way.. Would you rather get scammed/cheated or would you rather less privacy? IMO most people would prefer security or game integrity over privacy as less privacy doesn't cost them money unlike the alternative.
-
I look at it this way.. Would you rather get scammed/cheated or would you rather less privacy? IMO most people would prefer security or game integrity over privacy as less privacy doesn't cost them money unlike the alternative.
I totally agree with this. I know many people are decentralized-anonymity-purists with anarchistic leanings that hate everything that has to do with centralization. But I feel that sometimes a combination of both is the best way to go, especially if you want mainstream adoption.
I don't care that much about anonymity in the case of poker/gambling, and I would gladly pay my taxes knowing that I'm playing in a fair and secure environment.
On another note.. would it be difficult to include other, simpler, games than poker in the same protocol? Like blackjack, roulette etc.. to make it a fully fledged casino? Poker is a complex player vs. player game, but these would simply be player vs. blockchain. The losses could be burned or added to tournament pots. Same for the rake.
-
Eliminate many collusion issues by making all games heads-up. It is a good place to start.
-
Ok, so that would eliminate the ability for someone to sell an identity. However, it still seems ineffective. Someone could simply set up multiple computers, utilize virtual machines on a powerful computer, or rent a VPS. It just seems ineffective at ensuring one person can only make one account. It provides such little protection for the costs/hassle that at that point you migh as well have no protection against multi-accounting at all. Which is something to consider, but then the reputation system and collusion becomes much harder (impossible?) to combat.
Yes, botnets would still be a problem - but they are also a problem for traditional online poker. I just don't think adding trust into the mix for a system with anonymous actors is going to work.
-
Yes, botnets would still be a problem - but they are also a problem for traditional online poker. I just don't think adding trust into the mix for a system with anonymous actors is going to work.
You wouldn't even need a botnet though.. someone could simply set up multiple computers, utilize virtual machines on a powerful computer, or rent a VPS.
I don't get why you don't think trust/reputation systems will not work. Everyone will not be completely anonymous.. they will be known by a pseudonym with identities verified to deter players gaining more than one psuedonym. Some will slip through the cracks, but that is why the games have to still be policed for collusion separately, no matter their trust or reputation scores. The trust and reputation system is mainly used to weed out bad actors on the decentralized Poker Chip and Risky Chip ledger.
-
You wouldn't even need a botnet though.. someone could simply set up multiple computers, utilize virtual machines on a powerful computer, or rent a VPS.
But a botnet is the only way you can profit from this. In any case, having a botnet in a system where the players are required to produce a stream of POW will be much more expensive than a botnet in online poker.
I don't get why you don't think trust/reputation systems will not work. Everyone will not be completely anonymous.. they will be known by a pseudonym with identities verified to deter players gaining more than one psuedonym.
Decentralised poker is attractive because it lets players bet unlimited amounts and/or from countries where the game has been made illegal. If you start introducing identity verification into the mix:
* The fed will go after the verification delegates (or whatever you want to call them)
* Your identity will be encoded onto a public blockchain
This is a worse value proposition than online poker.
-
You wouldn't even need a botnet though.. someone could simply set up multiple computers, utilize virtual machines on a powerful computer, or rent a VPS.
But a botnet is the only way you can profit from this. In any case, having a botnet in a system where the players are required to produce a stream of POW will be much more expensive than a botnet in online poker.
I get where the confusion is. I should of never used the words Sybil or Sybil attack. Although it is the correct terminology, it is easy to confuse what I'm talking about. I am saying PoW is largely ineffective to combat players signing up for more than one account to gain an unfair advantage in the poker games. I am not referring to Sybil as in someone attacking the decentralized network by achieving a large amount of hash power.
I don't get why you don't think trust/reputation systems will not work. Everyone will not be completely anonymous.. they will be known by a pseudonym with identities verified to deter players gaining more than one psuedonym.
Decentralized poker is attractive because it lets players bet unlimited amounts and/or from countries where the game has been made illegal. If you start introducing identity verification into the mix:
* The fed will go after the verification delegates (or whatever you want to call them)
* Your identity will be encoded onto a public blockchain
This is a worse value proposition than online poker.
Just like Bitshares witnesses are going to be arrested for supporting the illegal trading of derivatives, and aiding and abetting to a unregistered money service business... you are opening a huge can of worms with that argument.
I get the privacy concerns, but I feel like they can be mitigated in a way that would make it an acceptable system. Maybe my current design of that is not the best, but I still feel everyone would be mostly anonymous (pseudonymous) in this type of a system. That is why I have posted it here to get some feedback.
-
I get where the confusion is. I should of never used the words Sybil or Sybil attack. Although it is the correct terminology, it is easy to confuse what I'm talking about. I am saying PoW is largely ineffective to combat players signing up for more than one account to gain an unfair advantage in the poker games. I am not referring to Sybil as in someone attacking the decentralized network by achieving a large amount of hash power.
I understood your meaning, and my explanation of a solution still applies. The only way for a botnet to pay off in poker is for the bots to collude, and if each player is required to produce a stream of POW that makes being a player CPU expensive, so a botnet with a bunch of different colluding players under such constraints would be far more expensive to maintain than a botnet in regular online poker.
I get the privacy concerns, but I feel like they can be mitigated in a way that would make it an acceptable system. Maybe my current design of that is not the best, but I still feel everyone would be mostly anonymous (pseudonymous) in this type of a system. That is why I have posted it here to get some feedback.
If you make it an onymous design you will create a target for the system to be taken down via the identity holding delegates. And yes bitshares has the same problem, to a lesser extent.
-
I understood your meaning, and my explanation of a solution still applies. The only way for a botnet to pay off in poker is for the bots to collude, and if each player is required to produce a stream of POW that makes being a player CPU expensive, so a botnet with a bunch of different colluding players under such constraints would be far more expensive to maintain than a botnet in regular online poker.
There is still a disconnect here as we are talking about two different things. Forget I ever mentioned botnets for a moment. Your proposed system is highly ineffective if I wanted to setup 3 computers so I can play a 6 player game with 3 out of the 6 players at the table being accounts under my control. I could then use that to my advantage in a non-obvious way that is hard to detect.
-
There is still a disconnect here as we are talking about two different things. Forget I ever mentioned botnets for a moment. Your proposed system is highly ineffective if I wanted to setup 3 computers so I can play a 6 player game with 3 out of the 6 players at the table being accounts under my control. I could then use that to my advantage in a non-obvious way that is hard to detect.
That means you need to either rent or own the physical hardware, tho - that is expensive. Compare that to regular online poker, where you can just rent a VPS farm very cheaply, because online poker bots don't need 100% cpu, which will get your VPS shut down by the hosting company.
-
There is still a disconnect here as we are talking about two different things. Forget I ever mentioned botnets for a moment. Your proposed system is highly ineffective if I wanted to setup 3 computers so I can play a 6 player game with 3 out of the 6 players at the table being accounts under my control. I could then use that to my advantage in a non-obvious way that is hard to detect.
That means you need to either rent or own the physical hardware, tho - that is expensive. Compare that to regular online poker, where you can just rent a VPS farm very cheaply, because online poker bots don't need 100% cpu, which will get your VPS shut down by the hosting company.
True, but I still think it is ineffective towards multi-accounting. I think you need layers that make the most effective solution. Otherwise, the poker network will be seen as being shady. Social identity confirmations, web of trusts, and certificate authorities should be used in conjunction to computationally extensive identities IMO. All except computationally extensive identities could be optional, but there would be a way for people to tell who have successfully identified through what types. If someone doesn't want to play against someone that hasn't been through the identification process then they shouldn't. I suggest we leave it up to the players to make this decision for us, but build in the tools for them to choose.
Back to your idea. I had thought about computationally secure identities, but not the way you suggested with continual PoW instead of simply generating a computationally intensive identity hash. So, that brings forth a couple more challenging problems. Mental poker protocols require some extensive CPU usage. I think it would be better to have the PoW done with a GPU-mine-able algorithm. One thing that is puzzling me though... how would you be able to tell if someone is actually mining in a transparent and provable way? Some people may want to mine with a pool, how do we stop them? If the network gets popular with a lot of players, then it may take solo miners forever to find blocks. Also, I was planning on using DPoS to utilize the efficiency, smart coins, electable witnesses, etc... How would you tie that into a PoW scheme?
Just some initial thoughts. Sorry if it seems like I'm being tough on you. This is the way I want people to do to my ideas too... tear them apart to get the best design possible! I appreciate you taking the time monsterer.
-
I've updated the paper for the 4th time since posting the OP. I would love some more feedback.
I decided Golle's algorithm may bot be the most efficient mental poker algorithm, so I took which MPP we should use out of the paper. I will have to do more research on that. I added constant computationally extensive identities (credits monsterer), and elaborated on how the reputation system is mainly only intended for use in the "Risky Chip" market. I added quotes around "Risky Chips" and "Poker Chips" as I'm not crazy about the names and want some suggestions of a better naming scheme! I also reworded a lot of sentences and elaborated in a few places. I also removed some centralization, specifically regarding the shuffling and dealing, because I feel like this can be decentralized. I first though it would be better to have a more efficient shuffle and deal as far as game play, but considering all of the dynamics I think having as little trust as possible in the system is best.
I plan to elaborate a lot on the algorithm and processes which will be used to detect collusion in the next update. There will be an algorithm that analyzes statistics and generates charts to make spotting collusion easier. A player submission function so someone can report collusion with spam prevention. Also, a way for people to make custom charts and statistics if they want to do a specific or more detailed analysis.
-
True, but I still think it is ineffective towards multi-accounting. I think you need layers that make the most effective solution.
It is more effective at limiting multi accounting than is possible in online poker.
Mental poker protocols require some extensive CPU usage. I think it would be better to have the PoW done with a GPU-mine-able algorithm. One thing that is puzzling me though... how would you be able to tell if someone is actually mining in a transparent and provable way? Some people may want to mine with a pool, how do we stop them? If the network gets popular with a lot of players, then it may take solo miners forever to find blocks. Also, I was planning on using DPoS to utilize the efficiency, smart coins, electable witnesses, etc... How would you tie that into a PoW scheme?
Just some initial thoughts. Sorry if it seems like I'm being tough on you. This is the way I want people to do to my ideas too... tear them apart to get the best design possible! I appreciate you taking the time monsterer.
The choice of mental poker model is completely orthogonal to any POW stream - in fact, more CPU usage is better for combating collusion.
If you don't want players to use pools for the POW, you must have them sign their POW stream.
You can still use DPOS, but the only known solution for sybil is to use POW, so you'd have to use them in conjunction. The entire project will need a different chain anyway, so the choice of which consensus model to use is almost secondary.
-
I think Poker is a tough nut to crack.
At first I wouldn't worry too much about collusion. If you can reduce rake to 1% or less from the standard 5% you should have a market.
It's much easier to do basic gambling, blockchain based dice etc. to start.
Also the prediction market, Augur could be fantastic if they get quick turnaround on bets and good variety, they could be very big, very quickly. Gamblers will notice when you give them a 90% discount.
-
Meh... file this in the "idea trashbin". It seems others don't share my same vision of how big of a market this could be.
I'll just hope the other decentralized poker projects built on Nxt/Ethereum turn out decent. I have made them aware of my paper so maybe they can use an idea or two from it.
Cheers
-
Meh... file this in the "idea trashbin". It seems others don't share my same vision of how big of a market this could be.
I certainly share that part of your vision - it's a massive market. But, it has to be done right; too many compromises and you end up building something which is no better than online poker for the majority of people.