Bitcoin Forum
April 25, 2024, 05:19:43 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 4 »  All
  Print  
Author Topic: Poker and the shared pot at the table in a decentralised network  (Read 14665 times)
HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
November 29, 2011, 11:44:18 PM
 #21

Even if I see some problems, I'm not saying that someone will be able to see all the rating of every user to another.
I mean, if I ask to see the +1 of an user, I will be able only to see the +1 of the user that I trust ( added as a friend )

Example: If a scammer create 100000 fake account/address, and +1 himself from all of them ... if I haven't any of these fake account on my friend addresses list, I wont be able to see any of these +1.
If I have one of these fake account on my friend list, than I will be able to see its +1 only!
So creating fake addresses and +1 wont be so useful to scam.
( to see 1000 +1 of this scammer I must have 1000 of his fake addresses on my "friend" list )

Example:
After that, we can give some rules as Bitcoin: less than 6 confirmation can be dangerous
Poker: less than +5 can be dangerous.

Anyway, I see the problem of the +1 as you said ... people will +1 others from many stupid and useless reasons.
I still think that a community driver system is the solution, but I'll try to find another way to get the point.

The blacklisting can still be useful as it is on market like silk road, everyone is anonymous, but they still have a reputation.

Another idea:
Instead of the +1, we can have only the -1.
All remaining statistics can be:
- Match played
- Match played with friend "A" ( from friend list )
- Match played with friend "B" ( from friend list )
- Match played with different players ( the distribution of match, to see if someone usually play only with his "friends" / fake accounts )
- How much time he played ( with the NTPs help )
- -1 ( bad votes ) received from all the community
- -1 ( bad votes ) received from friend "A" ( from friend list )

There are many other statistics that can be public ( or friend list related ) and useful to find a scammer and wont go against the anonymity.

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
1714065583
Hero Member
*
Offline Offline

Posts: 1714065583

View Profile Personal Message (Offline)

Ignore
1714065583
Reply with quote  #2

1714065583
Report to moderator
1714065583
Hero Member
*
Offline Offline

Posts: 1714065583

View Profile Personal Message (Offline)

Ignore
1714065583
Reply with quote  #2

1714065583
Report to moderator
1714065583
Hero Member
*
Offline Offline

Posts: 1714065583

View Profile Personal Message (Offline)

Ignore
1714065583
Reply with quote  #2

1714065583
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714065583
Hero Member
*
Offline Offline

Posts: 1714065583

View Profile Personal Message (Offline)

Ignore
1714065583
Reply with quote  #2

1714065583
Report to moderator
1714065583
Hero Member
*
Offline Offline

Posts: 1714065583

View Profile Personal Message (Offline)

Ignore
1714065583
Reply with quote  #2

1714065583
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 29, 2011, 11:49:42 PM
 #22

How would you know to -1 someone.

Done properly losing to collusion isn't detectable (by the player w/ his limited information) from just losing to bad luck or losing to a better player (who sees through your bluffs and gets out of the way of your monsters).
HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
November 30, 2011, 12:00:48 AM
Last edit: November 30, 2011, 12:14:04 AM by HostFat
 #23

I think that it doesn't matter, it can be viewed as sign that he is a very good player ... so he makes many hungry players.

I'm trying to find a good rule to easy catch a cheater from all the statistics, and make very difficult and taking time to build a reputation.

The IP limit and proxy list ( also, with everything else ) can be another good way.
If I see a table with many warning ( many players with the same IP and/or behind proxy, from the shared proxy list ) ... than I'll think 10 times before entering on the table.

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
etotheipi
Legendary
*
expert
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
November 30, 2011, 06:45:38 AM
 #24

I think that it doesn't matter, it can be viewed as sign that he is a very good player ... so he makes many hungry players.

I'm trying to find a good rule to easy catch a cheater from all the statistics, and make very difficult and taking time to build a reputation.

