Aragon Colonies Experimentation

Aragon Colonies

Tommy Cox (@proofoftom)

Overview

Experimentation of two-way bridges between Aragon and Colony.

Colony and Aragon exceptionally fulfill their respective focuses (reputation and flexible governance). With that said, Colony would currently greatly benefit from a flexible governance system - which Aragon excels in. For Aragon, beginning work on integrating the two platforms will be an essential first step to ensure the viability of fulfilling the Expert Networks Nest RFP by testing the use of Colony reputation within an Aragon organization.

Goals

  1. Template that automatically launches a colony that is associated with the Aragon organization
  2. Allow an Aragon organization’s Agent to move funds between funding pots
  3. Base voting weight in an Aragon organization on the user’s Colony reputation

Specifications

Using a combination of Aragon Agent and Colony’s reputation mining oracles we intend to build a two way integration between the platforms where one’s voting weight towards proposals in an Aragon organization is based on the their respective colony reputation, and then those proposals (if passed) execute an action in the colony (currently limited to moving funds). See the AllianceDAO write up, Aragon organization and corresponding Colony as a proof of concept, where the Aragon Agent is the root owner of the colony and uses the Aragon MiniMe token as the colony’s native token, allowing for governance over minting/burning as well.

Milestones/Deliverables

1. Governance for Colonies

A new Aragon app for moving funds between an associated colony’s funding pots

2. Reputation Based Voting Weight

A fork of the Voting app that bases its weight on an associated colony’s reputation oracles

Timeline/Cost

1-1.5 months
$4000

10 Likes

This is awesome! Really glad to see this moving forward :slight_smile:

I’m not super familiar with how Colony works, so can you please describe a bit more:

  • What the current setup, “an Aragon Agent is the root owner of the colony that uses the Aragon MiniMe token as the colony’s native token allowing for governance over minting/burning,” allows as well as it’s limitations.
  • What the Alliance governance and voting apps would enable that is not currently possible with the current Agent only setup.

Also, and please correct me if I’m wrong or missing information here, but it sounds like with the current Agent setup you can mint, burn, and transfer tokens on the Aragon side (because the Aragon MiniMe token is the token), but maybe not so much on the Colony side? And then this project would be to create a bridge between the two that would allow for two-way token minting, burning, and transfers? That way people could do work and earn reputation via the Colony system, but then use Aragon for governance, fund management, and whatever else the organization wants to do. Is that kind of the idea?

2 Likes

What’s unique about the Colony native token is that it’s what earns the bounty hunter reputation when paid for a task in Colony. It might make sense to limit the amount of these tokens minted as to not cause a large arbitrary shift in the amount being distributed. The limitation being having to wait on the proposal period to complete to mint the tokens for paying out tasks, which doesn’t seem unreasonable.

I honestly haven’t used Agent at all but it’s my understanding that it’d require knowing the ColonyNetwork contract function signatures, and would require calling from the command line. These apps would provide a more friendly UI (am thinking along the lines of EmpowerTheDAO) that’d expose Colony functionality, in the MVP this would include an interface to move funds between the funding pots which would trigger an organizational vote if permissions require.

Correct me if I’m wrong :blush: but since Aragon orgs are currently dependent on the MiniMe token standard one can’t use just any ERC20 token, such as a Colony owned one. In fact I’m not sure one can even bring their own token for Aragon governance.

That all aside, using the native token of the colony (i.e. if you wanted to use a Colony owned token) in Aragon isn’t really necessary in the scope of the above since the voting utilizes the colony reputation oracle (which is a separate off chain mechanism that uses merkle roots for snapshots) to assign a user’s weight in a vote. Let me know if that doesn’t make sense. Wrote it kind of quickly :wink:

2 Likes

So there’s actually no new functionality being created here since you can already do all of this with the CLI and Agent? But this project is to improve the UI/UX for users so that it’s easier?

Also, to confirm, my previous assumption was totally wrong because the compatibility only works one way Aragon => Colony and not the other way around right?

1 Like

On the Agent side of things that’s correct, it’d just be a user friendly interface for making what would otherwise be CLI calls. Reputation weighted voting (i.e. voting in Aragon weighted by the Colony reputation oracles) would be new functionality though - and is what makes this a two way bridge.

To clarify the deliverables:

  1. An Aragon Colony app that serves as a UI for interacting with an associated colony, initially to move funds but the feature set can eventually accommodate any Colony functionality, e.g. create domains/skills and other needs of the Expert Network RFP. Will be designing with this RFP in mind.
  2. An Aragon Voting app that uses the Colony reputation oracles for voting weight.
  3. An Aragon template that creates and/or links an associated Colony and gives the Aragon Agent root permission in the Colony, as well as deploys the above mentioned apps.
3 Likes

Right because most users won’t be using the CLI and this way anyone could take full advantage of the Aragon X Colony synergy. That’s the main goal here right?

