aragon / nest

A grants program to support the development of the ecosystem
https://aragon.org/project/grants
Creative Commons Zero v1.0 Universal
140 stars 78 forks source link

Relevant integration with Aragon DAOs #187

Closed balasan closed 4 years ago

balasan commented 4 years ago

Aragon Nest Proposal: User-Friendly Deliberation and Signalling with Relevant 🤓

Abstract

DAO governance is hard, especially for large organizations. If one hundred members are voting on one hundred different proposals, how can we ensure that all members are making informed decisions when casting their votes? How can we ensure that the majority of stakeholders will be able to identify and turn up to vote against a proposal that benefits a few members but is detrimental to everyone else?

We propose an integration between Relevant (git repo) and Aragon that makes DAO deliberation and signaling user-friendly and effective.

Any Aragon DAO will be able to easily create its own forum on Relevant integrated with the DAO’s smart contract parameters. This forum will automatically mirror any proposals submitted to the DAO and allow users to discuss and rank proposals and comments via a sybil-resistant reputation system bootstrapped with the DAO’s token.

*This is similar to proposal #49, however, we are focusing on an integration between an existing discussion tool, Relevant, and Aragon vs building an in-app solution. We feel that this difference merits its own thread, although we are also happy to merge the conversation with the previous one.

Background: Relevant is a Reddit-like platform where content is ranked via a sybil-resistant pagerank algorithm. We have launched a few pilot communities and currently have over 300 daily and 3000 monthly active users. Our mission is to create a healthy online information ecosystem by empowering user-owned and operated online communities to manage their own data, networks and algorithms.

Aragon Integration Details

Creating a forum for an Aragon Organization: Anyone will be able to create a forum for a given Aragon DAO by adding its Ethereum address to the Relevant App. Any member of the DAO will automatically become a member of the forum once they verify their Ethereum address associated with their DAO membership.

Governance proposals: All DAO proposals will be mirrored in the DAO’s Relevant forum and members will be invited to add comments and signal their support or lack thereof. By the end of the deliberation period, the most helpful comments will be highlighted and statistics expressing the sentiment around the proposal will be visible to help members make informed decisions.

Reputation: The DAO member's initial reputation scores will be proportional to their DAO token balances. These scores will be used to seed the pagerank algorithm that computes the ranking of proposals and comments. Members' scores can also change and evolve based on their participation. A member with few tokens may start out with a lower score but have it increase after providing helpful commentary and analysis.

Decentralization - Decentralized content with 3box and IPFS: There is often a trade-off between decentralization and user experience. At Relevant we have been focused on creating a superior user-experience during the initial stage of development, but are committed to a roadmap towards 100% decentralization in the near future. We are actively developing the tech to ensure that if our servers cease to exist all of the content and user interactions are preserved and available to users. Prior to commencing work on this grant proposal we will build and deploy features that back up all content and interactions to IPFS (3box integration) and enable anyone to deploy our open-source code and reconstruct the history of any given community without relying on our database.

Deliverables

Milestone 1: Web3 & Aragon integration

Milestone 2: UX

Grant size

Funding: $50,240k DAI Milestone 1: $20,960 Milestone 2: $27,360 Project Management: $1,920

Success Reward: $30k ANT - Will be used to add additional features requested by the Aragon community

Development timeline

We anticipate roughly 1 month for each of the milestones with the production-ready integration ready in 2 months.

pythonpete32 commented 4 years ago

Love this proposal! There are already efforts being made to incorporate sourcecred for mining reputation, this also uses a pagerank like algorithm.

This forum will automatically mirror any proposals submitted to the DAO and allow users to discuss and rank proposals and comments via a sybil-resistant reputation system bootstrapped with the DAO’s token.

It would make a lot of sense to join these efforts together

LouisGrx commented 4 years ago

Hey hey @balasan,

Communications in DAOs is quite a challenge. Potential improvements on that critical vertical are much needed. So overall happy to see this! Quick question before we find time to dive into details, how would you compare Relevant with a platform like Trustory.io?

Cheers

balasan commented 4 years ago

There are already efforts being made to incorporate sourcecred for mining reputation, this also uses a pagerank like algorithm. It would make a lot of sense to join these efforts together

