What Is a Subnet?
A Subnet is a sovereign network which defines its own rules regarding its membership and token economics. It is composed of a dynamic subset of Avalanche validators working together to achieve consensus on the state of one or more blockchains. Each blockchain is validated by exactly one Subnet, while a Subnet can validate many blockchains.
Avalanche's Primary Network is a special Subnet running three blockchains:
(Image adopted from this article)
Every validator in a Subnet must also validate the Primary Network.
Node operators that validate a Subnet with multiple chains do not need to run multiple machines for validation. For example, the Primary Network is a Subnet with three coexisting chains, all of which can be validated by a single node, or a single machine.
- Subnets use virtual machines to specify their own execution logic, determine their own fee regime, maintain their own state, facilitate their own networking, and provide their own security.
- Each Subnet's performance is isolated from other Subnets in the ecosystem, so increased usage on one Subnet won't affect another.
- Subnets can have their own token economics with their own native tokens, fee markets, and incentives determined by the Subnet deployer.
- One Subnet can host multiple blockchains with customized virtual machines.
- Avalanche Warp Messaging enables native cross-Subnet communication and allows Virtual Machine (VM) developers to implement arbitrary communication protocols between any two Subnets.
Accommodate Application-Specific Requirements
Different blockchain-based applications may require validators to have certain properties such as large amounts of RAM or CPU power.
- A Subnet could require that validators meet certain hardware requirements so that the application doesn’t suffer from low performance due to slow validators.
Launch a Network Designed With Compliance In Mind
Avalanche’s Subnet architecture makes regulatory compliance manageable. As mentioned above, a Subnet may require validators to meet a set of requirements.
Some examples of requirements the creators of a Subnet may choose include:
- Validators must be located in a given country.
- Validators must pass KYC/AML checks.
- Validators must hold a certain license.
Control The Privacy of On-Chain Data
Subnets are ideal for organizations interested in keeping their information private.
- Institutions conscious of their stakeholders' privacy can create a private Subnet where the contents of the blockchains would be visible only to a set of pre-approved validators. Define this at creation with a single parameter.
In a heterogeneous network of blockchains, some validators will not want to validate certain blockchains because they simply have no interest in those blockchains.
- The Subnet model enables validators to concern themselves only with blockchain networks they choose to participate in. This greatly reduces the computational burden on validators.
Develop Your Own Subnet
Subnets on Avalanche are deployed by default with Subnet-EVM, a fork of go-ethereum. It implements the Ethereum Virtual Machine and supports Solidity smart contracts as well as most other Ethereum client functionality.
To get started, check out the tutorials in our Subnets section.