Scaling Through Subnets
Subnets, or subnetworks, by definition, are networks inside of a network that help a network scale.
In the blockchain sense, the concept of subnets is similar in that they’re almost special blockchains that operate within a blockchain ecosystem. Subnets spawned from the issue of blockchain scalability.
For example, there are two ways to scale a blockchain without sacrificing decentralization — vertical scaling (fast transaction processing) and horizontal scaling (replicating the number of blockchains you have and processing them in parallel).
However, depending on the blockchain, there are limitations to scaling vertically. Therefore, many chains such as Ethereum view horizontal scaling through sharding as a solution. For example, to break up the chain into smaller chains that replicate the entire Ethereum state.
As a way to do scaling in its own right, the Avalanche blockchain created subnets, which allow developers to launch their own blockchains, instead of forcing all transactions to take place on a single shared state. This creates more block space and computation to meet demand.
Interestingly, and not widely reported on, Avalanche was not the first layer 1 to use subnets. In fact, the Internet Computer was the earliest major blockchain to implement subnets into its architecture.
So how are Avalanche’s subnets different from the Internet Computer’s? And who has the ‘best’ subnets for developers to use?
An In-Depth Look Into Avalanche Subnets
Avalanche is an EVM-compatible blockchain that has three chains in its primary network — the Contract Chain (C-Chain), Platform Chain (P-Chain), and Exchange Chain (X-Chain). The C-Chain is smart contracts, the P-Chain is for coordinating validators, subnets, and the Snowman consensus protocol, and the X-Chain is for trading and transacting digital assets.
Because of limited block space and demand for Avalanche, the C-Chain became congested, therefore, the P-Chain’s use of subnets is a solution to the scalability problem.
For Avalanche, subnets are a type of Blockchain-as-a-Service function that projects, businesses, and individuals can use to run their blockchain-based applications, whether they be games like DeFi Kingdom or Crabada, or enterprise-specific applications.
Subnets have an advantage in that they’re a sovereign network that defines its own rules regarding membership and even tokens and tokenomics. For example, you can spin up an application and create a token, and not be required to use AVAX or USDC.
Another benefit is that they allow the network to scale up easily while enabling lower latency, higher TPS, and lower transaction costs — thus, making it an attractive option for developers.
However, Avalanche subnets have a few downsides such as interoperability with other subnets, validator costs, back-end centralization, bootstrapping, decentralization, and security.
How Does The Internet Computer Employ Subnets?
A subnet is a special kind of blockchain within the Internet Computer network that can seamlessly integrate with other blockchains to increase capacity. This is their main purpose i.e., to increase the scalability and capacity of the network (similar to a network effect).
For example, the more subnets there are, the more activity the network is seeing. Therefore, when there are more subnets being created, it means the network is strong. There are currently 35 subnets live on the Internet Computer.
Each subnet is a blockchain that consists of some number of decentralized, independently owned, and controlled machines (nodes) that run the software components of the Internet Computer blockchain protocol.
However, subnets don’t just magically appear, in fact, the Network Nervous System (the governance mechanism) combines nodes from the independent data centers to create subnets, which are then used to host canister smart contracts. Each subnet runs its own blockchain, and canisters run on-chain in such a way that they can transparently call canisters on other subnets/chains.
In summary, the Internet Computer uses subnets to allow the network to scale indefinitely. This is because the problem with traditional blockchains (and individual subnets) is that they’re limited by the computing power of a single node machine because every node has to run everything that happens on the blockchain to participate in the consensus algorithm (think AVAX validators). Therefore, running multiple independent subnets in parallel allows the Internet Computer to break through this single-machine barrier.
Main Takeaways For The Advantages Of Internet Computer Subnets
- Subnets allow canisters to run on-chain with complete scalability, security, and speed, all while maintaining decentralization.
- Internet Computer subnets are safer because the canister data is replicated by the number of nodes. Thus if a node goes down, another node can still run the computations and keep the subnet alive. For example, we said above that there are 35 subnets, therefore the canister is replicated 35 times. So if a node goes down on one subnet, it will not impact the consensus, and the data will not be lost.
- Without subnets, there are no canisters, and thus no smart contract functionality on the Internet Computer. Therefore, subnets are a vastly underrated part of the Internet Computer tech stack that cannot be forgotten.
- Internet Computer subnets, because of this smart contract functionality, give it a huge advantage over Avalanche subnets. For example, canisters in one subnet can send transactions to other subnets, which means they can communicate with each other and do smart contract computations. The Avalanche network’s subnets cannot do this.