oContingency — What is it? (& Feb 1st presale info)
Contingency, for lack of a better term is like the “Uber of Casinos”. Instead of providing a single service for people to wager on, it provides a network for people to participate in creating their own games, providing a bankroll to gain income, or wagering against other users.
Once launched, it will be the first truly decentralised, unstoppable casino network. There will be no way to shut it down without shutting down the entire ethereum network.
The network acts as the matchmaker between player and banker, automatically finding funds for a player to try his or her luck against and providing a way for bankers to generate income.
There are many existing online gambling games in the bitcoin space and even a few now coming to the ethereum space. A key difference of Contingency is that it is not a single game but a platform to create games and pool bankers.
Many cryptocurrency betting platforms allow the option to “invest”, this generally involves sending your funds to the casino operator and sharing profits on the income generated. This requires trust in the casino operator and opens the casino up to various vulnerabilities, including:
- The casino operator could simply run with all invested funds.
- If the casino operator has an input in the randomness of bets, they could bet against their own casino and always win, draining investor funds. Provably fair systems do not prevent this.
By utilizing Ethereum smart contracts gambling platforms can store user’s funds inside of smart contracts that the casino operator can not access, thus preventing vulnerability #1. This does not however, prevent vulnerability #2.
Vulnerability #2 can be prevented by using an external source of randomness. A simple source for this would be an upcoming ethereum block hash, although this can still be manipulated by miners and with any platform that has enough funds, it surely will be.
So, who can we trust as a source of randomness?
The only answer is yourself!
Methods today exist on ethereum such as RANDAO, and it works in two phases:
Phase One: Users choose a number and provide a hashed version to the contract.
Phase Two: Users reveal their numbers and a final random number is generated from all the inputs.
The problem with this method is that a user could manipulate the result by revealing or not revealing their inputs. Even though RANDAO issues a penalty to those who don’t reveal their inputs, the user could be profiting larger than the penalty from manipulating the result.
Contingency’s method is quite simple by design. It’s somewhat similar to the RANDAO method except that only two inputs are allowed at any time — one by the player and one by the banker. Both the player and the banker don’t know the number the other has chosen before the bet is confirmed, and if one party decides not to reveal their number, the entire bet is awarded to the other user. Users of course won’t actually need to handle any of these steps, instead it will be done via client side javascript.
Due to the fact that only the users involved in the bet are providing the source of randomness and all the funds are at stake, the number cannot be manipulated for a greater profit elsewhere.
I just want to bet or become a banker, how will it actually work?
The Contingency platform will function just like any other online gambling platform. An online web interface will be created that anyone can interact with using their Mist browser, the metamask Google Chrome plugin, a third party website, or anything else that comes out in the future.
Contingency will create an easy-to-use interface at contingency.tech which will later be distributed via swarm (contingency.eth) for even more decentralisation and security. Using this interface, players will be able to wager bets and bankers will be able to manage and monitor their bank rolls.
Bankers will simply deposit required eth/tokens/CTY via the contingency interface and then run a client side script on their own computer or an external server. Bankers can then monitor their profits in real time via the contingency interface
Why does contingency need an edge?
Contingency itself is a completely free platform and does not take any fees or any “edge” from bets.
Bankers on Contingency have a 1% edge on all bets. With this edge, due to the law of large numbers, bankers should see a positive return on their investment in the long term.
If Contingency was to offer an edgeless gambling network, where the player and banker both had completely equal chances of winning a bet, there would be zero incentive for bankers to exist at all. Bankers would essentially just be gambling their funds the same way as the player, but over a long and boring period that minimises the excitement of placing a bet. In addition, their net result over the long term is expected to be even.
Due to the bankers having zero incentive to provide funds to the platform, we would see a very low number of them (if any at all). This would result in there being very low, or zero funds for the players to wager against when they want to and bring the entire system to a halt.
One possible way to run an edgeless peer to peer casino would be to accept a bet and have it sit there until someone places a bet with the same value, but this would result in very slow bets that could take days or even weeks to resolve, especially when it involves significant values.
With a 1% edge, bankers can be confident they will profit in the long term, and players can wager knowing they will get a very low competitive rate, in addition to adequate funds being available for instant betting.
What if the contingency staff turns evil?
All funds will be held inside of the ethereum smart contract at all times and can never be accessed by the contingency staff, or any unauthorised users. In the event that they do decide to turn evil, the only thing that can be manipulated or shut down by us is the contingency.tech homepage. In this event, users could use a local or third party copy of the website or even interact with the smart contract directly and still have complete access to their funds.
Clarification: Please note that pre-sale funds are to be used for development and CAN and WILL be accessed by the Contingency team. The above statement is referring to all post pre-sale funds and tokens that are to be used in the Contingency network once it is live.
Contingency also plans to distribute the full client via swam as soon as possible to completely remove any attack vectors from our own hands.
Presale? why, when, how?
(TL:DR: February 1st, 2017.)
The simple rule for bankers is: “The more bets I can process, the more I should profit”. This is due to the 1% edge in the banker’s favour.
So when a player places a bet, how will the system determine which banker can process the bet? The answer, CTY tokens.
When a banker provides ether or any other ERC20 token to be wagered against (Augur’s REP for example), they must also provide CTY tokens. These tokens are used to place them in a queue of bankers ready to be wagered against.
The banker then sits in the queue as the other bankers get wagered against until he or she is the next in line.
Once it is your turn as a banker, all bets will be forwarded to you (as long as you have deposited enough of the token that is being wagered). You must then process these bets by providing a seed.
If the banker fails to provide the outcome of a bet, the bet is processed as a win for the player and the banker receives a small penalty to their CTY tokens (amount to be tested and determined).
After your turn as the active banker, your CTY tokens will be automatically placed at the end of the queue awaiting your next turn. Bankers can exit the queue at any time without penalty (and have their full CTY tokens refunded).
With this method, no CTY tokens should ever be lost by a banker unless they attempt to act maliciously or happen to go offline right as their bet is due (Contingency is also currently developing a way to be able to save a user from CTY token loss as a result of being offline, which involves periodically sending an online ping to a smart contract and removing the banker from the queue if their ping dies out).
Of course, this will all be done via a client side script that a banker simply only has to run and forget.
The presale will be on February 1st, 2017 via an ethereum smart contract that will automatically distribute CTY tokens at a rate of below:
Period
Price (CTY tokens : ether)
Power Hour
170:1
02/01–02/07
150:1
02/08–02/14
133:1
02/15–02/22
117:1
02/23–02–28
100:1
The “Power Hour” is the opening hour of the presale.
The above dates are estimated and will be based on ethereum block numbers. The starting block number will be provided closer to the date.
10% bonus CTY tokens will be generated and locked inside of the smart contract for a period of six months. These will be able to be withdrawn after this time frame by the founder. This is to ensure that development is continued and to give incentive for the founders to keep CTY’s value at a high.
We are very excited to hear all of your feedback and launch the world’s first truly decentralised, unstoppable casino network!