🔁

Tezos Amendment Process (DEPRECATED)

Introduction

The aim of this document is to offer a detailed view of the Tezos on-chain governance model by going through the process used to consider protocol amendments.

Definitions of main concepts

Baking: The creation of new blocks on the Tezos blockchain by its validators (also known as bakers or delegates), who receive compensation for each block produced.
Endorsement: Each baked block is validated by a set of bakers who have not baked the block, but are selected to endorse it. They are known as endorsers of the block, and receive compensation for each endorsement realized.
Delegation: All Tez holders can delegate their baking and voting rights to a “delegate”, while still maintaining control over their funds.
Stake: To have the right to be recognized as a baker in a network, a Tez holder must possess at least 6,000
in their staking balance (own balance + delegated balance). Voting rights are also indexed to the staking balance.
Cycle: The time required for 8,192 blocks to be created on the Tezos blockchain. It lasts around 2 days, 20 hours, and 16 minutes (or 30 seconds. per block, if all bakers cooperate effectively)
Proposal: A request for addition, adjustment, or removal of features of the protocol.

Amendment process

On Tezos, any baker can submit a proposal to amend the protocol.
The proposal/voting process then takes place entirely on-chain and is known as the amendment process.
This process involves 5 stages:
As each period lasts 5 cycles (approx. 14 days), a complete amendment process requires 25 cycles, or around 2 months and 10 days to be adopted and merged with the main network.

First period: Proposal

​ First period - Proposal (Cycles 1-5)

During this period, users can submit up to 20 amendment proposals which are then subjected, over subsequent periods, to voting and testing.
Proposals can relate to a variety of features, for example:
• The threshold to register as a baker
• The gas consumption process
• Aspects/features of the smart contract language
• and so on...
Bakers across the network then proceed to vote (in the form of up-voting). The most highly voted proposal then moves on to the Exploration period.

Second period - Exploration

​Second period - Exploration Vote (Cycles 6-10)

During this period, all voters must decide whether or not the proposal brought forward will proceed to the next period: the cooldown period. Unlike in the previous period, Tezos uses the concepts of Quorum and supermajority vote – or qualified majority vote – to decide whether or not to send it to the cooldown period.
What we mean by these terms :
• Quorum: the representation weight required for a vote to actually take place.
• A supermajority vote or qualified majority vote – establishes a minimum percentage of positive expressed votes needed (80% for Tezos) for a decision to be taken.
In order to move to the next period, a proposal must have a greater Voter Turnout than the Quorum and a greater percentage of positive votes than the supermajority.

Voting during the Exploration period (Cycle 6-10)

Calculating the Quorum:

When the Tezos Mainnet was launched, the Quorum was set at 80% and updated at the end of each vote which was successfully approved, based on the Voter Turnout.
The Babylon amendment introduced two major changes to the calculation of the Quorum:
• The calculation now takes into account the exponential moving average (EMA) of the Voter Turnout
• The Quorum is now bounded between 30% and 70%
The following formula is used to calculate the Quorum:
$Quorum = 0.3 + MME_t ∗ (0.7 − 0.3)$
The following formula is then used to update the moving average for the next vote:
$MME_{t+1} = 0.8 * MME_t + 0.2 * Participation_t$

Voting system :

There are 3 possible ways to vote :
• Yay (Y): For
• Nay (N): Against
• Pass (A): Neutral
To vote, each active baker on the network must have at least 6,000
. Each holder of the tez cryptocurrency can delegate their “associated voting right” to a baker, while retaining control over their funds.
The weight of a baker’s vote is determined on a pro-rata basis by the size of their staking balance.

Voting example 1/2

To illustrate this process, let us assume a total of 100 active voting rigths managed by bakers and a Voter Turnout EMA of 75%, and then 90 votes (Yay, Nay, and Pass) during the Exploration period.

Exemple 1 :

1. Quorum = 0.3 + 75% ∗ (0.7 − 0.3) = 60%
2. Update of the Exponential Moving Average
3. Positive voter turnout: = 88%
4. Proposal approved

Voting example 2/2

To illustrate this process, let us assume a total of 100 active voting rigths managed by bakers and a Voter Turnout EMA of 75%, and then 55 votes (Yay, Nay, and Pass) during the Exploration period.

Example 2 :

1. Quorum = 0.3 + 75% * (0.7 - 0.3) = 60%
2. Update of the Exponential Moving Average
3. Proposal rejected: Although the Yays have reached the number required for a supermajority, the proposal is rejected as the Quorum has not been reached. We must therefore go back to the initial proposals stage.

Third period - Cooldown

​Third period - Cooldown (Cycles 11-15)