@pythonpete32 definitely! Really like the idea of airdropping tokens based on reputation. We can do something very similar with a Relevant forum for any DAO :)

We are also in close contact with Dandelion from sourcered and are exploring an option to migrate our pagerank implementation to theirs, or at the very least make the APIs compatible so we can share tooling like graph visualizations and analytics.

The most notable difference in our pagerank implementation at the moment is that we have a way to do both negative and positive signals (upvotes and downvotes) which is great for signalling on proposals. The way we seed reputation is also a little different, but we feel that sourcecred is general-enough to be able to support our needs.

how would you compare Relevant with a platform like Trustory.io?

Hi @LouisGrx!, our pagerank-based Reputation System is the biggest differentiator. We believe that curation games based on coin-voting alone are prone to manipulation and feedback loops at scale (Steemit is a good example where curation gets subsumed by speculative activity). Reputation also allows us to define context very clearly ('politics' reputation is not the same as 'crypto' reptuation). It also allows us to connect it to external parameters, like DAO memberships (or any smart contract parameter!

Relevant also has a crypto-economic module - the Relevant Coin used to stake on posts as a prediction on their ranking within a specific community. For big communities the predictions can be a useful initial filter (similar mechanism to DAOStack). Because it is a separate module from Reputation, it is an optional component and is not needed for actual curation and signalling which means that Aragon DAOs won't need to interact with Relevant Coins if they don't want to.

Overall, we feel that Relevant can have a much better foundation to facilitate distinct communities with unique needs and use-cases.

yeqbfgxjiq commented 4 years ago

The Relevant website does not have a link to GitHub or code. The Relevant FAQ does not mention anything about code or open source. Is Relevant open source?

@balasan Looking at the Relevant blog it looks like you're one of the frequent authors. What is your connection to the Relevant platform?

Creating a forum for an Aragon Organization

How would this work? Would an Aragon DAO have to install a Relevant Aragon app that collects the data and packages into a format the Relevant API can process?

Governance proposals

The Aragon forum (Discourse) already does this, but in a very simple and naive way. Having a more advanced platform to measure community feedback and engagement would be useful, but it also could become overwhelming if there's conversations on multiple platforms happening simultaneously for important Issues. Is your thinking here that the Relevant forum would be the main forum for a DAO's community? If so, again, is Relevant open source? What is the business model for Relevant? What if Relevant shuts down in 6 months? Will any of the work done here still be useful?

The DAO member's initial reputation scores will be proportional to their DAO token balances.

How would this work with DAOs that have multiple tokens? Would a specific "reputation token" need to be created in order for the Relevant integration to function?

We are actively developing the tech to ensure that if our servers cease to exist all of the content and user interactions are preserved and available to users. As part of this grant proposal we will build and deploy features that back up all content and interactions to IPFS (3box integration/IPFS pinning) and release a proof-of-concept app that anyone can deploy in order to interact with the content without relying on our servers.

Please explain how this would work in detail.

Milestones

Overall the features sound cool, but your code, as far as I can tell, is not open source. That needs to be the first step. Everything else builds from there. Until the current codebase is available it is impossible to asses the technical feasibility of this proposal, the safety measures that would be required to protect Aragon's investment if Relevant changes or sunsets, and the authenticity of data on the Relevant forums if that data is going to inform Aragon DAO governance decisions.

Funding: $79,680k DAI

This is a very specific number. How did you get to this conclusion?

We are also in close contact with Dandelion from sourcered and are exploring an option to migrate our pagerank implementation to theirs, or at the very least make the APIs compatible so we can share tooling like graph visualizations and analytics.

One of the recurring themes in the SourceCred community is how to make the system transparent, but allow users to maintain privacy. This is essential so that all participants can understand, participate in, and modify the system to reflect the values of the community. This only works if the algorithm is transparent and open source. Is Relevant open source? If so, where can I see the code? If not, why?

The most notable difference in our pagerank implementation at the moment is that we have a way to do both negative and positive signals (upvotes and downvotes) which is great for signalling on proposals. The way we seed reputation is also a little different, but we feel that sourcecred is general-enough to be able to support our needs.

This is a cool feature, but it adds a lot of dynamics into the way a community functions and interacts. Where can I see the research/discussions that went into creating this model to better understand how it might affect community dynamics?


Have you talked to the CreDAO team?

@cslarson has been working on token weighted signalling, voting, and discussions in the context of social forums for about a year and a half now. This work has resulted in the design and creation of multiple Aragon DAOs and applications, the latest of which is integrating SourceCred in a transparent way. Highly recommend dropping into the Keybase chat and seeing if there's any potential synergies or collaborations that would be possible if/when Relevant's code is open source.

balasan commented 4 years ago

Hi @burrrata, thanks for the thoughtful feedback and questions!

What is your connection to the Relevant platform?

I'm the technical co-founder

The Relevant website does not have a link to GitHub or code. The Relevant FAQ does not mention anything about code or open source. Is Relevant open source?

This is link to our github: https://github.com/relevant-community The main app code is not yet opensource. I've been wanting to do a big refactor before open-sourcing as we've been in a rushed MVP mode this past year. Totally in agreement with you about the importance of the code being open-source in order for Aragon to evaluate the proposal, so I'm going to take the next few days to clean a few things up and open source it early next week 😊

Creating a forum for an Aragon Organization - How would this work? Would an Aragon DAO have to install a Relevant Aragon app that collects the data and packages into a format the Relevant API can process?

For the default use-case installing a Relevant Aragon app won't be necessary. On Relevant, any users will be able to input the DAO's address or ENS id and the forum will be automatically generated. We will use the aragon.js API to query the state of the smart contracts from the Relevant server. This will allow us to pull in proposals and query user membership/balance parameters for DAO members that join the forum. Down the line, if we see that DAOs require extra settings/parameters to be set via the smart contract we can create that Relevant Aragon app that will facilitate that. One feature we are also planning is having the community make decisions about forum settings via reputation voting.

How would this work with DAOs that have multiple tokens? Would a specific "reputation token" need to be created in order for the Relevant integration to function?

That's a great question. It easy for us to use multiple tokens to seed the reputation, the tricky part is how the parameters for weighing different tokens get set. The default mode could be an equal split. An advanced solution would enable DAO members to propose and vote on a custom split (ex: token A contributes 90% and token B contributes 10% to the reputation weight).

As part of this grant proposal we will build and deploy features that back up all content and interactions to IPFS (3box integration/IPFS pinning) and release a proof-of-concept app that anyone can deploy in order to interact with the content without relying on our servers.

Our overall goal is to make sure data is censorship-resistant, owned by users and accessible in case Relevant (the company) ceases to exist. To do this propose 4 simultaneous ways to save post data to IPFS:

1. Implement a 3box thread for each forum controlled by Relevant Each Relevant community will have its own 3box thread where all posts are stored sequentially with all the metadata associated with them. This thread can be used to view the sequential conversation or reconstruct a richer Relevant database.

The following three components address censorship resistance.

2. optional 3box thread controlled a user that holds that user's content Each use will have the options to store their OWN 3box thread with their own content.

For the following logs we plan to use Orbitdb's append only log "an immutable (write only) log database. Useful for transactions lists." This is not part of the 3box api, but since 3box is built on top of OrbitDb, it will be easy to add this functionality.

3. an immutable log for each forum that holds references to individual user's threads (controlled by Relevant) This log doesn't have to store full post info and can just store references to individual user's threads and the posts there in. It is sort of like the transaction log.

4. a public immutable log for each forum that holds references to individual user's threads Same as 3. above but public.

Relevant discussion of this general approach can be seen here: https://github.com/orbitdb/orbit-db/issues/567

Future considerations: eventually we would like to allow DAOs to pin their own data without relying on 3box IPFS servers. I know there is an effort underway to come up with a general pinning solution for Aragon so we would be able to utilize/contribute to this effort down the line.

Funding: $79,680k DAI This is a very specific number. How did you get to this conclusion?

We did our usual budget breakdown by task, time estimate and dev and designer daily rates, you can see it here.

One of the recurring themes that the community discusses (summarized in this thread) is how to make the SourceCred system transparent and verifiable so that all participants can understand, participate in, and modify the system to reflect the values of the community.

This is something we are thinking about a lot as well. Aside from imminently open-sourcing Relevant, one of our efforts is to publish more simulations and research (Michael Zargram has been been doing some great pagerank work using cadCad). Eventually we plan on creating a Cosmos sidechain with multiple validators to verify the pagerank computations. In the short term, we plan on implementing the source-cred api so that we can share the tooling join development efforts.

This is a cool feature, but it adds a lot of dynamics into the way a community functions and interacts. Where can I see the research/discussions that went into creating this model to better understand how it might affect community dynamics?

I don't have a link to a specific place where this issue is discussed. For general reputation research the sources that have been most influential are here. I'll go through some of our rationale and experience below:

To clarify, we use explicit upvotes + downvotes for content. So the community dynamics are not dissimilar to reddit or hacker news. In fact because of the reputation weighted voting there is a lot less risk of mob dynamics and user's piling on down-votes. In our experience as moderators of the Relevant Feed it has been useful to encourage users to add a comment with the reason for their downvotes, and reminding them that down-votes are there to identify spam or adjust things that are ranking too high, and not necessarily to signal disagreement. This article about the HN admins is a great example of what we've been striving for and in our view the Reputation system makes this job much much easier.

As far as individual users, if someone downvotes your content your reputation does go down a little bit, but not a drastically as with content. We are experimenting with tracking a negative rep score for users in the backend, but only using it for the purpose of rate-limiting repeated spammers that get more downvotes then upvotes.

Overall we see downvotes as an important tool in filtering content. Especially in an open-source low-censorship settings communities need tools to be able to flag and filter out spam.

Have you talked to the CreDAO team?

I've talked a bit with @lkngtn and excited to dive in deeper and have a more in-depth convo with @cslarson next week!

yeqbfgxjiq commented 4 years ago

This looks awesome. Very into dynamic social/governance projects that enhance human coordination and communication. If you guys manage to optimize UX and attract users this will be amazing.

Looking at your budget breakdown, however, most of the items involve working directly on core Relevant infrastructure. For example, in order to enhance the utility of the Relevant token you're going to design and create functionality that allows forums to deliberate and govern themselves. Once that's in place, you could build functionality to plug the Aragon DAO token in vs using the native Relevant token. Another example is decentralization. If Relevant is going to have it's own blockchain (or even it's own token) it's going to need to be decentralized and have a login/account flow that connects to blockchain accounts. Integrating IPFS and 3Box would enable this functionality as a core feature of the Relevant platform. Once that's built out, Aragon DAOs could then plug into that framework.

