Avalanche is a decentralized, scalable, and secure blockchain platform designed for the creation of custom blockchain networks and decentralized applications (dApps). It is built on a unique consensus protocol that combines the strengths of both classical and Nakamoto consensus mechanisms, achieving high throughput, fast finality, and energy efficiency. The native utility token of Avalanche is $AVAX.
Avalanche's consensus protocol is a novel approach that is scalable, robust, and decentralized. It operates through repeated sub-sampled voting, where a node asks a small, random subset of validator nodes for their preference on a transaction. This process continues until the validators queried reply with the same answer for a sufficient number of consecutive rounds. The consensus protocol is designed to resist various attacks, including Sybil attacks, distributed denial-of-service (DDoS) attacks, and collusion attacks. It also ensures that the network remains robust even in the face of a large number of malicious nodes.
$AVAX is the native utility token of Avalanche. It is a hard-capped, scarce asset used to pay for fees, secure the platform through staking, and provide a basic unit of account between the multiple subnets created on Avalanche. $AVAX is a capped-supply resource in the Avalanche ecosystem that's used to power the network and secure the ecosystem through staking. It represents the weight that each node has in network decisions. The protocol rewards validators for good behavior by minting them $AVAX rewards at the end of their staking period. The minting process offsets the $AVAX burned by transactions fees. While $AVAX is still far away from its supply cap, it will almost always remain an inflationary asset.
A Subnet in Avalanche is a sovereign network that 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. 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.
A Virtual Machine (VM) in Avalanche is the blueprint for a blockchain, defining the application-level logic of a blockchain. It specifies the blockchain’s state, state transition function, transactions, and the API through which users can interact with the blockchain. Developers can create a VM that defines how their blockchain should behave, and use this blueprint to coordinate validators in the network to run the application. VMs can be written in any language, and use libraries and tech stacks that its creator is familiar with. Developers have fine control over the behavior of their blockchain, and can redefine the rules of a blockchain to fit any use-case they have. VMs communicate with Avalanche over a language agnostic request-response protocol known as RPC. This allows the VM framework to open a world of endless possibilities, as developers can implement their Dapps using the languages, frameworks, and libraries of their choice.