May 7, 2021
Pooled Validation Model With Random Node Selection and Frequent Node Rotation
The SKALE Network uses a Proof of Stake consensus model and node virtualization in order to provide Dapp-specific high throughput chains of varying sizes. Upon creation of a chain, a set of 16 validators are assigned to the chain, selected from a large pool of validators.
Validator nodes are assigned to SKALE Chains via a random process that is controlled by an Ethereum mainnet contract. Security of chain consensus is further protected via frequent node rotation, meaning that nodes will be removed from one or more chains on a non-deterministic schedule and new nodes added on a frequent basis. This rotation takes place via the node cores continually checking in with the mainnet – exiting current chains and connecting with and working on new chains as so determined by the mainnet contracts and its random selection and assignment algorithms.
The first designs of Proof of Stake networks did not have an emphasis on security. These early solutions tended to assign a small set of validating nodes to each chain in a fixed and unchanging manner. With this type of arrangement, even with staking, dapp developers face serious risks with this static consensus model – risks that include collusion, bribery, and other malicious behaviors that impinge the validity of transactions.
To make sure the validation layer is operating properly, a network first has to have a large number of validator nodes. A small number of nodes in a network is inherently risky and fragile. In addition and as a requirement for a secure and robust network, it must provide for 1) the random selection of chain validator sets and 2) the rotation of nodes in and out of chains on a frequent basis. Without randomness and rotation, there is a far greater risk of bribery of and/or collusion between validators, vastly reducing the security and integrity of the chains within a network.
Incentives and penalties
A final requirement at this layer is a proper incentive structure that both incentivizes good behavior and penalizes improper behavior. Every validator node that operates above a specific operating threshold benefits from the fees generated for that epoch by the network, including a certain amount of token inflation as calculated and disbursed by a mainnet contract.
Validator nodes must stake a certain amount of SKL tokens into the SKALE Network as part of being a validator. Staking is an enforcer of good behavior in that if a validator decides to collude or go byzantine and gets caught, it will lose its stake and be removed from the network.
To coerce or bribe the validators of a sidechain with this type of a pooled validation model – one that employs random selection and frequent node rotation – a bad actor would have to effectively bribe two thirds of the larger network. To do this with a large number of nodes in the overall network would be exceedingly difficult. SKALE’s network design is based on these core principles and is directly aligned with stopping – if not eliminating – attacks and preserving the integrity of transactions within each chain in the network.
SKALE + Ethereum
The SKALE Network is a multi-chain network that has its security model and operation control tied to the Ethereum mainnet. It uses a large pool of validator nodes, all running concurrently and independently, validating transactions within the SKALE chains they are overseeing. These nodes all make use of over 25 SKALE contracts that run on the Ethereum mainnet. These contracts control network functions such as chain creation, validator registration, node selection, node rotation, staking, token inflation, bounty payment, slashing, and more.
The SKALE Network features extensive ties to the Ethereum mainnet (read about that here) and offers a validator and security model that is efficient, scalable, and collusion-resistant. Its use of random node selection, node rotation, and the right network economics allow for high performance and faithful transaction resolution – characteristics which are critical for its use as a primary execution layer and a Web3 cloud service.