All of this would be great if your code was open source, the platform was decentralized, and the governance/deliberation modules were up and running. Then you could apply for an Aragon Nest grant to build integrations that allow Aragon DAOs to plug into this existing infrastructure. As is, however, the Aragon grants program isn't really in a position to fund core infrastructure development for the Relevant platform and/or blockchain.

balasan commented 4 years ago

Thanks for the feedback @burrrata, I understand the concern. In particular, the point about 3Box and IPFS integration makes a lot of sense.

I want to address a few specific points and suggest edits to the above proposal.

For example, in order to enhance the utility of the Relevant token you're going to design and create functionality that allows forums to deliberate and govern themselves.

The self-governance part is not in the scope of the current proposal but one of the features we have planed for the future. General deliberation features are already in place and we are proposing specific integration do display Aragon governance proposal and related signalling. Forum self-governance is a much more complicated features slated for the future that we do not plan to fund via Aragon.

Aragon grants program isn't really in a position to fund core infrastructure development for the Relevant platform and/or blockchain.

Agreed, but want to emphasize that the Cosmos side-chain development is not in the scope of the proposal — I'm only brought it up to offer a better picture of our general roadmap.

In light of the feedback, I would like to propose the following changes + conditions:

  1. We remove 3box integration from the proposal (3box-login + milestone 3)
  2. We open source the Relevant codebase
  3. We build an MVP 3box threads in order to decentralize the content and de-risk Aragon's investment