Still fuzzy on how this would work, but it sounds like the voting app would query an oracle to get the reputation scores and then allow people to use them to vote in the Aragon DAO? If so, would that allow people to use their Colony reputation for anything within Aragon such as dot voting, conviction voting, Dandelion voting, etc… or would it just work for this voting app? If it would just work for this voting app, is there the potential that in the future it could be expanded to all the Aragon things without creating a massive amount of code to maintain?

1 Like

Exactly

Also correct. When a proposal is created, the root hash of the Colony reputation state would be saved on the Aragon side of things, and would be used to reference a user’s reputation at that state in the merkle tree when they vote, functioning similar to how the MiniMe token takes a snapshot when a proposal is created.

This certainly would be the ideal architecture! I’d imagine this should work but at the moment would need to say that I could only guarantee that a singleton approach would work - and would need to do more research in to the interoperability of the other voting mechanisms.

2 Likes

Awesome :slight_smile: Thank you for explaining all that!

This seems like a really cool project. I’ve been a fan of the idea for a long time, but now a lot of communities we’re talking to are also asking for this. An Aragon X Colony integration would realize the promise of Web3 interoperability to create the best of both worlds for users: modular DAOs that can be upgraded and interact with any Ethereum dApp, but also have amazing reputation systems for communities. Would be really cool to see this become a reality.

4 Likes

There is some work on connecting non-minime sources for voting power in https://github.com/aragonone/voting-connectors that might be relevant here. Essentially rather than creating a voting app it may be possible to create a connector, and then use existing voting apps that expect minime snapshots with the connector, which would make Dandelion Voting, Dot Voting, and the standard Voting app immediately compatible. It may also allow things like the Rewards app work with the integration, though I’m less familiar with how that application is using minime snapshots.

5 Likes

Yay! really cool proposal. Smart integrations with other smart projects compounds value for the users :raised_hands:

This being said, I’m not very knowledgeable about Colony either. Do you know if their reputation product has interesting use cases/is gaining traction? Do you plan to use the Aragon-Colony integration yourself for a specific purpose?

I suppose the goal of this project is for deliverables 1. and 2. to be live on Rinkeby testnet? How advanced/polished do you expect the app to be?

As far as my experience with Aragon goes, templates often need their own security audit for mainnet use. Same for the app. So you would probably need more funds to develop the whole thing and run it on mainnet.

Overall I really like the idea and approach. Cheers :slight_smile:

1 Like

Absolutely, the main use case (currently) of reputation is for calculating rewards/dividends payouts when the colony gets paid. LeapDAO has been tracking their reputation for some time (https://build.colony.io/t/how-to-do-a-reward-payout/298), and the UI for rewards payouts is something we’re wrapping up now which will allow for the members to claim their rewards.

Indeed, this is somewhat self serving since the two way bridge accounts for two thirds of the pillars, aside Bancor, that make up Civitas. The elevator pitch being: continuously funded meritocratic cooperatives.

I’d say the end goal of this experimentation is to have the deliverables documented and provably working locally. The tricky part being that Aragon and Colony live on two different testnets (Rinkeby and Goerli), so would have to deploy another version somewhere and don’t want to get bogged down on that hurdle. Let me know if you have any suggestions in that regard.

I wouldn’t doubt it’d need an audit and extra scrutiny! So yes, that’s outside of the expected scope of this proof of concept proposal. If everything goes well with this experimentation, I intend to expand it and hopefully take on the Expert Network RFP, where more funds could perhaps be dedicated to an audit and deployment to mainnet.

2 Likes

This is super cool. Unrelated to this CFDAO project, but have you guys started thinking through onboarding and management best practices for Civitas orgs, or are you still at the design and development stage?

Would it be possible to just launch it on mainnet with a big disclaimer that it’s still in beta and should not be used for any large amounts of funds or important data?

Definitely still at the design and development stage.

You literally just read my mind. Yes, in fact I intend to for testing with the AllianceDAO

2 Likes

Haven’t heard anything in a bit and it seems like the community is generally in favor. Will create a proposal in the CFDAO tomorrow unless there’s any objections.

Looking forward to getting going on this!

4 Likes

Definitely interested man! To prove my my interest, I put out a ticket in the betacolony.
https://colony.io/colony/beta/task/5e4528d0669a8000692ef5de
Hoping to one day to organize my company Shenanigan through Colony and Aragon.

3 Likes

Proposal created in the CFDAO here: https://mainnet.aragon.org/#/cfdao/0xd654287285c6fd006ed44c20b0cbe462b7039b28/vote/7

Will submit an invoice in a couple days if things are looking good :slight_smile:

3 Likes

Only a few hours left to get a vote in for this proposal! If you support the cause please take two seconds to vote accordingly :pray:

https://mainnet.aragon.org/#/cfdao/0xd654287285c6fd006ed44c20b0cbe462b7039b28/vote/7

1 Like

Funding secured! Congratulations. Really looking forward to seeing AraColonies live in the wild :slight_smile:

3 Likes