The protocol is the part of the node software that provides logic for executing transactions and building blockchain blocks. It embodies all the rules that a Tezos network operates under. Therefore changes to the protocol must be explicitly accepted by the community before nodes actually employ them. For this reason the protocol is versioned independently from the rest of the software engaged in running Tezos. Each protocol version is being proposed to the community for acceptance. The community then decides whether to accept the new protocol or keep the old one. This is done through a voting procedure, which takes place within the blockchain itself, so its rules are also a part of the protocol.
The protocols that have been used in the past are versioned by an increasing sequence of three-digit numbers, starting with 000. From protocol versioned 004 upwards, each protocol version is traditionally named after an ancient city (using anglicised name), where the first letters form an alphabetical order sequence:
Due to the evolving nature of the in-use protocols, the above absolute protocol names are not enough. More naming conventions are introduced for the currently in-use and upcoming protocols:
The protocol in the
src/proto_alphadirectory of the
masterbranch: “alpha protocol”
other terms: “protocol under development”, “development protocol” (only when there is a single one)
The currently active protocol: “current protocol”.
other terms: “active protocol”, “mainnet protocol”
The protocol currently under voting, that is in any of the possible voting phases: “candidate protocol”.
other possible terms: “current proposal”
The current protocol status can be found at election pages such as: tzstats.com, tzkt.io, or tezosagora.org.
An interesting blog post on the history of the initial Tezos economic protocols is: A quick history of past upgrades.