A Subnet, or Subnetwork, is a dynamic set of validators working together to achieve consensus on the state of a set of blockchains. Each blockchain is validated by exactly one Subnet. A Subnet can validate arbitrarily many blockchains. A node may be a member of arbitrarily many Subnets.
A Subnet manages its own membership and it may require that its constituent validators have certain properties. This is very useful and we explore its ramifications in more depth below.
There is a special Subnet called the Default Subnet, which validates Avalanche's built-in blockchains. All members of all Subnets must also be a member of the Default Subnet. In order to become a member of the Default Subnet, one must stake some Avalanche tokens. The upshot of the preceding two points is that all validators of all blockchains must also validate Avalanche's built-in blockchains and must have staked Avalanche tokens.