The IP limit and proxy list ( also, with everything else ) can be another good way.
If I see a table with many warning ( many players with the same IP and/or behind proxy, from the shared proxy list ) ... than I'll think 10 times before entering on the table.

All this stuff amounts to nothing in terms of a meaningful, credible poker environment.  While there are solutions to subsets of the overall problem, I do not believe it's possible to come up with a all-around solution that won't have holes that will be exploited to hell by determined scammers, and probably end up inconveniencing regular users more than it helps.  Or rather... as solution without third-parties and some kind of centralization...

Seriously, if you even solve this problem 99%, the scammers/cheaters/colluders will figure out how to leverage that 1%, throw a bunch of resources at it, make a significant profit, and most likely cause all sorts of credibility issues for the system as a whole.  And players are skeptical enough, already of online poker...  At least a centralized poker site has the power to police itself, and promote their service with promotions and rake-back deals, etc.  A faceless, decentralized system will need to be airtight in order to survive amidst all the scandals without a PR dept.

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 30, 2011, 07:01:50 AM
 #25

I hope that will be found a way to totally avoid escrows ( totally decentralized and disconnected from thirty party ).
Is BIP_0011 the first step?

Alternatively you could use BIP_0011 to require 100% consensus before releasing funds from mutual escrow but "greifers" will ruin that.  If I lost all my money I can just be an asshole and vote against releasing any funds.  Granted I likely will never get my lost money back but I can ruin the game for everyone else.


You could do an all but one rule. Also you could require players post say 20% more than they can play at the table so they always have incentive to approve even a loss.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 30, 2011, 07:10:00 AM
 #26

Re: Collusion prevention in decentralized poker.

I like the Rush idea. It doesn't even need to be one hand then shuffle. It could be 60 hands so you get a lot of the feel of a normal game. Or maybe it only assigns randomly and never moves you once in. This would let cheaters move until they bumped into each other, but if move behavior was public that might be okay. If accounts were free that history would be useless. Being required to pay an entry fee (to a random peer?) to be accepted by peers would make it free (or profitable in a sense if there were lots of multis) to play for single accounters (I'm imagining accounts being public keys) but costly for multis.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Akemashite Omedetou
Member
**
Offline Offline

Activity: 84
Merit: 13



View Profile WWW
December 13, 2011, 12:45:51 AM
Last edit: December 14, 2011, 10:50:35 PM by Akemashite Omedetou
 #27

