Aave Governance V3

Overview

Aave Governance V3 represents a significant upgrade to the existing Aave protocol governance. All permissions are migrated to a new system of smart contracts, enabling new features and efficiency in cross-chain governance.

Features

New Voting Networks

In Aave Governance V2, all proposals are voted on Ethereum mainnet.

In Governance V3, each proposal specifies a voting network and all voting for the proposal occurs on this network. The Governance V3 activation enables Polygon POS, Avalanche C-Chain, and Ethereum Mainnet (backup) as initial voting networks.

Voters do not need to migrate funds to the voting network, all governance token balances and delegations are still stored on Ethereum mainnet, and are validated on the voting network using storage proofs.

Voting with storage proofs

Aave Governance V3 uses block hashes on the Core network (Ethereum Mainnet) as the source of information for voting balances, and storage proofs as the core mechanism for validation.

For any proposal, the system takes a “snapshot” (block hash of the block before activateVote method gets called) of voting token balances/delegations on the Core network, forwards it to an Aave Voting Network and sets it as the main source of balances/delegation to validate against whenever an address submits a vote there.

Ethereum block hashes contain the state tree of the network, which in turn contains all the data of all the smart contracts at that exact block. Amongst those contracts: AAVE, stkAAVE, and other voting assets are present, and within them, the balances and delegations of all Ethereum addresses.

Storage proofs are a mechanism allowing to cryptographically prove that a piece of data is contained in a tree. In this case, they allow proving that a specific address has voting balance/delegation on the state tree of an Ethereum block.

What happens in practice when somebody votes is that the voter itself inputs how much balance of the voting asset/s they had at that Ethereum block, together with a storage proof over the Ethereum block hash for that proposal. The Voting network then cryptographically verify the storage proof against the Ethereum block data together with all extra validations (e.g. no double-voting) and stores the results accordingly.

Gasless Voting

Governance V3 has several enhancements which enables and provides an initial implementation for gasless voting (vote by signature).

Networks with low, predictable transaction fees and support for signature-based actions on Governance V3 contracts enable voting transactions to be sponsored by a relayer. An initial implementation of a voting relayer is included in the Governance V3 activation proposal.

New Governance Token - aAAVE

The aAAVE token on Ethereum mainnet is now supported for voting and delegation in Aave Governance.

aAAVE is the aToken representing supplied AAVE tokens on the Aave V3 Ethereum market.

Voting Representatives

Smart contract wallets cannot sign messages for storage proof voting and may not exist on all networks, this creates a challenge to interact with the cross-chain voting contracts.

To accommodate cross-chain voting for smart contract wallets and allow greater flexibility for all governance participants, wallets have the ability to link a representative address on other chains.

To choose a representative, an address in Ethereum should call the updateRepresentativesPerChain() function on the GovernanceCore smart contract.

This representative address is able to vote on the specified network, using the delegators balances and received delegations on Ethereum Mainnet. An address can be the representative of multiple other addresses.

Other Updates

  • Activation of the a.DI ("Aave Delivery Infrastructure") which facilitates cross-chain execution through a quorum of messaging bridges.

  • Activation of Aave Robot, which automates permisionless actions in Aave Governance such as queueing and executing proposals.

  • Remove balance snapshots from AAVE and stkAAVE tokens, decreases gas cost for token actions

How to Access Aave Governance V3

Aave Governance V3 is a permissionless system, with addresses participating by directly submitting transactions to smart contracts. There are a variety of methods to interact with the Governance V3:

User Interface

Aave Governance V3 smart contracts can be integrated into any user interface. At launch there are at least two hosted interfaces, from BGD Labs (vote.onaave.com) and Aave Labs (app.aave.com/governance).

Both interfaces can also be run locally or accessed through IPFS deployments. Instructions for both of these methods can be found on their respective GitHub repositories (BGD Labs interface, Aave Labs interface).

Block Explorer

Another way of voting is to use a web browser together with a block explorer. The function that needs to be called is submitVote() on the VotingMachine of the corresponding proposal’s voting network.

Constructing the storage proofs required as input can be challenging to do manually, so an aave-cli has been developed that generates the input parameters in the format expected by block explorers. All the instructions on how to use this tool can be found on the README.

Foundry Script

If you prefer to interact directly without touching the browser, a Foundry script has also been created that anybody can run in their machine to emit a vote.

All the instructions on how to use it can be found HERE.

Last updated