I totally understand the the early stage of our project is a risk factor. However the fact that it is so early is also an opportunity to tailor the platform to the needs of the Aragon community and build a strong partnership. Just from the conversations that arose as part of this proposal, I feel that there is a lot of alignment on many big issues.

On our side, we are strongly commuted to building a fully decentralized platform but are also facing a lot of traditional startup pressures that tend to push decentralization features (like 3box & IPFS integration) into the back of the priority queue. Working closely with an organization that has decentralization in its DNA would help us execute our vision. Also happy to chat about any other smaller bite-size opportunities for us to collaborate!

yeqbfgxjiq commented 4 years ago

The self-governance part is not in the scope of the current proposal but one of the features we have planed for the future.

It was included as "governance proposal design" in the financials spreadsheet you linked to that determined your $79,680k DAI request. Aragon has lots of different apps that allow for lots of different governance designs. Before we could provide feedback on this we would need to see a design spec on what this would look like. This research needs to be done before we can provide funding. The Aragon Community Funding DAO might be a great place to get support for that initial research and I'd be happy to help you draft a proposal if you'd like.

In light of the feedback, I would like to propose the following changes + conditions:

  • We remove 3box integration from the proposal (3box-login + milestone 3)
  • We open source the Relevant codebase
  • We build an MVP 3box threads in order to decentralize the content and de-risk Aragon's investment