I've given some thought to this and this whole thing starts to get complicated, but it seems to be possible.
(I've now added some clarifications)

Colluding
As for the problem of colluding, it is not inherently a problem of distributed poker, it is a generic problem of all forms of online poker. And Bitpoker could deal with it the same way the centralized websites do: keeping track of how often players play with each other on the same table. (More specifically, it should probably keep track of the number of hands each user has played with other users on the same table.)  This works fine if the number of players will be big enough.

There is one problem though: centralized poker platforms can enforce only one/few accounts per actual user, by requiring a real-world credit card, name, etc. This is obviously not the case with Bitpoker, if it will be anonymous in nature, there should be nothing stopping anyone from creating as many accounts as they want...
Right now I only see one way to do this and still keep everything anonymous: use the economy. It should be economically non-viable for players to create multiple accounts.

Maybe some will consider this "less" anonymous than having hundreds of accounts, or even having a new account for each table, but still, it seems anonymous enough. (A drawback of this is that unfortunately, this would make it easier to analyze each player, i.e., it would be difficult for good players for example to hide the fact that they are good, since all the history is stored in the network.)

A practical thought about how this could be done: to have a fee which will be high in the beginning of the career of each account, and will gradually get smaller and smaller, the more games the player participates in. This, together with some clever randomization of tables that someone else suggested here (for example the system could let each player choose a table only from a very small fraction of existing tables, and only change which tables are "allowed"  once a day or so. This way it would still be possible to have some choice, or get to another table if the existing one has a crazy player, or for some other reason...) should be enough to keep collusion to tolerable levels.

That said, there should probably be a mode of "private tables", so that users that know each other could join the same table, but that is a secondary problem. (Also in that case, there will be no collusion as players already trust each other.)


Now, about who is keeping the money.
When you first think of this, when several inherently hostile players play the same game, there will have to be a third party that will be handling the money, and it will also have to be trusted, because otherwise it could be suspected of colluding with some players, since they all are anonymous.

Except... this problem also comes to mind when you think of normal money, and until bitcoin came, it was the case, but not anymore...

Before in this topic, we were thinking about how to implement this *using* existing bitcoin network, how to have an account in bitcoins and manage funds on it.

But what if... we would implement another blockchain, a dedicated chain for the bitpoker chips?!
In this chain, let's say that along with "normal" addresses, there would be "hand" or "table" addresses, to which all the money is transferred as a hand progresses. And if we could incorporate secure shuffling of the cards into the chain, we could design the network in such way that funds on those "hand" accounts could only be claimed by the winning player, similar to a very complicated transaction script. (This is way too complicated to implement using the current script system of course, so my idea is not to simply start a new chain and use clever scripts, but instead to design a whole new client and protocol.)

(This needs more designing, because there basically must be 3 accounts per player and table, 1 main address, where the player has all his money away from any tables, 1 account of money on that table, and another 1 account of money currently in the pot, and all of those must be managed by the block chain in a verifiable manner.)

Now, as for how to actually deal with the shuffling of cards, this is where I haven't thought it out completely, I see two ways:
1) still use the commutative-encryption approach described in the wikipedia article. Before the hand is started, the shuffled and encrypted deck (or probably it's hash) is publicized in the block chain. Also, some kind of "proof-of-having-a-key" is publicized in the block chain, *for each player*. This can be for example arbitrary known value encrypted with the player's key, so that if you would have the key, you could do the same thing and state that yes, indeed, that is right key for that player. (this will make sense in a moment.)

As the hand progresses, cards are decrypted as required, by passing them around the players. The order of each player's actions is also recorded in the block chain as the hand progresses (let's just say for now there is a reliably way to do this, there is more about this at the end of the post). Finally, as the hand is completed and all cards must be shown to select a winner, the keys of all parties are made public in the block chain. Notice that now, using only information stored in the block chain (the initial deck, ordered decisions of each player, all the keys to decrypt the deck) it is possible to exactly determine the winner. This will be done in the same way transactions are claimed right now in the mainline bitcoin network: collaboratively. You cannot cheat, because it is the network that decides which player has won the money from the hand address. Like in bitcoin, there will be block confirmations, and to generate those, miners will check each win themselves. Think of it as a transaction with a very complicated script that needs a number of conditions to be met for someone to claim the money.

What if at the end of the hand a player has already received all the other keys, and can decrypt the cards, and sees that he has lost, but has not yet made his key available? He could in that case never make his key public, and there would not be any way to tell for sure who has won? This is where "proof-of-having-a-key" comes in. If the network sees that for a given hand, not all keys have been made public, using that proof, it can determine exactly, whose keys HAVE been made public, and thus prove which player did not provide his key. In that case, the money will go back to each individual player, except the one (or the several) that did not provide their keys. Their money is split evenly between the rest of the players, and, since we are making accounts persistent by having a fee anyway, we increase the fee of the player that did not make his key public. This should be enough to discourage anyone from doing this. (Loosing the money + getting higher fee and bad will + not really loosing anything more by just making the key public as the network wants.)

(Just a side note: since we are dealing with internet and disconnects here, there should be nothing in the design of the network to stop a player from making the key public in the last step of the hand even after a reconnect, as long as he did reconnect in the given time.)

2) instead of relying on commutative encryption, randomly choose another node from the network to act as a "hand seed" and "dealer" for each hand, and probably rewarding that player with a small percentage of the hand pot.

