Virtue Poker is a peer-to-peer online poker platform that enables the self-custody of player funds and aims to eliminate security and game integrity issues inherent to existing poker sites by using Ethereum smart contracts. A peer-to-peer shuffling protocol reduces the risk of internal cheating and the need for players to trust centralized random number generators. Virtue Poker is developed by Consensys, a leading venture studio for Ethereum-based dApps, and raised $19 million in a May 2018 token sale.
Virtue Poker identifies several key flaws in existing, centralized online poker sites, which stem from a combination of regulatory and technical hurdles. Virtue Poker’s value proposition is centered around three key goals: eliminating player deposit risk, improving gameplay fairness and trust, and reducing rake and player costs. The Virtue Poker application utilizes Ethereum smart contracts and a P2P card shuffling protocol to offer a more secure online poker experience for users, including features such as:
uPort Identity management - Players register accounts through uPort, a self-sovereign identity application also developed by ConsenSys. This prevents users from multi-accounting, and ensures that Virtue Poker is only offering service to jurisdictions where online poker is legal.
Table Smart Contract - Each table contract represents a particular poker table, where results of individual hands are recorded as transactions governed by that contract. Transactions are submitted to the Ethereum blockchain when a player joins or leaves a table and at the end of each hand.
Mental Poker Shuffling Protocol - Virtue Poker uses a peer-to-peer, cooperative card shuffling protocol termed Mental Poker to ensure game fairness. At a high level, Mental Poker ensures that the deck’s order is unreadable to any single player, while coordinating appropriate decryption during each hand. This addresses the lingering issue of game fairness and transparency in existing online sites, where players must trust the centralized host to run a fair game.
Game Security Team - In the initial launch of Virtue Poker, a team of former professional poker players and data scientists will monitor game integrity and adjudicate instances of suspicious player behavior, including the use of bots or collusion to gain an unfair advantage in gameplay. This Game Security Team acts as a final integrity layer, and is managed and funded centrally by the Virtue Poker organization.
Justice System - In tandem with the Game Security Team, the Justice System is designed to combat various forms of cheating and collusion. Justices are nodes that are assigned to individual game tables to verify and submit hand results to the Game Security team for further review and later IPFS for storage. Justice nodes run without human oversight, and are not designed to require specialized hardware.
The VPP token follows the ERC223 standard and has three primary functions within the Virtue Poker application:
- In-game Currency: Players can play poker using VPP or ETH as the in-game currency. Tables collect rake in the token being wagered, either VPP or ETH.
- Access to Special Tournaments: Virtue Poker plans to offer various tournaments and promotions that are only accessible to VPP holders.
- Staking Mechanism: Individual Justices must stake VPP to act as a working Justice. This stake incentivizes honesty in hand reporting, as Justices who are found to have reported false hand results have their tokens burned. Justices can be thought of as validator nodes on the Virtue Poker network.
Each Justice is assigned to one poker table and earns VPP in proportion to their stake. This VPP is paid by players as a portion of the rake, with the remaining VPP accruing to Virtue Poker to fund product development and marketing costs. As of the Justice System Beta Program, 50 ETH worth of VPP must be staked to run a Justice node. This figure may change in the live version, as materials suggest the ultimate staking fee will be determined dynamically, based on token price and the effective distribution of tokens to users.