Suzaku Protocol
For Builders
Progressive decentralization

Progressive Decentralization

The Suzaku Protocol enables Avalanche L1s to progressively decentralize their validator set.

This model allows L1s to:

  1. Launch with a Proof-of-Authority (PoA) model. The list of validators is controlled by the L1 team. They are operating the nodes themselves or delegate this to a trusted group of Operators.
  2. Switch to a an hybrid model (see BalancerValidatorManager), by splitting the network weight in two: PoA and permissionless Proof-of-Stake (PoS) / Dual staking, enabling permissionless Operators to validate the network.
  3. Gradually increase the total weight of the permissionless validator set as the L1 matures.
  4. Reach full decentralization and remove the Proof-of-Authority validator set.

Lifecyle of an Avalanche L1 decentralized with Suzaku

Let's take the example of an Avalanche L1 that wants to progressively decentralize using Suzaku.

Phase 1: Launch

A new Avalanche L1 launches on mainnet with their native asset, $TOKEN, used as the gas token. The L1 has 5 validator nodes, operated by the L1 team. At this point, there is no concept of staking the native $TOKEN, the L1 is Proof-of-Authority (PoA).

Phase 1

During phase 1, the L1 is only using the PoAValidatorManager (opens in a new tab) smart contract to manage the validator set.

Phase 2: Open the L1 validation to permissionless Operators

The L1 team upgrades the Validator Manager to a BalancerValidatorManager that manages a PoA validator set and a permissionless validator set through 2 "security modules".

They decide to open 20% of the L1 total weight to permissionless validators, keeping the other 80% for the PoA validator set that they still manage.

The permissionless validator set is managed through the Suzaku AvalancheL1Middleware contract, allowing the L1 to set up a dual staking requirement for permissionless validators.

The L1 team decides that Operators have to gather a stake in $TOKEN and $sAVAX to become validators (staked tokens are delegated to Operators by Curators on behalf of Stakers).

Phase 2

Phase 3: Increase permissionless weight

The L1 team progressively increases the total weight of the permissionless validator set to 80% of the total weight. This can be done at their own pace, and at any time they want, according to the maturity of the L1.

Phase 3

At any point, the L1 team can also decide to change the Dual staking requirements, see Dual staking model.

Phase 4: Make the L1 100% permissionless

Phase 4

Once the L1 team is confident with the maturity of the L1 and the good distribution of the stake and validator set, they move on to make the L1 100% permissionless by setting the weight managed by the PoAValidatorManager to 0. Effectively turning the L1 into a Proof-of-Stake (PoS) L1.

Balancer Validator Manager

BalancerValidatorManager (opens in a new tab) is a ACP-99 (opens in a new tab)-compliant smart contract that can be used to manage the validator set of Avalanche L1s.

By allowing to balance the weight of an L1 between multiple security modules, the BalancerValidatorManager is a core component of the progressive decentralization model enabled by the Suzaku Protocol.

These security modules can be any smart contract implementing the IValidatorManager (opens in a new tab) interface. Here are some examples:

Future security modules will be added to the Suzaku Protocol to enable more complex validator set management. Examples include:

  • PoLValidatorManager: A Proof-of-Liquidity validator set, the validator weight is determined by the amount of liquidity they provide to an arbitrary token pair.
  • NFTValidatorManager: Require the stake of an ERC-721 (opens in a new tab) token to become a validator. This security module can be used by L1s going through a node sale phase before starting to decentralize.