The SKALE Network is a configurable network of blockchains that supports high-throughput and low-latency transactions without the high transaction costs found in public mainnets. The network offers expanded storage capabilities along with embedded connectivity and interchain messaging with the Ethereum mainnet. All of this is performed using a pooled transaction validation and security model that is efficient, scalable, and collusion-resistant.
Here are a few of the technical highlights of the network.
Zero to Near-Zero Gas Fees
Random Node Selection/Frequent Node Rotation
Containerized Validator Nodes
Consensus via Asynchronous Binary Byzantine Agreement (ABBA)
Gas fees within the SKALE Network are zero – as long as the chain is below a specific resource threshold. This zero to near-zero gas fee structure is a significant benefit in terms of building and operating decentralized applications. A large gating factor in user adoption and building out profitable use cases is the friction imposed by blockchain gas fees. Removing these costs from the equation translates into much easier go-to-market opportunities, higher adoption rates, and more successful decentralized solutions.
The SKALE chain container is allocated CPU, memory and disk sizes to proportionally perform operations with zero gas fees up to a specific level. After this level is breached, gas becomes positive. This resource switch has two benefits – one is that it prevents Denial of Service (DOS) attacks and the other is that it indicates to the user that they might need to scale up to a larger SKALE chain size. (The latter indicator is analogous to moving up a level on a cloud service such as moving from a t2.micro to an m3.large on AWS.)
Validator nodes are assigned to blockchains via a random process that is arbitrated by a mainnet contract. Security of chain consensus is further protected via frequent node rotation. Nodes will be removed from one or more chains on a non-deterministic schedule and new nodes added. 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 assignment algorithms.
Each blockchain is comprised of a collective of randomly appointed virtualized subnodes which run the SKALE daemon and the SKALE consensus. Nodes in the SKALE Network are not restricted to a single chain but rather can work across multiple blockchains via the use of virtualized subnodes. This multiplex capability is made possible via a containerized subnode architecture deployed on each node in the Network. Each node is virtualized and is able to participate as a validator via this subnode architecture for an independent number of blockchains.
Virtualized subnodes are enabled via an innovative containerized architecture that provides industrial-grade performance and optionality for decentralized application developers – performance and flexibility that is similar to traditional centralized cloud and microservice systems. Containers are divided into several main components encapsulated via a dockerized Linux OS – allowing for each node to be hosted in an OS-agnostic manner.
The consensus model used for block creation and commitment for each blockchain is a variant of the Asynchronous Binary Byzantine Agreement (ABBA) protocol. (Derived from Mostefaoui et al. although other consensus protocols can be used, as long as it satisfies certain properties.) The benefits of the ABBA protocol is that it is designed to exhibit robustness in the case of subnode downtime where each latent and/or down subnode is regarded as a slow link.
Each blockchain supports BLS (Boneh–Lynn–Shacham) threshold signatures which is important for supporting interchain messaging. Virtualized subnodes for each chain are able to validate a transaction that was signed and committed by the subnodes in another chain through the use of that chain’s group signature. This signature is made available to all other chains via publishing on the Ethereum mainnet.
This messaging capability mirrors a microservice model whereby a blockchain is able to perform one or more specific operations and then feed these outputs directly to another chain or onto a message queue (i.e. the Ethereum Mainnet) which can then serve as inputs for other blockchains and their processing needs. SKALE’s interchain messaging provides support for all the major Ethereum token standards including ETH, ERC20, ERC721, ERC777, and Dai.
A Node Monitoring Service (NMS) runs on each SKALE Node and facilitates the performance tracking of a certain number of other nodes in the network. Performance tracking measures both uptime and latency through a regular process which pings each peer node and logs these measurements to a local database. At the end of each epoch, these metrics are averaged and submitted to smart contracts on the mainnet that use them to determine the payout distribution to nodes as well as flag suspect nodes for review and potential penalties.
The SKALE Network is designed as a security and execution layer that ties in closely with the Ethereum network in service of its security and operational model. The smart contracts that maintain node operation all execute on the Ethereum mainnet. In addition, the validator stakes and user subscriptions not to mention the token inflation, are also maintained or controlled by smart contracts running within the Ethereum mainnet.
The SKALE execution model is fully compatible with the Ethereum Virtual Machine (EVM) making it so that smart contracts that run on the Ethereum mainnet can also run on the SKALE Network. There is no need to rewrite or port smart contracts. Anything written for the EVM will execute on SKALE. Developers are therefore able to migrate to SKALE chains in a phased manner – moving smart contracts to SKALE on an individual basis as the needs and benefits dictate.
Support for Solidity and the Ethereum VM also extends to commonality with Ethereum developer tools. Developers are able to use the same tools they use when working on the Ethereum mainnet. These include connecting to the network via web3.js and web3.py as well as using tools such as Truffle and Remix.
The SKALE Network supports all major Ethereum token standards including ETH, ERC20, ERC721, ERC777, and Dai. Interchain messaging, as well as deposit boxes and token clones, ensures the integrity and fidelity of token operations with the SKALE Network.
The SKALE Network supports a number of major crypto wallets and browser plugins and bridges. These include Bitski, Ledger, Fortmatic, Metamask, Portis, Torus. These interface components are well-regarded in the community and used by thousands of developers.