Development and maturization of Anchor Protocol is driven by the Anchor community through democratic governance. Anchor does not contain any admin keys with privileged access. Anchor governance is configured to be the sole authority allowed to apply protocol changes or upgrades.
Governance over Anchor is managed by stakers of Anchor Tokens (ANC). ANC acts as Anchor Protocol's governance token, used to vote on polls. Voting power is given proportional to the vote's amount of staked ANC. Voters are able to allocate a specific amount of voting power in staked ANC, capped by their total amount of ANC staked. Voters with a higher ANC stake are therefore given a greater degree of influence in deciding whether to apply the changes listed in a governance poll.
New governance proposals in Anchor are called polls. Any user can create a poll by paying an initial deposit of ANC tokens. If the poll fails to pass the minimum voting quorum, the ANC deposit is given to ANC stakers and distributed proportionately according to their relative stake.
Polls consist of a text description of the proposition (with an optional URL to further resources / discussions), and includes a list of executable messages that encode the instructions to be run if it passes. The message will be executed with the privileges of the Anchor Gov Contract, which has the power to invoke any function defined by the other Anchor smart contracts.
Once submitted, a poll can be voted on by the community until its voting period has concluded. If the poll passes quorum and threshold conditions (defined below), it is ratified and its contents can automatically be applied after a set period of time. These changes take effect without requiring updates to the core Anchor Protocol contracts.
Governance polls in Anchor follow the below procedure:
- 1.A new poll is created with an initial ANC deposit of
- 2.The poll enters the voting phase, where it can voted for by anybody with a staked ANC position. Users can vote
no, and can assign how many of their staked ANC to use for voting.
- 3.The total amount of staked ANC can be snapshotted to the poll within a time window of
Snapshot Periodbefore the poll's end. This value is used to calculate the poll's quorum.
- 4.The voting period ends after
Voting Periodhas passed.
- 5.The poll's votes a tallied. The poll passes if both quorum (minimum participation of all staked ANC, value snapshotted at step 3. used in calculation) and threshold (minimum ratio of
novotes) are met.
- 6.If the poll passes, its contents can be executed after
Timelock Periodblocks have passed. The poll must be executed prior to the
Expiration Period, otherwise it will automatically expire and no longer be considered valid.