That sounds like a good start. If your code base was open source, the core features of the Relevant platform were built, and research was done to determine exactly how Aragon could be integrated then this sounds like it might be a great fit.

On our side, we are strongly commuted to building a fully decentralized platform but are also facing a lot of traditional startup pressures that tend to push decentralization features (like 3box & IPFS integration) into the back of the priority queue. Working closely with an organization that has decentralization in its DNA would help us execute our vision. Also happy to chat about any other smaller bite-size opportunities for us to collaborate!

The struggle is real! I really appreciate the work you've done to engage with Aragon community members, understand the Nest program, and adjust your proposal so that it's a good fit. If we can get past the blockers identified, then the Nest Working Group will be in a position to evaluate your application.

Are there any other questions you have and/or anything else you need help with to move forward in addressing these blockers?

balasan commented 4 years ago

It was included as "governance proposal design" in the financials spreadsheet you linked to

Ah, I think this is a misunderstanding — this is graphic design and UX implementation specific to Aragon proposals, i.e. what Aragon DAO proposals look like on Relevant.

Will be following up with updates!

yeqbfgxjiq commented 4 years ago

@balasan Just wanted to let you know that we're talking about how Relevant might be useful for Aragon's Network Voting process on the forum. Feel free to chime in if you have any more thoughts or ideas on what this might look like :)

balasan commented 4 years ago

thanks @burrrata!

Also, an update: the Relevant code base is now open source! https://github.com/relevant-community/relevant

I also edited the proposal and removed Milestone 3 (3box integration), making it a prerequisite on our part as discussed above. We'll be diving into the 3box stuff over the next few weeks, will keep you posted!

yeqbfgxjiq commented 4 years ago

Hey @balasan Thanks for the update. We've decided that we're very interested in this proposal as you're clearly committed to the project, engaged with the Aragon community, and the project could provide a lot of value. More social integration with Aragon voting modules can help onboard users to Aragon faster than a traditional DAO that's modeled like a corporation and we'd really like to explore that.

Now that the general idea has been approved by the NestDAO, @pythonpete32 and I will be performing a deep dive to understand the proposal in depth. We will then present a report to the NestDAO members in two weeks and they will make a funding decision. In order to complete the deep dive we will need to schedule a call sometime next week. We will also reach out async (email and/or Keybase) to ask additional questions throughout the next week or so. To get that started:

Look forward to talking soon! :)

balasan commented 4 years ago

That's very exciting news :) I'll reach out on Keybase with the contact info

yeqbfgxjiq commented 4 years ago

It is with great sadness that I must say that we are going to close this application. This because the Aragon community is overwhelmed with the communication channels and apps we currently have. Adding more platforms would spread us too thin. As such we're going to focus on optimizing the platforms we do have. If something changes about the nature of Relevant or this proposal please feel free to reopen this Issue for discussion. We really like Relevant and enjoyed chatting and learning about the platform. Definitely something awesome, but just not something the Aragon community can pursue today.