Skip to content
This repository has been archived by the owner on Jul 18, 2020. It is now read-only.

Aragon Nest Proposal: Empower The DAO #165

Closed
chrishobcroft opened this issue May 24, 2019 · 12 comments
Closed

Aragon Nest Proposal: Empower The DAO #165

chrishobcroft opened this issue May 24, 2019 · 12 comments
Assignees

Comments

@chrishobcroft
Copy link

chrishobcroft commented May 24, 2019

images

Aragon Nest Proposal: Empower The DAO

Thank you for this opportunity to apply for a grant from the Nest programme.

We look forward to your review and feedback.

Abstract

The Ethereum community is an energetic and innovative environment, with a diverse array of projects bringing "decentralization" to their communities of individual humans. Many of its participants think that DAOs are something that somebody else works on. Like Aragon, or DAOStack, or Colony, or Moloch. That they are still an esoteric concept and belong in a different part of Ethereum that they aren't involved in.

They certainly don't think about a DAO interacting with the tools and protocols they are building in their projects. To them, a DAO is just a way to use a blockchain to vote about how resources are allocated. In fact, they don't really even understand what it means for a DAO to interact with their dApp, or even how it could work.

This project will integrate Aragon with a number of well-known Ethereum-based projects and their communities. To show them what it means and how it works...

  • ...so that they "get it" - demonstrated to them in terms they understand and even witness within their own platform: "Delegating Stake to a Transcoder", "Setting a Reverse Record", "Doing a Token to Token swap", "Fulfilling a Github issue", "Opening a CDP".

  • ...so that they understand how it works at a technical level: an Aragon DAO calling smart contract functions on their protocol via Agent.sol, with multi-level Permissioning

  • ...so that they have a starting point, a thin thread of an integration with Aragon, to be further developed within their communities.

  • and most crucially ... so that they use Aragon DAOs for their own projects

The Ethereum community is awash with early-adopters, so is a fertile breeding ground for innovation. Aragon can become the "orchestration layer" for Ethereum-based projects, "connecting the dots" to deliver real business value for end users.

Deliverables - Minimum Viable Applications

This project proposes to to build Minimum Viable Aragon Agent Applications to empower DAOs to interact with the protocols being developed by some other well-known Ethereum-based projects. Once installed, the applications will appear in the App Selector, allowing users of that DAO to interact with the applications connecting to other protocols:

image4653

Why Minimum Viable?

Nobody knows a project's inner mechanics more than the people who work in the project's community. The protocol's smart contracts have been crafted by the researchers and engineers. The UIs have been designed and developed by UX / UI designers and developers. It would be impossible to gain such a detailed understanding within the scope of this project.

Instead, this project will take the first step to connecting Aragon with Uniswap, Compound and ENS. It will demonstrate an embryonic proof-of-DAO in their ecosystem - showing them precisely what it means for a DAO to interact with their protocol.

Taking this first step will raise awareness of an Aragon DAO as an actor in these projects' ecosystems, and will provide a starting point for existing members of these projects' communities to expand and evolve the technical capabilities of these apps.

Specific Deliverables

The project proposes to build these applications, which will be available for any Aragon DAO to install:

  • Uniswap Aragon App - empower a DAO to interact with Uniswap's protocol for swapping tokens.

  • Compound Aragon App - empower a DAO to interact with the Compound protocol, for lending and borrowing crypto assets.

We will also attempt to deliver and application for the following:

  • ENS Aragon App - empower a DAO to interact with the protocol for registering and managing ENS names.

The code will be open source in EmpowerTheDAO's Github Repository, and will be published to Aragon Package Manager.

Grant Size and Phased Release Schedule

The total grant request for this project is 35,000 DAI, over the course of 12 weeks.

We propose a payment schedule to align with the ends of each phase.

  • 10,000 DAI for Phase 1 - Research & Design (2 weeks)
  • 20,000 DAI for Phase 2 - Development & Test (7 weeks)
  • 5,000 DAI for Phase 3 - Audit & Release (3 weeks)

In addition, we request a Success reward of 20,000 ANT for completion of the Uniswap and Compound apps, and a further 10,000 ANT for the case where we can also complete the delivery of the ENS app.

For more details on the phases, and the deliverables of each phase, see the section below entitled Phased Development Timeline.

Application requirements

Reference Implementation

The EmpowerTheDAO team are in the process of finalising the Livepeer Aragon App. This app empowers an Aragon DAO to perform some of the key roles in Livepeer's protocol - those of Delegator (enabling the DAO to stake to the network, and earn rewards) and Transcoder (enabling a DAO to govern the protocol interactions for a Transcoder node in Livepeer's network).

