ERC3000

📚 Read the formal proposal here.

Historical background

Throughout 2020 Ethereum saw the explosion of DeFi, introducing protocols with interesting proposals such as Balancer with programmable liquidity pools and Yam with a rebasing mechanism to control supply and widely championing yield farming for everyone. More seasoned players of the space like Aave brought innovative features like flash loans, but what changed the space was the popularization of Governance Tokens.

While protocols like Aragon and Maker had already been championing the idea of community governance with tokens, new protocols distributed their token supply through yield farming strategies; those who did attract high amounts of capital and built healthy treasuries.

The tokens could then be used to govern the protocol itself in a community-oriented manner, but one thing became clear: due to the amount of activity on-chain, gas prices arose and DAO activity was quickly priced out. At some point, creating a traditional Moloch or Aragon DAO cost more than $500.

Balancer, in response to rising gas prices, built Snapshot—a gasless multi-governance client which allowed protocols to do governance votes with no cost, utilizing a snapshot of a user's token balance at a certain block height to measure voting power. This quickly became the de-facto way of doing governance throughout the summer. Of course, this had one pitfall: projects couldn't be fully decentralized, due to the requirement of a community multi-sig to enact off-chain votes on-chain. This is where ERC300 steps in.

The standard

ERC-3000 presents a basic on-chain spec for contracts to optimistically enact governance decisions made off-chain. Backed by Aragon & Balancer, it's an attempt to standardize the design and writing of governance tools to introduce a high level of composability and compatibility between them.

The standard is opinionated in defining the 6 entry point functions to contracts supporting the standard. But it allows for any sort of resolver mechanism for the challenge/response games characteristic of optimistic contracts.

While the authors (Jorge Izquierdo from Aragon and Fabien Marino from Balancer) currently believe resolving challenges using a subjective oracle is the right tradeoff, the standard has been designed such that changing to another mechanism is possible (a deterministic resolver like Optimism’s OVM uses), even allowing to hot-swap it in the same live instance.

Last updated