DAO.Casino, the Ethereum-based gambling platform building a decentralised, transparent gambling platform which will offer provably fair games, has launched its crowdsale and reported significant success, with over $12,000,000 worth of tokens sold on the first day of the token sale. The token distribution began on the 29th of June, 2017 and is set to end in 28 days, or when the maximum cap is reached.
The cap on the crowdsale is set at $25 million. The initial price for tokens was set at 2,000 BET tokens for 1 ETH for the first day, and during the following two weeks 1 ETH will be worth 1,800 tokens. At the time of writing, the total value raised is approximately 13.5 million USD - or 45,090 ETH. Of this revenue, 60% is to be put towards research and development, 20% for operational costs, 15% for marketing and 5% set aside for legal purposes.
Designed to provide a bankroll backer and randomness amongst other benefits, the DAO.Casino platform is intended to grant game developers a degree of freedom from casino operators when developing products. It will provide incentives for operators to prove the fairness and integrity of their platforms. DAO.Casino is transferring the different processes required to enable gambling onto Ethereum to take advantage of the benefits of blockchain and to create an interoperable gambling industry entirely on the blockchain.
Some of the existing problems that befall online gambling that the platform aims to solve include: the risk of fraud on behalf of online casinos, the inability to check the result of a draw, high and hidden fees, a prohibitively high entry level for the game developers, high costs associated with running an online casino, and operations overheads such as integrating payment systems and user account balance management.
The initial release of DAO.Casino uses the Signidice algorithm to solve pseudo-random number generation and up to the launch, games released will use this algorithm.
In its whitepaper, DAO.Casino describes the use of the Signidice algorithm as ‘suitable for those Ethereum-based games, where outcome of every round for the player depends only on the RNG and (optionally) the number, chosen by the player, but not on the action of other players. E.g. it may be suitable for roulette, slots, etc., but not for those games, where outcome depends on the other players or just their number, as may be the case in lotteries.’
The whitepaper also details the following example of a game of roulette being modelled as a number of rounds, with a single player playing against the casino using the following sequence:
1. The casino generates a new pair of private/public keys (PrivKey and PubKey) for some deterministic signing algorithm (e.g.RSA).
2. The casino creates a smart contract, which contains the public key (PubKey), maximal number of participants, and the Ether bounty. (Optionally: casino changes PubKey of the existing smart contract).
3. The player chooses the number to bet on (B), and a random number (R) in certain format (e.g. 20 bytes). The player might even specify the range of numbers B, if the rules of the game allow it (odd vs. even, etc.).
4. The player sends a transaction (TX) containing the Ether bet, along with the data: B and R.
5. The contract checks validity and format of the numbers B and R. Invalid TX is rejected.
6. Additionally, the contract checks if the number R has already been used by this player in previous rounds, in which case TX is rejected. (This step is necessary if the contract is reused for multiple rounds of the game).
7. The contract concatenates the random number R with the public address (A) of the player's Ether account, from which TX was sent: V = A + R. The resulting value V is stored in the contract. The size of V is always the same: size(V) = size(A) + size(R). At this point the outcome of the round (win or lose) becomes deterministic.
8. The casino must sign the resulting value V with its PrivKey, thus producing the digital signature S = sign(PrivKey, V), and send the corresponding TX, containing S.
9. The contract recovers the actual public key (K) from the digital signature S, and verifies that it is equal to the previously published PubKey (K == PubKey). If APK does not match PubKey, or if casino fails to perform step 8 within a predefined time frame, it is tantamount to cheating. In this case the contract sends the bounty to the player along with the original bet, and the contract is closed via suicide. (In case of multiplayer game, the bounty is shared between all players).
10. The contract uses S as a seed for the predefined PRNG algorithm (e.g. SHA-3 based), which produces the lucky number (L), e.g. between 0 and 36.
11. If B corresponds to L, the player wins, otherwise casino wins. The contract sends the bet to the winner.
12. Now the casino may close the contract and recover the bounty, or initiate a new round of the game. Alternatively, the contract might be programmed to automatically proceed to the next round, unless the casino closes it.
This method shows provably fair gambling and avoids manipulation of the outcome by either side whilst also giving the opportunity to the operator to advance payments in order to generate goodwill.
With its innovative new approach, DAO.Casino aims to create an open ecosystem that anyone can integrate and interact with. Soon it will be looking to collaborate with traditional online casino operators who are prepared to implement blockchain technology. Details of plans to form consortium for collaborative research and running pilots is expected in the future.