Through this project, EmpowerTheDAO has gained useful experience working with Agent.sol, as well as an understanding of how to build an app for an Aragon DAO which integrates with other Ethereum-based protocols.

images

Team Structure

The team consists of Chris Hobcroft and Will Griffiths, who together created the Livepeer Aragon App (see Reference Implementation section) and are also researching and developing LPT Futures.

Chris and Will work as a partnership, with Chris focused on concept definition, research, project management, user testing and community engagement, and Will focused on research and design, automated testing, smart contract engineering and UI development.

Commercial Structure

EmpowerTheDAO operates as a DAO itself, with Chris and Will as equal vote holders. The DAO is registered as empowerthedao.aragonid.eth and can be managed using Aragon's DAO software.

Phased Development Timeline

The project can be broken down into 3 phases, with varying levels of involvement from members of the team, during the project.

Phase 1 - Research & Design

Research & Design - 2 weeks

  • Engage with stakeholders in the communities of the projects to raise awareness, and ask for their guidance
  • Research each protocol being integrated with, and define the detailed scope of the application
  • Interim Deliverable: Detailed scope of the functionality of each application, including contract calls
  • Interim Deliverable: 3 published recordings of hangouts with Uniswap, Compound and ENS communities.

Phase 2 - Development & Test

Development Environment Configuration - 1 week

  • Create local and testnet environments for each of the protocols
  • Interim Deliverable: Development environments for each protocol

Application Development - 4 weeks

  • Development of "template" application to be used across multiple applications
  • Development of smart contract and user interface software for application
  • Fortnightly showcases of progress made on applications (internal to project team + invitees)
  • Awareness raising within other projects' communities, including 1 hangout with each project
  • Interim Deliverable: Applications ready for manual testing, published to Rinkeby Testnet
  • Interim Deliverable: Installation scripts for installing on local and Testnet environments
  • Interim Deliverable: 3 published recording of hangouts with each community, demonstrating applications and explaining code

Test + Bugfix - 2 week

  • Manual testing, issue management and bugfix.
  • Interim Deliverable: Test report with issues, how to replicate, and associated transaction records
  • Interim Deliverable: 2 (or 3) applications for release to Security Audit.

Phase 3 - Audit & Release

Security Audit - 1 week

  • Identification of vulnerabilities and weaknesses in the contracts and interface
  • Interim Deliverable: Report on vulnerabilities, and recommended changes

Response to Security Audit - 1 week (or less)

  • Review output from audit, and make any necessary changes
  • Interim Deliverable: Response tothe recommendations, and any necessary changes

Packaging and Release - 1 week

  • Creation of installation guides, tested with at least one member of each projects' community
  • Communication of application to projects' communities via their online forums, via hangouts, and publicly on Twitter
  • Code walk-through sessions with members of each community, to explain code architecture and functionality
  • Final deliverable: 2 (or 3) applications published to Aragon Package Manager with associated installation guides.
  • Final Deliverable: 2 (or 3) recordings of hangouts with each community, showcasing final application and code walk-throughs
@luisivan
Copy link
Contributor

I am super excited to see this!! The Agent app is a huge step forward, but having specialized apps will improve user experience so much. Any thoughts on adding Compound to the list? (not even sure if it's needed, since it'd be trivial to use from the vanilla Agent I think)

@LouisGrx LouisGrx self-assigned this May 27, 2019
@chrishobcroft
Copy link
Author

Hi @luisivan - thank you for the comment. I have had a brief look at Compound, and it would seem that it's primarily onchain, and hence would be well suited to Agent.

We can add this in to the project if you would like, and adjust timescales accordingly. Please advise.

@luisivan
Copy link
Contributor

luisivan commented Jun 3, 2019

I think it'd be great and an easy integration. Thoughts @LouisGrx?

@LouisGrx
Copy link
Contributor

LouisGrx commented Jun 5, 2019

Hey @chrishobcroft ,

Thanks for your enthusiasm for Aragon and this well thought proposal!!

There are multiple things we like in this proposal

  • The fact that it would eventually bridge Aragon to major DeFi protocols
  • The synergies that may arise with current Aragon apps, including the Fundraising App
  • The user friendliness of the ‘native integrations’ approach, and the value these integrations could create for each and every Aragon DAO user
  • Your experience working with the Agent app
  • Your plan to introduce the DeFi teams in question to using Aragon with these Minimum Viable Apps. We hope this could snowball and push other protocols to develop their own Aragon apps
  • Finally, the effort made to include security audits and installation guides in order to prepare the deliverables for mainnet!

