Counterparty Introduces Fully Trustless Games On The Blockchain

July 13, 2014

After establishing a peer-to-peer solution to support global business and help decentralize the world of finance, Counterparty is now proud to present the future of Bitcoin betting: trustless and tamper-proof gaming on the Bitcoin blockchain. This means that in addition to the data-feed based betting system, Counterparty now supports fully trustless gaming which totally bypasses the need for trusted oracles and broadcast feeds.

There is a fundamental problem of trust that affects centralized gaming. By definition, all centralized gaming services must rely on administrators and data-feeds or oracles. Because such services are owned by a few individuals, games are susceptible to “loaded dice” and unfair odds. For example, administrators have the ability to change the outcome of any game. An admin could even compete in their own game with artificial advantages and unfair odds while posing as a regular player. And the more money is involved, the larger the incentive for such malicious behavior to occur.

Some gaming sites like Satoshi Dice are provably fair. While this ensures that you will be able to prove whether the game is rigged, it does not prevent corrupt administrators, maybe even hackers, from exerting control over the outcome of games and your Bitcoins.

To resolve this issue, Counterparty has developed the first step towards trustless multiplayer games such as poker and chess. Due to the distributed nature of this solution, nobody can control the outcome of any game except the players themselves. Using Counterparty and Bitcoin transactions, the future of online gaming can be like the future of money itself: decentralized.

To show you what we mean, we actually built Rock-Paper-Scissors (RPS) and Rock-Paper-Scissors-Lizard-Spock (RPSLS) into Counterparty! And the underlying system allows you to do a lot more than just play rock-paper-scissors… You can play any game of this type with an odd number of possible moves.

Technical details

(With Counterwallet, this whole process is automated, so that you only have to make your move, and the client does the rest.)

1) You broadcast a hash of your move (i.e. hash(‘rock’ + random bytes))
and a wager (and an expiration).
2) Your move is matched with precisely one other move with the same wager.
3) Both you and your opponent wait for only one confirmation and then reveal your move and the random bytes (Counterwallet handles this step automatically). When both moves have been broadcast, and if there isn’t a tie, the winner takes all.