Team #6: An (EIP-4824 powered) daoURI for the Arbitrum DAO

  • Track: GovTech
  • Challenge Statement: “Data surrounding the Arbitrum DAO is scattered all over the place. How can we increase data availability and accessibility without losing decentralisation?”
  • Members: Aman and Rashmi Abbigeri
  • Team Lead contact name or alias: Aman (Telegram: amanwithwings)
  • PITCH: daoURI for Arbitrum DAO🚀 | Loom

Abstract

We propose that the Arbitrum DAO takes control of its data by publishing a daoURI onchain. The daoURI, following EIP-4824, will create a single source of truth on the DAO, that cannot be altered by external agencies, is fully manageable via governance, bringing helpful context on the DAO onchain. This will be helpful for newcomers, tooling providers, and experienced governooors alike.

DAOstar received a grant from the Arbitrum Foundation to improve the adoption of EIP-4824 in the Arbitrum ecosystem. We are allocating a portion of that grant to steward this proposal. Adopting EIP-4824 requires no additional spend from the DAO treasury, and it makes no change to its smart contracts or governance structure.

Motivation

The Arbitrum DAO is one of the largest DAOs, and there is a lot of data surrounding it. This dataset grows with every new initiative and has multiple components that may not be very visible from the “outside”. For example, consider the following questions:

  1. Who are the current Security Council, Arbitrum Research & Development Collective, Procurement Committee members? (Answer: you can search the respective forum post to find this)
  2. Can you share a location that tracks all DAO-owned/managed multisig addresses? (Answer: this could be https://www.arbwallets.xyz/)
  3. Can you share a status update on the DAO’s grant spending? (Answer: R3gen Finance reports this on the forum)
  4. Where can we see delegate performance? (Answer: KarmaGAP or Tally)
  5. How much in sequencer fees is being collected? (Answer: there is a dashboard for this)
  6. What orbit chains exist? (Answer: the ecosystem page tracks this)
  7. Where to find recordings and transcripts of public meetings? (Answer: I’m not sure!)

For an active participant, these answers might not be very hard. But for the majority of people who are not active participants of the DAO, and even for tooling providers, collecting this information requires a painstaking amount of manual effort. This leads to inconsistencies, errors and outdated information.

There are over 200 DAOs at the moment with a treasury size of over $1M, and collecting information on them manually is becoming an exponentially difficult task. EIP-4824 was authored by DAOstar with the support from the Ethereum Foundation, Gnosis, Etherscan, DeepDAO, Snapshot, and a large number of DAO tooling companies, to create a better infrastructure for DAO data.

Adopting EIP-4824 essentially means that the DAO publishes a daoURI onchain. daoURIs have a standard JSON-LD format:

{
"@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>"
}

It contains information on governance, members, activities and contracts by default. Outside of the endpoints mentioned above, a DAO can also choose to publish information that is specifically important to it. For Arbitrum, this could be information about orbit chains, different multi-sigs and councils, spending, sequencer fees, link to its constitution, etc. Essentially, the daoURI creates an “official repository” of information on the DAO.

Here are some examples of how the daoURI could be used:

  1. It can be used to bring more context to contracts on block explorers. For example, we could go from this:

to this:

  1. We can make DAO data easily and freely available to everyone

For example, Arbitrum DAO’s current DeepDAO profile misses a ton of info - contracts, or revenue, or governance guardrails (councils and multi-sigs), etc. Messari’s Arbitrum DAO dashboard requires a paid membership to access, which could also be due to the difficulty of collecting and presenting DAO data (thus making it too valuable to give away for free). By making access to this information easy, we can greatly improve the DAO’s transparency. i.e, go from:

to this:

  1. daoURI makes it much easier to structure metadata improvements.

A specific example that surfaced during Arbitrum GovHack (thanks to Paulo Fonseca): onchain proposals at Arbitrum DAO (or any DAO for that matter) do not reference a forum discussion. This takes away a lot of available information. If we wanted to change this, we could achieve it easily by enforcing a discussionURI field inside the proposalURI (which is a standard component of daoURI). Tally, Aragon, Snapshot X, and most governance tooling providers are members of DAOstar. Extending the standard will create an easy upgrade pathway for them and this change would reflect the change across the ecosystem.

To summarize, a daoURI creates a source of truth for metadata, that can represent the present state of the DAO, and is easily accessible for onchain and offchain tools. This proposal carries no additional cost, or changes to any existing smart contract or process. It’s a step in the right direction with no downside.

Rationale

This proposal aligns with the Arbitrum’s mission and community values, by making the Arbitrum DAO more open, accessible, and inclusive to participants and tools alike. The initiative:

  • significantly lowers the high threshold of context and background work required to start understanding and meaningfully contributing to the DAO;
  • It increases accountability over the board as more information is now freely available;
  • It decreases administrative overhead and maintenance as were converging on a single point to publish and consume data.

Specifications

Execution is a simple contract call to the EIP-4824 Registration Factory which deploys a new registration contract that’ll store the daoURI. The registration will be on Arbitrum One network, setting the DAO’s Governor timelock as admin, and managers as the DAO decides.

A DAO that runs the same configuration as Arbitrum DAO and has adopted EIP-4824 is Unlock Protocol. We are adding that transaction here for reference, along with successful proposals at Treasure and 1inch that were executed through their respective treasury safes.

Steps to Implement

Create a daoURI for Arbitrum DAO: Based on conversations with different contributors during the Arbitrum GovHack, the daoURI can include a description on the DAO, a paginated list of all DAO voters, a list of all proposals (with title, timestamp, status and soon a discussion link), link to governance documents, list of all contracts owned or managed by the DAO, link to dashboards on protocol revenue, orbit chains and delegate performance. It will be stored on IPFS.

Note that this is a starting point. The daoURI of Arbitrum DAO will continuously evolve and become more comprehensive over time.

Publish the daoURI onchain: As detailed in the execution summary above, this will be a simple smart contract call to deploy a new contract on Arbitrum One.

Maintain the daoURI: Though daoURI is fully manageable through governance, it may not be practically feasible to initiate an onchain vote for every upgrade. To solve this, the DAO can set one or many manager to manage its daoURI. The Arbitrum Foundation might be a good candidate. If needed, DAOstar can commit to maintaining Arbitrum DAO’s daoURI for a year for at additional cost. Managers can only update daoURIs. They can be added or removed easily by the DAO.

To keep the daoURI a community-led effort, we suggest that whoever is set as a manager maintain a forum topic to discuss updates. That way, any Arbitrum DAO member can publicly request to add a missing piece of info to the daoURI.

Timeline

Creation of daoURI V0.1 (includes conversations with delegates, service providers, the Arbitrum Foundation, and all other participants through the forum, led by DAOstar): 4 weeks

Testing (ensuring that the subURIs work well & that any static data is either uploaded to IPFS or hosted by a trusted 3rd party, for example the Arbitrum Foundation): 2 weeks

Overall: 6 weeks before the proposal is ready to be executed

Overall Cost

This proposal does not require any transfer of funds from the DAO treasury.

Special thanks to @Bobbay, @Matt_StableLab, @raam, @coolhorsegirl, @Srijith-Questbook, @Sinkas, Hayden (BlockworksResearch) and Nick Nahaghi (Hats) for feedback and edits; @krst, @AlexLumley, @Frisson, @dk3, and George Beall (Gauntlet) for the expert sessions, and to Klaus and the rest of the GovHack team for making an awesome event happen at Brussels!

EIP-4824 has already been adopted by Snapshot, Aragon, Treasure, 1inch, Optimism Collective (through the Optimism Foundation), and multiple frameworks and DAOs. The effort is supported by grants from the Arbitrum Foundation, Optimism Collective, ENS, Gnosis, Solana and many other stakeholders of the web3 ecosystem. Thank you to everyone:)