In the beginning of a hand, this dealer generates a random seed, a cryptographically long enough value that will be used as the seed for the random number generator for the shuffling, and makes a hash of that value publicly available in the network. As a hand progresses, player's decisions are broadcasted in the network, and when the time comes, the dealer broadcasts the cards only to those players that are supposed to see them. This is easily done by public key cryptography, i.e. the dealer encrypts the cards a player is supposed to see with that player's public key and broadcasts that into the network.

When the hand is done, the dealer broadcasts the initial seed value, which can be easily checked for validity, since it's hash was broadcasted already in the beginning of the hand.

The winner will only be able to claim the winning transaction if the hash corresponds to the seed, and if the order of players' actions given that seed (and the order of cards in the deck it implies) corresponds to the win of that player.

The dealer only gets his cut if the seed is actually made public in time, and if that seed actually corresponds to it's hash that was made public before.

The problem as I see it is this: is there a reliable enough way to make sure that none of the players can ever cooperate with or even "find" the dealer? Even if the dealer will be random each time, maybe evil-doers will create a botnet of theese dealers and get them together somehow and find a way of quickly finding and communicating with them as a player? (Thus always knowing other players' cards.) Don't know, this needs more thought.

Determining the order of the actions,
There must be a certain way to do this, something to prevent player sending two different actions (fold or call at the same time).
This is very similar to "double spending" problem the bitcoin manages to fix by waiting for confirmations. But block confirmations would be way too slow to do this. I think Geist Geld alternative cryptocurrency has used block speed of 15 seconds, and it has sort of worked, however it is still a little too fast I think, and even if we used 15 seconds, it would still be too slow for poker, because every *action* of every player during a game would have to wait for such confirmations (multiple perhaps).

But! After some thought I don't think we need to use confirmations for those small player actions after all.
There is no valid reason for any honest player to ever broadcast two conflicting actions. By conflicting i mean, say a fold and a bet *at the same stage of the hand*. Of course there will be different actions during the hand, but those can be distinguished by some system of counting.
So, if the network would ever see two conflicting actions targeted to the same stage of the hand from the same player (and since each action will be signed by the private key, that will be easy to determine), it is certain that the player has tried to cheat. In that case the network could simply rollback the hand and punish the player using the mechanism I described before using the fee, reposessing his funds in the pot to the rest of the players (or perhaps even all the funds he had on that table). This way noone could ever win anything by cheating in this way.

The confirmations will probably be used only for transferring coins between accounts, or to/from a table/pot. Most importantly, to withdraw funds that have been "won" from a pot must require confirmations. But that does not have to be superfast, if someone was to wait a couple of minutes before being able to enter a table, or before withdrawing his winnings, that is still not too bad.

Now, as for this whole "another block chain thing"
Given what I have described, this would require a lot of transactions, and thus bloating the block chain even more so than on the main bitcoin chain. Thus it seems to need a built-in clean-up mechanism. So each account in this chain would be much more short-lived. Each X number of blocks all blocks older than Y will be "truncated", forgotten. (Where Y>X.) Economically wise, a small gesell-like negative interest enforced each block seems viable (instead of randomly loosing the money that happened to be in truncated blocks).

This chain will have to be very fast, very liquid, and people will try to keep cashing out directly. It will not be used so much to store the money, but just for the games themselves. By using faster blocks, and not requiring block confirmations for every single thing that will happen in this network, we could very likely make this chain fast enough for real time poker, however that also could make it more susceptible to splitting and other forms of attacks. However I don't really consider real life splitting as an issue, because right now it would take not much less than a meteorite to reliably split a distributed network like this in two halves. It is much more difficult than to firewall some sites like China does, and i believe has not ever been done yet?
Anyway, it is also the fact that this chain will be that much faster and more liquid will also greately reduce the damage, if any kind of attack on it was successfully executed.

To actually transfer money to and from this new chain, some exchanges would have to be created. To use them, you could still remain anonymous, though.

Bitcoin Fog: Secure Bitcoin Anonymization

---
Creedy: Die! Die! Why won't you die?... Why won't you die?
V: Beneath this mask there is more than flesh. Beneath this mask there is an idea, Mr. Creedy, and ideas are bulletproof.
cunicula
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
December 13, 2011, 01:27:23 AM
 #28

Yeah, that sounds brilliant. The software appears very complicated. There are possible exploits [nonrandom shuffling, friends at a table, chip stealing] and implementation difficulties [random p2p matching, information pruning]. A secure, usable system would be an awesome feat. Can't wait to see this.
Akemashite Omedetou
Member
**
Offline Offline

Activity: 84
Merit: 13



View Profile WWW
December 13, 2011, 01:40:01 AM
 #29

Quote
Insert Quote
Yeah, that sounds brilliant. This software appears to be very complicated. There are many possible exploits [nonrandom shuffling, friends at a table, chip stealing]. A secure, usable system would be an awesome feat.

Are you referring to the general idea or to my last post?
Because based on my design,
nonrandom shuffling is not a problem:
If we use approach 1 with commutative encryption, shuffling is always random, as each player shuffles cards themselves, and even if all but one players would shuffle in a strange way, the one shuffling truly would make their plans break. There could be a case where all the players shuffled cards in some strange way, but what do they win by that when they don't know how other players are shuffling?
If we use approach 2, that is indeed a problem. I suppose it could easily be fixed though by not using only the random value generated by the dealer as a seed, but instead a [random value from the seed + random value from each player], and a hash it, so that one would not be able to predict and thus manipulate the outcome of the shuffling.
One step further would be to first make the hash of the secret dealer value public first, THEN get the values from the users, THEN shuffle cards based on hash([those values + the secret value]). That way the seed will be made of both information from users and from the dealer, only dealer would have both pieces of information, and by the time it actually gets both pieces, it would be too late to change the first piece (hash has already been distributed). This is probably an overkill...

Friends at a table
is the same thing as colluding, I have explored this in quite a detail in the previous post, basically the idea is to fix this with a beginner-fee and keeping tack of people always playing at the same table with each other. (And also semi-random table assignment.)

Can you elaborate more on what you mean by chip stealing?

Bitcoin Fog: Secure Bitcoin Anonymization

---
Creedy: Die! Die! Why won't you die?... Why won't you die?
V: Beneath this mask there is more than flesh. Beneath this mask there is an idea, Mr. Creedy, and ideas are bulletproof.
cunicula
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
December 13, 2011, 01:45:32 AM
 #30

Quote
Insert Quote
Yeah, that sounds brilliant. This software appears to be very complicated. There are many possible exploits [nonrandom shuffling, friends at a table, chip stealing]. A secure, usable system would be an awesome feat.

Are you referring to the general idea or to my last post?
Because based on my design,
nonrandom shuffling is not a problem:
If we use approach 1 with commutative encryption, shuffling is always random, as each player shuffles cards themselves, and even if all but one players would shuffle in a strange way, the one shuffling truly would make their plans break. There could be a case where all the players shuffled cards in some strange way, but what do they win by that when they don't know how other players are shuffling?
If we use approach 2, that is indeed a problem. I suppose it could easily be fixed though by not using a random value generated by the dealer as a seed, but instead a random value from the seed + random value from each player, and a hash of all that information, so that one would not be able to predict and thus manipulate the outcome of the shuffling.
One step further would be to first make the hash of the secret dealer value public first, THEN get the values from the users and shuffle cards based on those values + the secret value. That way the seed will be made of both information from users and from the dealer, only dealer would have both pieces of information, and by the time it actually gets both pieces, it would be too late to change the first piece (hash has already been distributed).

Friends at a table
is the same thing as colluding, I have explored this in quite a detail, basically the idea is to fix this with a beginner-fee and keeping tack of people always playing at the same table with each other. (And also semi-random table assignment.)

Can you elaborate more on what you mean by chip stealing?

Oh, by brilliant, I was referring to your post. By chip stealing, I just mean the standard issue of people needing to protect their private keys.
If you can manage this, I encourage you to actually do it. People will get excited about it.
Akemashite Omedetou
Member
**
Offline Offline

Activity: 84
Merit: 13



View Profile WWW
December 13, 2011, 02:02:41 AM
 #31

Well thanks, this is by no means a complete solution of course, I just wanted to present this idea of having own block chain exclusively for poker chips and poker hand data and examples of how that can be used to approach most of the big problems that arise in distributed poker. I hope that together with the real geniuses out there we will work out all the bugs and come up with a practically working design which will finally  get implemented!

Bitcoin Fog: Secure Bitcoin Anonymization

---
Creedy: Die! Die! Why won't you die?... Why won't you die?
V: Beneath this mask there is more than flesh. Beneath this mask there is an idea, Mr. Creedy, and ideas are bulletproof.
HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
December 13, 2011, 02:30:34 AM
 #32

Do you think that this can become something bigger as a "totally decentralized betting framework" ?

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 416
Merit: 277


View Profile
December 13, 2011, 03:10:38 AM
 #33

Do you think that this can become something bigger as a "totally decentralized betting framework" ?

It can't be done in the current Bitcoin system as the scripting language is insufficiently powerful and cannot introspect (i.e the script can't read the block chain). A Bitcoin-like system with these features could be used to faciliate secure poker games and other contracts.
As a "decentralized betting framework", it would be vulnerable to legal attempts to disable it. As a "more powerful Bitcoin" it would have "substantial non-infringing purposes".

