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 Primary Network, which validates Avalanche's built-in blockchains. All members of all Subnets must also be a member of the Primary Network. In order to become a member of the Primary Network, 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.