If a proposal is accepted by a supermajority during the Exploration period, the Cooldown period starts. This period replaces the previous Testing period that was underused since most of the testing happens on a dedicated testnest.

Fourth period - Promotion

​Fourth period - Promotion (Cycles 16-20

At the end of the Cooldown period, the network decides whether or not to adopt the amendment proposal, based on off-chain discussions and its behavior on the test network.
The same concepts of both the Quorum and the supermajority are applied here. After the vote, the Voter Turnout moving average is updated again.
The version of the protocol integrating the amendment is then disseminated by the network and transmitted to the nodes which are automatically and openly updated.

Fifth period – Adoption

​ Fifth period – Adoption (Cycles 21-25)

During the adoption period, bakers update their infrastructure. At the end of this period, the new protocol will be adopted. This period is dedicated to helping validators to migrate on the new Mainnet version.

End of process

At the end of the Adoption period, a new Proposal period starts.
The person whose proposal is ultimately adopted as a protocol amendment has the merit of having evolved the Tezos blockchain, and is compensated in tez by an amount determined beforehand in the source code of their proposal.

Record of amendments

1. 1.
May 2019, Athens amendment :
• Reduced roll size for bakers (from 10,000 to 8,000 tez)
• Increased gas limit per operation and per block
2. 2.
October 2019, Babylon amendment:
• Adjusted “emmy+” consensus algorithm
• New features in a low-level language (Michelson) for smart contracts, adjusted cost of gas
• Adjusted formula for updating Quorum (30% Quorum 70%)
3. 3.
March 2020, Carthage amendment:
• Increased gas limit per operation and per block
• Improved formula for calculating compensation for baking
4. 4.
November 2020, Delphi amendment:
• Reduced storage costs by 4
• General recomputation of the gas costs
5. 5.
February 2021, Edo amendment:
• Inclusion of Sapling protocol
• New Michelson data structure: tickets
• New Michelson functions, especially hash functions SHA3 and Keccak
• Updating of the amendment protocol :
• A fifth period to allow bakers to update their infrastructure: The adoption period
• Reduction of the overall time of each period, from 8 to 5 cycles
6. 6.
May 2021, Florence amendment:
• Increase maximum operation data size
• Depth-First execution order
• Performance optimization
• Updating of the amendment protocol: testing period is now replaced by a cooldown period
7. 7.
August 2021, Granada amendment:
• Emmy *, new consensus algorithm:
• smaller block times
• faster finality
• Liquidity Baking, a small amount of tez from each block issued to provide liquidity to the tez/tzBTC pair
• Decrease in gas consumption
8. 8.
December 2021, Hangzhou amendment:
• Timelock
• Michelson on-chain views
• Global Constants
• Cache Context storage flattening
9. 9.
April 2022, Ithaca2 amendment:
• Tenderbake, a new consensus algorithm
• Backend storage improvements
• Reduction of the amount of Tez required to become a baker (from 8,000 to 6,000 Tez + no more notion of rolls)
10. 10.
September 2022, Kathmandu amendment:
• Smart contract optimistic rollups (SCORU) enabled on bleeding edge testnets (Mondaynet and Dailynet).
• Pipelined validation of manager operations, increasing throughput, without compromising the network’s safety. This ongoing project reduces the need to fully execute time-expensive operations (like smart contract calls), before they reach a baker, resulting in a faster propagation of new blocks and operations across the network.
• Improved randomness with integration of Verifiable Delay Functions (VDF) into the protocol’s random seed generation, reinforcing the security of the rights allocation mechanism.
• Support for tailored governance for permanent testnets will reduce the need for user-activated upgrades in Ghostnet. After a protocol proposal is elected in the Promotion period on Mainnet, the Oxhead Alpha team will be able to centrally upgrade Ghostnet.
• Event logging in Michelson smart contracts enabling DApps developers to send on-chain custom messages in order to trigger effects in off-chain applications (wallets, explorers, etc.).
• A new operation for increasing paid storage of a smart contract allowing DApps developers to pay the storage fees on behalf of their users.

On-chain governance reduces the risks of hard forks

The development of Bitcoin has shown that hard forks are often necessary in order to make changes to a protocol.
There are risks involved here, as two chains can co-exist if a consensus cannot be reached within the community, which can then lead to operational risks for some blockchain projects.
However, whenever a critical bug is found, the protocol must be updated urgently – for Tezos just as for Bitcoin. However, on the Tezos blockchain, this type of situation has never led to a chain splitting into two, as this type of change is always driven by consensus.

How to vote?

It is possible to vote by using the Tezos client :
To know the current period :
$tezos−client show voting period To vote for the proposal whose hash is <proposal > with the address <delegate >: $ tezos−client submit ballot for <delegate> <proposal > <yay | nay | pass>