ByteCoin
finway
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
December 13, 2011, 09:15:51 AM
 #34

Blockchain everywhere!  Grin

markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
December 19, 2011, 06:58:17 PM
Last edit: September 23, 2013, 02:15:07 PM by markm
 #35

I sounds kind of strange to talk about friends playing poker together as a bad thing, whatever happened to weekly poker nights amongst friends?

Maybe one could start with two extremes: either you all agree together that you want a table, or each player plays as a lone human against a table of artificial intelligences that do not collude with each other. Basically either you want a particular group of players to play together because they all agreed exactly who they are and that they want to play together or you insulate everyone from each other with layers of artificial players.

Then you can get into securing the code of the AI players to be sure what code each is actually running.

Or you could digress into the fun game of each writing their own A.I. to do their playing for them, teaching it to recognise and collude with A.I.s written or deployed by friends or sockpuppets and so on.

You could do like blackjack, where there is a fixed set of rules the house has to play by, so examination of the hands afterward can check all the A.I. players strictly followed their rules.

Also, isn't anonymity in the sense of not having live video you can zoom in on each player's face in real time kind of against the spirit of poker? It is all very well not to know the player's real name and profession and place of birth and such, but surely a key element of poker is high resolution real time observation of body language and facial expression and so on?

Being able to cheat by keeping the other players from watching your face eyes body language mannerisms etc is surely so much of a cheat in itself that worrying about people colluding is kind of secondary, since if you cannot watch them in real time you cannot see whether they are chatting with colluders during the game?

