If you’ve tried to develop a DApp on Ethereum, then you know the struggles. Transactions are slow and can get expensive very quickly. This makes interactive gaming uneconomical for most all use-cases. Main-chain scaling is hopefully coming down the road, but those solutions are not here yet, and may be a long way off.
The primary solution we have now, is to run an application-specific side chain and use Plasma, or other state channel approaches, to periodically and efficiently commit a snapshot of the side chain into the Ethereum main chain. These snapshots allow users to securely exit their resources to the main Ethereum network in the case that the side-chain operator misbehaves. This approach leaves developers with a new set of problems to solve; namely the necessity to build and maintain a side chain. Currently, there are a few approaches to side chains publicly available, and we are going to review some of the easiest methods to get up and running.
As of now, there are three main consensus algorithms available for side chains running the Ethereum Virtual Machine (EVM); Proof of Work, Proof of Authority, and Delegated Proof of Stake. EVM is not required for side chain development, but it allows for developers to use the same toolset for main chain and side chain development. There are many custom approaches as well, but are outside the scope of the article. The decision for which consensus algorithm to use is driven largely by how much centralization is allowable within the use case of the side chain, and what are the economic drivers of securing it.
Proof of Work (PoW) is the consensus mechanism currently used on the main Ethereum network. Running a side chain using PoW does not allow significantly higher performance than the main chain, though all transaction throughput is dedicated to the side chain, and not shared across all applications on the network. Assuming there is enough computing resources contributing to mining the side chain, PoW allows for potentially the most secure and distributed solution, at the cost of performance. Economic incentives are required to reward participation in the network and to ensure it’s security.
Proof of Authority (PoA) starts of with the assumption that a number of validators are trusted and those nodes collaborate to establish the network consensus. These nodes do not have the ability to forge records from users of the network, but they are trusted to include user’s transactions, and order those transactions fairly. PoA offers far higher performance and can be the easiest to implement as there is not necessarily a need for on-chain economic incentives or tokens to keep the network secure, but the trade-off for that is a lack of decentralization and trust required that the validators are acting in the best interest of the network.
Both PoW and PoA are supported out of the box by the two main Ethereum node software packages, Geth and Pairty. Additionally, Microsoft Azure and Amazon’s AWS, as well as other cloud hosting providers, offer solutions to get chains up and running quickly using either of these consensus mechanisms.
Delegated Proof of Stake, available from Loom Network, is based on the consensus algorithm which runs the EOS, Steem, and BitShares networks. DPoS requires a token economy and allows token holders to vote for network validators. These votes are continuously tallied, and allow voters to quickly vote out validators who are not performing adequately. DPoS brings the performance of PoA without requiring trust in centralized authorities, as is the case with PoA. Loom network offers a software implementation of EVM compatible smart contract platform running on DPoS consensus for monthly license fee.
In addition to the above, there are some upcoming consensus algorithms which hold exciting promise for the combination of decentralization and performance such as Casper, which aims to replace the existing PoW consensus used on the main Ethereum chain, and Babble, which offers a new approach to consensus using the patented Hashgraph consensus mechanism.
At CryptoFights, our long-term goal is to run as an entirely decentralized network, but we are dedicated to building that out in a responsible fashion where economic incentives are properly balanced for the long-term fairness and survival of the platform. As we build out that balance, our initial release consists of a Proof of Authority consensus with state channel commitments to the main Ethereum chain which is the first step down that path.
We’re thrilled to be part of this new exciting world of decentralized gaming, and look forward to contributing to building the future.
For more information about CryptoFights upcoming release, please visit https://cryptofights.io