4 Likes

Interesting Lowdown @amanwithwings :This proposal is all about creating a one-stop shop for all the important data related to the Arbitrum DAO.

So anyone can easily access and use the info they need. The idea is to make it easier for people to get involved, make informed decisions, and generally make the DAO more transparent and accessible.

The Good Stuff: It tackles the problem of scattered data, which can be a real pain to deal with. It’s based on a standardized format (EIP-4824), so it’s not just some custom solution that might not work with other tools. It doesn’t require any extra cash from the DAO treasury, which is always a plus. By making it easier for users to access and interact with the DAO’s data, the daoURI could lead to more on-chain activity, such as:

More informed decision-making    Increased transparency    Simplified data access    Improved tooling and integrations    More efficient governance    Increased adoption  

The Questions:
How are we gonna set this thing up and keep it running smoothly?
How do we make sure the data is accurate and complete? How do we get people to actually use this thing, and what kind of support do we need to offer?
What kind of security measures do we need to put in place to protect the daoURI from potential attacks?

Next Steps:
Let’s keep discussing the details and figure out how to make this work in practice.
We should weigh the pros and cons of adopting the daoURI and think about how it’ll impact the DAO as a whole.
We need to make sure this proposal aligns with the Arbitrum DAO’s mission and values, and that it’ll actually make a positive difference in the ecosystem.
The daoURI has the potential to increase on-chain activity, drive more engagement, and make a positive impact on the Arbitrum DAO ecosystem.