If you eliminate the human element of actual observation of the skin tone, perspiration, respiration, eye movement, twitches and all that, then you might as well play A.I. opponents. Otherwise you are deliberately setting up almost ideal conditions for cheating then complaining that people might cheat! (You need good audio too of course, in case they try to mumble under their breath into a concealed mic or something...)

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Sergio_Demian_Lerner
Hero Member
*****
expert
Offline Offline

Activity: 549
Merit: 608


View Profile WWW
April 09, 2012, 04:53:32 PM
 #36

Two years ago, back in 2010, I thought deeply about all this interesting things.

And I thought much needed to be done. At that time, I designed the first mental poker protocol that is both realtime and have drop out tolerance (that is required for p2p playing). By drop out tolerance I mean that if a player drops out (accidentally or intentionally) the remaining players are able to keep playing without problem. (the quitting player cards get automatically shuffled in the deck).
This is important because, if not present, a colluding player can drop out (and block the protocol) to "save" another player from loosing money.

At that time I did my thesis and wrote a patent, and both documents are online (check US patent 13086208). The main problem that I found was the requirement for a time server or better, some timestamped message exchange service to prove a message has been delivered. Since Bitcoin blockchain is not fast enough to serve as a distributed time server, I thought the the technology was not mature enough.

Recently I developed a new p2p signature protocol called MAVE (for MAssive VErifications) and a new P2P currency based on it (yes, yet another blockchain!) which can process thousands of transactions per second with an average personal computer, using 50% of the average PC resources (CPU and RAM) and almost no hard disk space.
But still is not suitable as a time server, because it still need "confirmations".

