Discussion: Best practices for community spend proposals and voting

We are very excited to see community identify useful tooling and application for the network and propose solutions that are beneficial for the long term health of the network. On-chain governance is new for us, and we’re collectively establishing norms with each proposal and vote. That’s why it’s important to have an open discussion on processes and best-practices.

There has been work around best practice governance proposal by Figment in the Cosmos ecosystem. Having considered recent proposals, here are my suggestions for how to think about spending the community pool

Observations about proposals:

- Off-chain discussion with numbers: 1 week decision period is too short to vote on such proposals which require a longer discussion. I think we should have more off-chain / forum discussion before proposals are submitted as network proposals. Once a proposal is posted on the forum, it should include a budget, not just the proposal itself. This allows community to react and discuss proactively.

- Milestone based approach: When applying for community funding, I encourage ecosystem participants who are submitting these proposals to have milestones. I also urge that funds be distributed based on completion of the milestones. For example, when a proposal is submitted there are 3 milestones (last one being completion of all tasks), if a proposal is approved, the first payment is done after the approval and the other disbursements are conditional to completion of subsequent milestones. This ensures that teams have the incentive to follow through their work and ensure proper use of community funds. This also provides team an initial budget to start their work. I realize that the current community spending module does not accommodate milestone based approach. In order to overcome this, we can consider two approaches:

  • submissions can be made for small amounts and shorter milestones. With a longer vision, budget and time horizon in mind. For example, I can ask for 100K SCRT for the first milestone of a project that I have propose a budget for 300K SCRT. I would detail what I want to achieve in milestone 2 and 3 but really focus on getting very specific on milestone 1.
  • Funding can go to an independent organization that distributes the funds as milestones are achieved.

- Detailed time-specific description of milestones / deliverables: I do not see timelines in some of the applications. It would be great to tie deliverables into milestones and set time estimates around these deliverables. Without timelines, it is very hard to assess the success of the process. For example if a product takes 2 years to build it’s probably not the best use of community spending at this moment (just an illustrative example)

- Use-of-funds: It would be great to have more information on:

  • How will the funds be used?
  • How long will the funds last?
  • How does the team continue to provide value to the network / maintain the project after the funds are used?

- Type of the project and funding mechanism: How do we distinguish between projects that are purely serving the community (open source tools like a testnet) vs. product / application ideas that are for-profit. While the success of an application is valuable to the entire ecosystem, it’s different than a community tool. Do for-profit entities have a way to contribute back to the community pool? Maybe the secret contract collects funds and some of them are directed to the community funds. Do we want the community pool to be seed funding for application ideas or a small grant to get a project going and give them the opportunity to make progress and raise external funding?

Observations about voting:

  • Currently all the votes we have are yes. This may be because participants feel it’s not worthwhile to vote abstain or no. Or it may be because participants don’t feel comfortable saying no in a way that’s visible to the network and hurt relationships with the proposers. This to me shows how important it is for us to integrate Secret Voting module in the future.
  • When I am voting personally, I think is it something that I would have paid for out of pocket (partially). This is how we should think about these proposals because community pool is staking rewards that validators are foregoing

My main feedback is that we need a better process to make sure the community pool is spend in the best way possible. These funds belong to the community and we should ensure that proposals pass a high standard of assessment before getting approval.

These are community funds and it’s up to the community to decide. I don’t mean to discourage anyone. I am just offering my feedback. Please let me know what you think, if you disagree with me let me know. This is our community and together we will make it stronger!

Cheers

13 Likes

Great post.

If the community pays for an application or a feature, who takes ownership of that application or feature? I like the idea that any profits that are generated from community funded application or feature should be given back to the community. With community funds, we would essentially be be hiring independent contractors to build functions or apps for the protocol. Once that Feature or app has been built, profits generated by that feature or app should be given back to the community.

Who will write out these independent contractor contracts?

I also think that a Detailed and itemized p&l should be submitted at each milestone prior to giving more funds to go onto the next phase.

I also think that secret voting is incredibly important. When do you think we can get this feature? Will we be able to do computations on the votes, to determine if there is collusion in voting etc? Also how will stalkers know if their validators is voting the way they say they will vote?

1 Like

I think people should have some upside if they are committing themselves to application ideas. However it would be good to create a structure that the community pool can benefit from this success as well.

This may be an overkill, but definitely there’s a need for a detailed use of funds analysis

This will need to be implemented as a new module to replace the current governance module. This is not something we will get to work on before launching mainnet with secret contracts. You can’t really determine collusion but you’d remain anonymous as a voter.
Regarding delegation, each SCRT holder can cast their own votes regardless of what the validator (who has the delegated tokens) vote for. The default setting is that validator votes and if you as a holder of SCRT need to change your vote you can do that on your own

2 Likes

So we wouldn’t be able to determine collusion? Is there anyway to implement a quadratic voting System or something similar to mitigate voting fraud risks?

I love a lot of what I’m seeing here and think we absolutely need best practices established. Though I do have a question about secret voting.

In regards to secret voting I am excited but it brings with is a pretty serious question to be answered.

If secret voting is added and regular open voting doesn’t remain, then can’t Enigma secretly control the entire network?

I strongly believe regular proposals should remain and secret voting should be an additional option, otherwise things could get dicey.

3 Likes

I agree with your concern. Collusion is always a concern with secret voting and there should be a way to mitigate this risk. Computations on the votes should be able to be performed using an algorithm that detects collusion. I imagine a scenario where if the algorithm detects potential collusion, the votes will be displayed for people to see.
Do you think quadratic voting or other types of voting can mitigate the risk of collusion?

1 Like

What do you think of just having both and open and secret proposal voting setting?

Is there legitimate reason to make all proposals have secret voting without the option for open voting?

What if someone doesn’t want the votes for their proposal to be private?

1 Like

Perhaps there is a way to mitigate. Needs research I’d say. In the short term i strongly prefer having both options.

2 Likes

I’d suggest to park voting discussion for now. I take your feedback - you guys raise important points. It’s b/c we won’t be able to implement it for another 3+ months and I don’t want this thread to turn into a discussion about voting. Happy to discuss it in this post about secret governance.

1 Like

I’m extremely excited to see how well governance and proposals have played out so far. I’m equally excited to see the network giving an opportunity to different community members to contribute back to the ecosystem, while properly funding them.

At the same time, I also do think we should improve process-wise. I mostly agree that we need:

  • To have prior, open discussions at some venue (e.g., the forum, or any other place for that matter), before submitting the on-chain governance proposals.

  • To have a detailed plan for spending and milestones, and to split the proposal to several smaller proposals each requesting the bounty from a single milestone.

While I am equally excited about secret voting, I do think that can be parked for now.

3 Likes

Secret Voting is a cool idea, agree on all observations about proposal.