1 Like

:fire: Love this! =)

Adopting this standard would also help governance front-ends and aggregators gain proper data about Arbitrum DAO.

We will use it for proposals.app for sure!

2 Likes

No brainer! Tally would definitely use this.

2 Likes

Not sure if I’m replying to an AI-agent, but everyone deserves answers.

How are we gonna set this thing up and keep it running smoothly?
How do we make sure the data is accurate and complete? How do we get people to actually use this thing, and what kind of support do we need to offer?

It’s not easy to get used to new systems, but what we are planning to do is:

  1. Collect extensive feedback from all stakeholders to create a good v0.1 daoURI.
  2. Get the right incentives in place so that we can keep making it better.
  • Since subURIs can be dynamic, enriching most of the dynamic data points (like data on proposals, voters, and contract activity) can be automated. We’ll use trusted partners like Snapshot, Tally, and Boardroom for some of the governance data.
  • daoURI can potentially be integrated by other dashboards at Arbitrum DAO. For example, the Arbitrum DAO Dashboard (by @prometheus_PH, @Entropy, and others at GovHack), @paulofonseca’s Proposals App, Etherscan, DeepDAO, and other tools could refer to this source of truth for a copy of “official DAO data”. We are already working with some of these teams to make the integrations happen. These integrations, along with the legitimacy that anything published in the daoURI is most likely the best version of data on Arbitrum DAO, solve the incentive problem of updating daoURIs to a large extent.

What kind of security measures do we need to put in place to protect the daoURI from potential attacks?

daoURI data can only be edited by initiating an onchain vote (to rewrite the daoURI) or through the manager (assuming the DAO sets one). Since daoURI is an important record, managers should be highly trusted 3rd parties with the right interests for Arbitrum DAO’s success. Based on the suggestions of @krst and other delagates, this could be the Arbitrum Foundation, and from my brief conversation with @stonecoldpat at ETH CC '24, the Foundation is open to taking on this responsibility.

We envision daoURI updates to be not-so-frequent. A structure we have in mind for ensuring community enagagement on daoURI updates is the manager maintaining a forum thread to curate daoURI update requests and doing updates every month or so. The DAO may decide to upload more data to its daoURI periodically (say a copy of forum discussions) in the future.

Before this proposal goes to a vote, we’ll create a minimum viable framework to handle daoURI updates and do away with false legitimacy (people/projects wanting to be in the daoURI to show that there are official parters of the DAO) and spam.

Next steps for me: chatting with delegates, service providers and other stakeholders in the Arbitrum ecosystem to discover the possibility of what could Arbitrum DAO’s daoURI be. If you’d like to get involved, please DM!

3 Likes

An improved version of Arbitrum DAO’s daoURI: https://ipfs.io/ipfs/QmbAFHUiVTDpSykuHVnc8BRbMy29hSdiVzR2LiFoGdFqcT

We worked with @amanwithwings at Treasure DAO and found him helpful, and the overall implementation was smooth. Conscious anything with code can start to make people uncomfortable, so it may be worth speaking to the ARDC and getting them to vet the upgrade.

1 Like

Thanks for the support, @Pepperoni_Jo3. Will take this through the ARDC. After conversations with key delegates, I’m considering providing the DAO two options for implementation:

option 1: as suggested above, deploy a registration contract through the timelock (which requires as onchain vote)