I'll be publishing the preliminary paper in my cryptocurrencies blog late this week (http://bitslog.wordpress.com) and I'll post an update here so everybody can see it and check it.

I'd like to implement the whole platform, but I have no time. Maybe crowd-funding it?  I really don't want to mess up with regulation and get notices from government agencies, so I won't host any of this work myself. But I'd love to see it working...

I'd be glad to license the patent if someone works out the rest!

BTW, I think we should standardize the block chain, so that single mined block works for different block chains of different p2p networks, something like a Meta-blockchain. Did anyone posted about it?

Sergio.




DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
April 09, 2012, 04:56:15 PM
 #37

The largest issue remains collusion between players a new blockchain doesn't solve that.

You sit down at a virtual table and 5 of the 9 oponents are all part of a team sharing cards, strategy, etc.  You have no hope of winning.
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
April 09, 2012, 05:23:28 PM
 #38

Recently I developed a new p2p signature protocol called MAVE (for MAssive VErifications) and a new P2P currency based on it (yes, yet another blockchain!) which can process thousands of transactions per second with an average personal computer, using 50% of the average PC resources (CPU and RAM) and almost no hard disk space.
But still is not suitable as a time server, because it still need "confirmations".

Sounds great. Yes, please post here.
It will be free software, right?

BTW, I think we should standardize the block chain, so that single mined block works for different block chains of different p2p networks, something like a Meta-blockchain. Did anyone posted about it?

You mean something like standardizing merged mining so that there's no "father chain" ?
Maaku said that his company will launch a bunch of currencies that merge mine that way. The first, "freigeld" (very similar to my freicoin proposal) will be launched soon. You can find maaku in this forum or in freicoin's forum, in case you want to know more, but I don't think he will give you many details before the launch (which is supposedly imminent).

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
April 09, 2012, 05:48:49 PM
 #39

Sounds great. Yes, please post here.
It will be free software, right?

I'd be glad to license the patent if someone works out the rest!

Even if it is "free" as in free beer it won't be "free" as in free speech.
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
April 09, 2012, 06:10:58 PM
 #40

Even if it is "free" as in free beer it won't be "free" as in free speech.

Too bad then. I don't see many people willing to accept an alternative currency that is produced through a secret process.
I thought first that the patents he was referring to were only for the poker (not that I approve them for any purpose, I'm plainly against so called "intellectual property"), but it seems that I misread him. The currency simply NEEDS to be open sourced.

Sergio, I invite you to read this:
http://www.gnu.org/philosophy/not-ipr.html
and this:
http://mises.org/journals/jls/15_2/15_2_1.pdf

Two different and strong perspectives on "intellectual property". I propose that we start calling them Intellectual Poverty laws.

Sorry for going off-topic.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Pages: « 1 [2] 3 4 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!