A few remaining remarks and questions

  • It’s generally best practice to have pre-worked on Research and Design in order to avoid unexpected issues when working on deliverables. How advanced are you with the application specs as you seem pretty confident to be able to deliver 4 apps on Rinkeby within a single month?
  • While all this is very promising its a lot to deliver in a short time. Adding the Compound integration suggested by @luisivan: how would the timeline and financials be impacted ?
  • Summing up the numbers you put in the timeline it says DAI50K on 14-15 weeks. Can you confirm?
  • We’ll take some time to have a Flock team developer go through the Livepeer App repo to have an idea of what your future integrations could look like.

Grant amount and success reward

We’d like to put the emphasis on having the actual deliverables shipped as detailed in the proposal. In order to reflect that, what do you think about going for the following: $50K funding and ANT15K success reward?

@chrishobcroft
Copy link
Author

Hi @LouisGrx - many thanks for your feedback and questions on the proposal.

First, I will respond to the things you like in this proposal:

The fact that it would eventually bridge Aragon to major DeFi protocols

Yes, indeed - DeFi seems to be another growing industry on the Ethereum eco-system, so it would seem like a good idea to empower the DAO to be able to participate in these emerging eco-systems.

The synergies that may arise with current Aragon apps, including the Fundraising App

Absolutely - I can imagine that it would be more attractive to participate in funding an Aragon DAO, if that DAO is empowered to take advantage of the innovations in Aragon, and also from the broader Ethereum community.

The user friendliness of the ‘native integrations’ approach, and the value these integrations could create for each and every Aragon DAO user

Yes - I'm aware that there is a trade-off between a) the limitations of e.g. 'native integrations' vs. b) the extensibility of e.g. a Frame-Agent integration. I would say that at this early stage, making it really easy for an uninitiated non-technical end-user to engage is going to be really important to drive adoption. Interested to know what @lkngtn thinks.

Your experience working with the Agent app

Yeah, it's been interesting to road-test Agent.sol in "the wild". We would also hope to be able to provide feedback from this project, to be considered during its future evolution.

Your plan to introduce the DeFi teams in question to using Aragon with these Minimum Viable Apps. We hope this could snowball and push other protocols to develop their own Aragon apps

That would be the idea - I've already got some stakeholders in these projects who are interested in the use case, and it would be a great "poster child" project to demonstrate to other projects in the Ethereum community. I'm aware that Aragon is largely focussed on software development, but it felt like a good idea to include some workstreams in this project to build community around Agent.

Finally, the effort made to include security audits and installation guides in order to prepare the deliverables for mainnet!

Yes indeed. We want to ensure that users can feel safe with trusting these apps with their money.

And my experience with installation guides is that they really help to lower the barrier to entry for end users.

Next, I will respond to your remaining remarks and questions:

It’s generally best practice to have pre-worked on Research and Design in order to avoid unexpected issues when working on deliverables. How advanced are you with the application specs as you seem pretty confident to be able to deliver 4 apps on Rinkeby within a single month?

Our "Phase 0" Research pre-work has so far involved:

  • Concept definition
  • Scoping and prioritisation
    • Identification of candidate protocols / projects to be integrated, with input from @lkngtn
    • Prioritisation of these, based on maximising potential impact and limiting implementation complexity
  • Initial research and planning
    • Initial research of priority candidate protocols' smart contract function calls
    • Initial communication with developers in these communities to discuss high level scope
    • Internal workshop to create phased project plan with interim deliverables

From this pre-work, combined with our experience from delivering the Livepeer Aragon integration, we feel that minimum viable integrations can be built within the scope of the project as defined.

But as you rightly say, unexpected issues can arise - especially in this space - and with Agent.sol being so new, there are obvious risks to any plans.

Creating the detailed application specs will take some focused work (especially for 4 apps), which is why we propose this phase at the very start of the project. This phase will give us the time and space to spend 2-3 days getting to grips with each protocol, and to do the detailed design work on the application specs, by which time we will be able to uncover any potential showstoppers for the remaining phases.

I believe we have acted in good faith so far in this proposal process, and we don't feel that it's unreasonable to ask for the detailed specification work to be included in the project scope / fees.

While all this is very promising its a lot to deliver in a short time. Adding the Compound integration suggested by @luisivan: how would the timeline and financials be impacted ?

We would propose to include Compound, to replace Gitcoin in this initial scope. This would increase the connection with 3 DeFi protocols and 1 Core Infrastructure protocol, which operate primarily using web 3.0 interactions.

We can continue discussions with representatives from Gitcoin / Bounties about how to potentially integrate Agent with their protocols in the future, and perhaps to coordinate efforts with work on TPS.