option 2: use arbitrumfoundation.eth to set daoURI as a txt record. This will not require an onchain vote, or onchain actions by the timelock as they DAO will only need to signal acceptance and the signers of arbitrumfoundation.eth will be able to execute it.

Hey all, attaching an improved version of daoURI here: https://ipfs.io/ipfs/QmUrBuJLBCZKnnEebwRe2Yqh3fk39H2mtqPQjMPUwVC1Ap

Changes:

proposalsURI structure is the following:

Proposals {
offchain : ...
onchain: ... }

They both are ordered from latest to oldest. We have included all the relevant data points we could from Snapshot and Tally.

For Members URI, member lists include:

Snapshot : voters, space members, moderators, space admins
Tally: delegates, organizationMembers  ( In Tally API, all voters are "delegates" )
  • Pagination: both offchain and onchain data have their own cursor;
  • Caching: All results are cached and cache is invalidated on refresh param
  • Onchain id: In Tally, DAO Name, for example “arbitrum” , “ens”, are then mapped with an orgnaization ID
  • To fetch onchain data, the DAO name as on Tally needs to be provided

This is great work, and we find this would be extremely useful for the DAO. However, this proposal has not been given the sufficient 7-day minimum time in the forum to be pushed to Snapshot. We politely ask that this be uploaded in the proposals discussion and then this can be revisited. Additionally, was this proposal ever vetted by the security/auditing members of the ARDC?

That said, Blockworks Research will be voting AGAINST this proposal on Snapshot. Although we do want to see this proposed again with proper process.

1 Like

To clarify, this proposal has been in the forum since GovHack on July 7th, and there has been a back-and-forth discussion. Are you suggesting that is insufficient?

4 Likes

Yes, as the proposal should be filed under “proposals” subcategory of the forums for proper visibility first. It is highly unlikely that the GovHack Brussels subcategory sees the same visibility as the proposals subcategory. And then there’s still the matter that this should likely go through an ARDC security provider for audits. Ideally, it should be posted on the forum in the proper category to be gestated on for a week, and then the week following it would proceed to a Snapshot vote, and then prior to a Tally vote it should receive vetting from an ARDC security member.

Again that said, this is extremely promising, so we make these comments not to dissuade but rather to have this pushed sooner rather than later.

2 Likes

Fair enough, as organiser of GovHack we didn’t provide explicit guidance on how a proposal should migrate after GovHack to the proposals category.
I think it should stay in the GovHack section as a record.
Then people should clone their proposals and put them in the Proposals category if they plan on taking them forward. Do you think that works?
Also @cliffton.eth @raam as you made the Forum category and @paulofonseca @tobsch I’d appreciate you weighing in on this as you are pursuing moving your proposals forward.
I want to establish a best practice for this going forward to avoid a repeat of this issue.

6 Likes

Cloning the proposal and inserting it into to the subcategory sounds great to us, moving forward we could also begin to treat GovHack subcategories as canonical categories for the proposal pipeline, although this should be made explicit. Also, there could be some forum clutter if we take that approach.

2 Likes

Looks like a good idea. Voting in favor, assuming our security partners take care of code audit and its impact analysis.

1 Like

Thank you for upholding this standard, @BlockworksResearch, and thank you for weighing in, @KlausBrave. I can repost it, no worries.

I actually asked in the previous Governance call on 31st July if the proposal needed to be reposted for more visibility, but nobody replied yes. (It was in the chat after my presentation, so that might have also been a visibility issue.)

2 Likes

Voting yes in a future snapshot. This benefits transparency and makes it easier to access information.
But today im voting against to recreate this proposal and then publish it again with sufficient time to discuss.

1 Like

Hey all, created a new post in the “proposals” category: An EIP-4824 powered daoURI for Arbitrum DAO

7 Likes

For tracking purposes, I voted Against this proposal so we can follow the proper processes.

The subject itself is interesting, and I will post some questions in the other post.

1 Like

I voted “FOR” in Snapshot because having an on-chain daoURI is like giving Arbitrum DAO a cheat sheet for all its important info—no more digging around for answers. It’s a simple move that makes everything transparent and easy to find. Plus, it costs nothing. Think of it as giving the DAO a GPS instead of making everyone ask for directions.

1 Like