This article outlines the factors that we considered when choosing EOS.io over other blockchain platforms with smart-contracts support. In order to launch a blockchain for decentralized gambling applications within a reasonable time, we needed to select a fully-working existing blockchain with a mature and stable codebase. It would also have to meet the requirements of our future Gambling 3.0 platform (either after modification or out-of-the-box), such as deterministic (and fast) finality, low latency with high throughput and the support of on-chain RNG.
The blockchains that currently power the growing DApp market (including, but not limited to, gambling services), are Ethereum, EOS.io, and Tron. The table below illustrates how the blockchains compare to each other in relation to the most vital aspects of our future ecosystem:
It is evident that EOS.io in its current state comes very close to meeting our requirements. As well as being an open-source platform, we chose to build upon it as it is already an operational blockchain capable of demonstrating an impressive number of transactions per second, has low latency, deterministic finality and supports a very advanced VM - WebAssembly. An on-chain random number generation would have to be one of the features to add, but DAO.Casino developers have already demonstrated they are more than capable of integrating such a solution into the blockchain.
Therefore, by having EOS.io as a solid foundation for further development, we will only have to concentrate on improving three aspects: finality, VM and RNG mechanism.
With all those factors, we will gain an opportunity to provide users with the best User Experience (UX). At present, the difficulties we encountered while working with Ethereum Network are as follows: the low speed of transactions and additional fees in the form of GAS.
Given that DAO.Casino is to make the unified solution for Gambling 3.0 industry to dedicate the future growth, we cannot neglect such big factors that can become stoppers for casual players, as extra transaction fees and long operations speed. That is why, being focused on User Experience, we are providing a solution and building our own DAO.Casino Blockchain.
From the UX side, we achieved that within DAO.Casino Blockchain, a game channel’s opening speed (a start of a game session) lasts only 3 seconds without sacrificing its security, compared to Ethereum’s 30-40 seconds. The block is formed each second to guarantee the high transaction speed. The transaction costs nothing.
Finality is the issue of irreversibility of a transaction (or transaction block), i.e. once a transaction is completed, there is no way to revert or alter it. Finality can be deterministic or probabilistic, and, as previously stated, it has to be deterministic for our particular scenario. In the case of EOS.io, we have deterministic finality, with final block confirmation time standing at roughly 180 seconds.
As previously announced, the solution we are developing will be based on EOS.io, where reasonable finality is achieved within 1-3 minutes. This is not fast enough for our purposes and we will employ RANDPA (Recursive Ancestor Deriving Prefix Agreement) block finality to further improve the speed of block verification, achieving both finality and performance comparable to the best iGaming industry standards.
RANDPA identifies which blocks have more than 2/3 of block producers in their chain and finalizes them. Because of this strategy of finding the highest common ancestor which a supermajority considers valid, RANDPA is also adaptive: it can finalize a new block regardless of how many blocks have passed since the last block was finalized. If network latencies are low, RANDPA can finalize blocks almost instantly, and when recovering from a long network partition, RANDPA can finalize many blocks at once without any message overhead.
With these changes, we are making the Gambling 3.0 Industry possible.
DAO.Casino Blockchain will use WebAssembly to ensure low latency with the fastest available virtual machine implementation. As mentioned in the previous article, this VM can help to solve the major industry issues. Currently, EOS.io. is the only production-ready blockchain running on WebAssembly.
WebAssembly is standard and backed by big technology companies, such as Google, Apple, Microsoft, Mozilla, and others. It allows running complex algorithms within the framework of smart contracts using advanced programming languages, such as C++ and Rust. Built-in compiler optimizations help to achieve a great speed of execution. Also, WebAssembly becomes the de-facto standard for browsers as well, allowing us to easily run the same code both on the server side and client side. This is especially important for successful game development.
As we want to ensure the best user experience for our community, users, and stakeholders, we decided to switch to EOS.io+WebAssembly.
Random Number Generator
RNG is one of the major notions in the Gambling industry that can easily be neglected, especially in Gambling 1.0 and 2.0. While discussing the building of Gambling 3.0, we will be implementing the most up-to-date technology in order to solve the industry problems and creating a solution that will last for decades. This should guarantee industry growth long into the future.
In this sense, RNG is the foundation of any gambling application. You can explore more on RNG’s solutions and weaknesses in the latest article.
What we are making is much more enhanced and requires a deeper understanding of the casino operation algorithms and the logic behind win-lose scenarios. What we are aiming to develop on our DAO.Casino Blockchain is called VRNG (Verifiable Random Number Generator). It is a pseudo-random function that provides publicly verifiable proofs of its outputs' correctness. It is determined with an algorithm to generate verifiably random numbers to guarantee the true random generation in the gambling apps, that is needed to exclude cheating behavior from any of the casino members: players, bankrollers, affiliates, operators and even developers.
To summarize, in order to operate a scalable decentralized gambling platform in alignment with our vision of Gambling 3.0, we chose EOS.io because its blockchain meets the following criteria:
- Based on a successful, mature blockchain project codebase
- WebAssembly VM environment for on-chain smart contracts execution
- RANDPA to ensure faster deterministic finality
- On-chain VRNG (which we will explore more in upcoming articles)
Follow us on Twitter, Facebook, and our official site to keep up to date with all of the latest announcements. Join the discussion in our main Telegram channel or the chat for developers and give us your feedback on the SDK.