Title: [TEMP CHECK] Extend Aave DAO with EIP-4824
Author: Aman & @thelastjosh
Date: 07-11-2023
Summary
An opportunity to publish an EIP-4824 compliant daoURI for Aave DAO and join the ranks of Optimism Collective, Arbitrum Foundation, ShapeShift, Snapshot, Aragon, etc. in advancing the interoperability of the DAO ecosystem.
EIP-4824 defines a standard json schema for publishing essential DAO metadata onchain. It does so by deploying a new smart contract to store the daoURI. This proposal was posted earlier in March and did pass the Snapshot vote unanimously. We are resposting it to meet the quorum requirements required to proceed further.
This proposal does not involve any transfer of funds or changes to Aave’s smart contracts.
Motivation
Consider today’s DAO ecosystem. There are over 20,000 DAOs (from DeepDAO) deployed using different governance frameworks, many with token holders and treasuries on multiple chains. This number is set to increase by orders of magnitude in the next few years. Additionally, with the launch of new layer-2s and cross-chain solutions, the number of DAO-controlled parameters are increasing day by day.
Even so, we lack a robust framework to collect essential DAO data. While aggregators are doing the best job they can, it has become almost impossible to keep up with the DAO ecosystem given sheer number modifications and new launches happening in governance. This imposes several limits on DAOs. For one, new DAOs and DAO frameworks fail to be discovered and indexed by aggregators and policymakers. Secondly, from a tooling point of view, it is harder to build a protocol that interoperates with most DAOs and governance frameworks.
To address these shortcomings, we authored EIP-4824. The standard has gained significant momentum in the last year in terms of adoption:
-
Snapshot adopted EIP-4824 on their onchain governance framework, Snapshot X. Going forward, 100s and possibly 1000s of DAOs created using Snapshot X will automatically be EIP-4824 compliant.
-
ShapeShift DAO, Unlock Protocol and LXDAO recently adopted EIP-4824
-
Optimism Collective awarded DAOstar a Mission Proposal to ensure EIP-4824 compliance within the Optimism ecosystem. We are currently developing an alternate route to publishing daoURI’s, using Ethereum Attestation Station (EAS).
-
The Arbitrum Foundation awarded DAOstar a grant to streamline the adoption of EIP-4824 and infrastructure being built on top of it. This grant will support an ambitious regulatory interoperability project that leverages EIP-4824 to build a regulatory interface for DAOs.
On top of this, DAO frameworks including Aragon V3, DAODAO (Cosmos), Moloch v2 / DAOHaus, Moloch v3 / DAOHaus, Gnosis Safe, DAOstack, KALI, Q.org, Power Protocol and XDAO have either already adopted or have committed to adopting EIP-4824 in the short term.
EIP-4824 has also proved to be a good foundation for all the other standards. The Grants Management standard piloted by Gitcoin, Attestations standard built by Avenue, Govern, EAS & funded by Optimism, much of the regulatory interface work the Regulatory Interop WG did were composed on top of it. This proves the importance of having a DAO metadata standard.
EIP-4824 was authored by Joshua Tan (DAOstar/Metagov, Oxford), Isaac Patka (SEAL 911, Moloch), Ido Gershtein (DAOstack), Eyal Eithcowich (DeepDAO), Michael Zargham (BlockScience, UPenn), Sam Furter (Polygon) with contributions from Auryn Macmillan (Gnosis Guild), Fabien (Snapshot), Selim Imoberdorf (Aragon), Lucia Korpas, and Mehdi Salehi (Offchain Labs).
Specification
EIP-4824 defines a standard JSON-LD schema to publish DAO metadata onchain:
{
"@context": "http://www.daostar.org/schemas",
"type": "DAO",
"name": "<name of the DAO>",
"description": "<description>",
"membersURI": "<URI>",
"proposalsURI": "<URI>",
"activityLogURI": "<URI>",
"governanceURI": "<URI>",
"contractsRegistryURI": "<URI>"
}
We make the following suggestions for the subfields:
-
name: Aave DAO
-
for description, using the following lines from the documentation: The Aave Protocol is decentralised non-custodial liquidity protocol where users can participate as suppliers, borrowers or liquidators. AAVE is used as the centre of gravity of Aave Protocol governance. AAVE is used to vote and decide on the outcome of Aave Improvement Proposals (AIPs). Apart from this, AAVE can be staked within the protocol Safety Module to provide security/insurance to the protocol/suppliers. Stakers earn staking rewards and fees from the protocol.
-
for membersURI, we using the Boardroon API to get a list of voters: https://services.daostar.org/api/v1/boardroom/members/1/aave
-
For proposalsURI, we using the Snapshot API to get a list of proposals: https://services.daostar.org/api/v1/snapshot/proposals/aave.eth
-
For governanceURI, pointing to the governance docs: Governance - Governance
-
For contractsRegistryURI, pointing to the developer docs: Deployed Contracts - Developers
-
governanceURI will point to: Governance - Governance
The DAOstar register page (DAOstar) provides a simple interface to generate a daoURI once the subURI’s are ready:
daoURI’s generated through the register service above are automatically stored on IPFS.
Execution
If passed, Aave DAO will execute the following call to 0x2Dac5DBbF1D024c1E0D9c92D3AeDa7618e15aDd7
on Ethereum Mainnet to complete the registration, setting the timelock contract as its admin:
Call EIP4824RegistrationSummoner.summonRegistration(salt, daoURI, manager, contracts, data)
New clones are deployed to predictable addresses using the message sender and a bytes32 value combined as a salt.
The manager address can be left blank or delagted to a multisig. If a DAO-owned multisig is willing to volunteer, we propose setting a manager while registering. Otherwise, this can be left blank (set to 0x000) and changed later, as needed. From the previous forum discussion, @bgdlabs, pointed out that:
We would like to point out that it is probably better to avoid delegation to a multi-sig, just boiling down to make governance proposals whenever any “metadata” needs to be modified for the DAO. The best solution is to have the Level 1 governance Executor (Short Executor) with all the roles required, especially because doesn’t seem like a really frequent action.
Having had no counters to this suggestion, we suggest setting 0x0000000000000000000000000000000000000000
as the manager as that column cannot be left blank while registration. Additional managers can be added later as needed. We forsee daoURI updates to be infrequent.
Simulation Results
Given a salt of 0x42 and a msg.sender of the Aave Short Executor Timelock (0xEE56e2B3D491590B5b31738cC34d5232F378a8D5
), the registration contract is deployed to
0xe1f9c71b6ec9a12e4406fe49bbf9ef5d7f6c728a
.
As an extended example, here is Unlock Protocol’s successful EIP-4824 proposal & execution: Tally | Unlock Proposal
Conclusion
In summary, this is an extremely low risk proposal that’ll take us one step closer to true interoperability within the DAO ecosystem. This proposal does not involve any transfer of funds or changes to Aave’s smart contracts.
Given the importance of standards and how much they’ll improve the web3 ecosystem, we urge everyone to provide their feedback and support for this proposal.
Next Steps
- Get community feedback on TEMP CHECK
- Snapshot vote
- If Snapshot is successful then move to AIP
Copyright
Copyright and related rights waived via CC0.