Summing up the numbers you put in the timeline it says DAI50K on 14-15 weeks. Can you confirm?

I have corrected the mistake in the above numbers, it should be 10k / 25k / 20k = 55k DAI for the phases + 9k ANT success reward.

We’ll take some time to have a Flock team developer go through the Livepeer App repo to have an idea of what your future integrations could look like.

That's great - we would appreciate any pull requests, comments or questions. Furthermore, I would appreciate any feedback on the installation guides - as discussed above, this is likely an important part of lowering the barriers to user adoption.

Grant amount and success reward

We’d like to put the emphasis on having the actual deliverables shipped as detailed in the proposal. In order to reflect that, what do you think about going for the following: $50K funding and ANT15K success reward?

We remain firmly committed to the deliverables, and are happy to trade off some DAI with some ANT, as we would like our DAO to become more economically invested in the Aragon project and family.

The original proposal was DAI55K funding and ANT9K success reward.

I would propose to change this to DAI50K funding and ANT18K success reward, to reflect the a) increased risk associated with replacing funding with success reward, and b) potential price fluctuations of ANT vs. fiat in the intervening period. What do you think?

Thank you again for this opportunity - we are already enjoying working with you, and look forward to cementing our relationship. Please let us know whether our application has been successful.

@LouisGrx
Copy link
Contributor

Thanks for this answer. We acknowledge all the efforts that have been made to get this proposal together.

This phase will give us the time and space to spend 2-3 days getting to grips with each protocol, and to do the detailed design work on the application specs, by which time we will be able to uncover any potential showstoppers for the remaining phases.

That’s where it could be a problem as we usually issue funding in one chunk. It doesn’t make sense to issue the funding and learn a few days later that the proposal would not work in the end. To accommodate the situation, we can imagine a scenario where we guarantee the issuance of the funding, but only provided you can acquire more certainty over the roadmap in the first few days.

We would propose to include Compound, to replace Gitcoin in this initial scope. This would increase the connection with 3 DeFi protocols and 1 Core Infrastructure protocol, which operate primarily using web 3.0 interactions.

We can continue discussions with representatives from Gitcoin / Bounties about how to potentially integrate Agent with their protocols in the future, and perhaps to coordinate efforts with work on TPS.
Sounds great!
We’ve been checking out the livepeer app repo and it looks like in your approach you fork and tweak the Agent significantly. Could you explain the reasons behind these choices? Are these related to the implementation of a native UI? Curious to know more!
Agreed for DAI50K funding and ANT18K success reward.

Overall we are still very positive about the proposal and we hope to move to the Request For Funding step very soon!

@chrishobcroft
Copy link
Author

chrishobcroft commented Jun 14, 2019

Thanks @LouisGrx.

I will respond quickly, so that we can hopefully make some progress on this:

we can imagine a scenario where we guarantee the issuance of the funding, but only provided you can acquire more certainty over the roadmap in the first few days.

This sounds reasonable. What did you have in mind re: "more certainty"?

Re: the amendments made to Agent.sol, we are discussing with @izqui and @willjgriff in this issue: videoDAC/livepeer-aragon#22 - please feel free to ask questions here if anything isn't clear.

Thank you again for your support on processing this.

@LouisGrx
Copy link
Contributor

Hey @chrishobcroft,

Following up:

What did you have in mind re: "more certainty"?

I was referring to achieving the 2-3 days phase described below. Having more certainty that there will be no showstopper is a condition for us to issue the funding.

This phase will give us the time and space to spend 2-3 days getting to grips with each protocol, and to do the detailed design work on the application specs, by which time we will be able to uncover any potential showstoppers for the remaining phases.

Awesome to see the discussion happening with @izqui. Let's keep sharing to understand what design would make the most sense using the Agent.

We will approve this proposal and are excited to see a Request for Funding from the Empower The DAO team!

@chrishobcroft
Copy link
Author

Thank you @LouisGrx. I will complete the steps to make a Request for Funding.

I should also note that I have updated the original issue post to replace Gitcoin with Compound.

@chrishobcroft
Copy link
Author

Further to additional research and analysis by the Empower The DAO team, we can confidently confirm that we will be able to deliver 4 applications integrating with the MakerDAO, Uniswap, Compound and ENS protocols.

As such, we have submitted a pull request: #171

@LouisGrx - please confirm what the next steps are. We are ready to start work on Monday 1 July, pending receipt of funding approval.

@danimesq
Copy link

danimesq commented Oct 3, 2019

Updates? The PR is already merged.

@yeqbfgxjiq
Copy link
Contributor

Closing this Issue as it has been approved and no longer requires attention.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants