Grant Round Improvements Discussion

Secured
#32
Anton, I suggested something similar and the legal working group looked into it. In essence, because you would be controlling your portion of of the grant pool, it opens up all kinds of potential legal and tax
Nothing about the value of your opinion. I don't think I have expressed this.

As you suggested in the past (see recent quote) it is just about expliciting the link between efficiency and voting power as a way to incentivize ANO to participate to the pool.

Have you changed your opinion meanwhile?
Really surprised by your reaction.
 
Secured
#34
Matthias, please note that my response was not said in anger or even with emotional reaction. :) I realize that very likely didn't come through in text though for which I apologize.

I haven't changed my opinion that we need a better solution and that tying it to efficiency would be one way to do it (although the tax/legal implications are there).

But it's imperfect because sometimes the most efficient way to handle a situation is by reducing one's efficiency and then the opinion of that team which is theoretically solving a problem becomes discounted by the system. This is a problem because it makes me want to raise my efficiency so Factomize gets its voting power and no doubt other teams would do the same. But the reality is, at this stage of the game, some ANOs need to be agile with efficiency to handle situations between grant rounds. But this will penalize them.

Is it still worth doing? Maybe.

But I hope there is a more sophisticated solution.
 
Secured
#35
Thanks for this clarification. Text messages are bad for that yes :)

I perfectly understand your point. And your example is a good one for sure. I would say there are two answers to that.

First, let's say you increase your efficiency and you still think there is a need to do something which is not done. You can apply for a grant. If this is something crucial for the community for sure HashnStore will support you. And I guess many people will think the same way.
I understand that at the stage of our ecosystem this is (was?) not agile enough. In your opinion, would it be something possible in the coming months?

Moreover, if at some point we have a standing related to the amount of FCT then you see the issue of a potential ANO with 0% efficiency and staking FCT. It will have more power from this perspective (except if it liquidates all its FCT) and still the same amount of power as an ANO.

But anyway if we do not find a solution for the legal issue it raised, it would be impossible to implement.

Proposal to solve my second point: an ANO cannot cumulate its standing from its ANO position and from its staking.
 
Secured
#36
We're getting there. And I've begun pondering going the grant route soon.

However, being a development ANO brings inherent risk that infrastructure ANOs do not have. Hiring a dev and being at the mercy of FCT whether that FCT is from lowered efficiency or a grant is risky. When you're building a product that may bring you revenue in the future, it's easy to justify. But creating solutions for the community?

We have to be VERY VERY careful not to penalize those who are working their asses off for the good of the protocol as some are already finding the motivation to continue to do so difficult at times.

With that said, I think a few of my neurons may have come up with a solution while I write this. Let's see if I can articulate it in my next post.
 
Secured
#37
Proposed Solution

1. You cannot vote for grants you are a part of or of entities you have financial interconnection with.

2. Each ANO gets 50 points per grant round. Note that 50 is an arbitrary number I'm using here and analysis will need to be performed to find a correct number.

3. If an ANO uses 30 points this round, 20 voting points carry forward to the next round so their votes can carry extra weight in the future. So they'd be able to vote with 70 points in the future.

4. Grants still have to get above X to be considered and a single ANO can only account for X% of the total (maybe 30% as an example) so that three ANOs can't push through a single grant, there needs to be a little more buy in. To avoid the issue of small grants not being voted in, there would be a sliding scale requirement based upon dollar amount:

1. Less than $1,000 requires X total votes or more.
2. $1,001 to $5,000 require Y total votes or more.
3. $5,001+ require Z total votes or more.

For purposes of ranking which grants were added first, the reduced amount of votes required would simply be added back in.

This way if I don't think highly of certain grants, I don't have to vote for them and they are still less likely to be approved. If I think VERY HIGHLY of a grant most others don't, I can play a larger role pushing it forward.

This is similar to my original proposal and solves the same problems without the tax implications of controlling funds. You simply can have greater voting weight and put greater or less weight behind certain grants.

And it would be relatively easy to code and be transparent and accountable.
 
Last edited:
Secured
#40
3. If an ANO uses 30 points this round, 20 voting points carry forward to the next round so their votes can carry extra weight in the future. So they'd be able to vote with 70 points in the future.
I'm wondering if an approach like this disincentivizes people to vote for small grants and instead save up for voting on large grants. Their voting power would carry a lot more weight with high priced grants, thus creating unintended consequences.

I wonder if we do a scoring system like this:
A. 100
B. 85
C. 70
D. 60
F. No support

If half the ANOs, vote "No support" (or whatever percentage we decide), then the grant is automatically dismissed.
If less than half vote against, then all the "No Support" votes count as a score of 30 (or whatever we decide), and then we average from there.

This idea is not totally thought out. The takeaway though is that it is a hybrid solution between the binary system (vote yes or no) as well as the scoring system (provide a score).
 
Secured
#41
I'm wondering if an approach like this disincentivizes people to vote for small grants and instead save up for voting on large grants. Their voting power would carry a lot more weight with high priced grants, thus creating unintended consequences.
I'm not a fan of your scoring system (no offense) but this is a valid criticism (than you). It can be remedied by having different dollar amounts require a different number of votes. For example:

1. Less than $1,000 requires X total votes or more.
2. $1,001 to $5,000 require Y total votes or more.
3. $5,001+ require Z total votes or more.

For purposes of ranking which grants were added first, the reduced amount of votes required would simply be added back in.
 
Secured
#42
I really like this solutions conceptually.

The problem I see in it potentially is that it is complex, and when you add complexities to a system, it means that those more savvy and taking more time to game the system gain additional power. I want politics and gaming to play as small a role in the factom ecosystem as possible. I want some developer ANO with awesome talent but that doesn't spend a ton of time strategist around the factom community to have as much power as possible relative to an ANO that spends a ton of time steeped in the community and understands how to play the system.
 
Secured
#43
There will be no simple solutions to this problem. You like the idea conceptually for a reason. If we want to actually move forward as an ecosystem we need to implement conceptually sound solutions and refine them as necessary (or adopt better solutions in the future) rather than get analysis paralysis.
 
Secured
#44
What im worried about here is that by introducing huge complexity, we really do need to work through a myriad of attack vectors and that takes time.

I worry that we will be introducing more overhead and attack vectors than we are taking away, regardless of how cool the solution is.

We currently do have a path laid out for how we distribute power via standing parties, and I think for me to support any radical departure to a system like this, I have to be shown why the current path is broken (there are problems with it, I do agree), and why this new solution fixes more of those problems than it introduces its own.
 
Secured
#47
In theory, I like @David Chapman's system, but I worry about potential things such as:

- If an ANO decides to not fund anything in a particular grant round (0 out of 50 used), do they have 100 voting points in the next round? I know you mentioned a sort of cap or threshold [say 30% like you alluded to], but I just want to make sure that ANO's can't just continue to accumulate voting power into eternity by abstaining to vote or voting as little as possible to squeak by... even if there is a cap as to how much voting power they can exercise in a given Grant round or towards a specific proposal.

- Are ANO's disincentivized to do their due diligence (reading and reviewing all Grant proposals thoroughly) in knowing that by simply not voting (or voting weakly), they will have carry-over voting power into the next Grant round? I would love to see all ANO's incentivized to perform proposal analyses and vote accordingly.


On another note, I like David's sliding scale of votes needed for grant approval in terms of determining thresholds depending on size of Grant funding requested. In simpler terms, I like his 1,2,3 ... X,Y,Z system to hopefully encourage small, medium, and large grant funding -- as opposed to just large grant funding being focused on.

Also on another note, I agree with David that efficiency should not be used to determine voting power mostly because I believe and trust that ANO's with low efficiency are demonstrating provably valuable work in terms of developing and building out the protocol; I agree that these low efficiency ANO's should not be punished via a reduction of voting power (unless, of course, they are not delivering on their promises in some way).

I guess for me, in the formulation of a solution to this problem, I ask myself what I want to see:

- I want voting to be incentivized, in general
- I want voting to be balanced based on small, medium, and large scale Grant funding requests
- I want to reduce gaming
- I want the protocol to succeed based on the careful balance of rewarding the right interplay of work and pay

I am trying to come up with a solution, but as a refresher, could someone please remind me of exactly how voting and scoring was delivered in Grant Rounds 1 & 2? I want to clarify the context of how the process went down, then, I want to come to a clear understanding of the exact problems we ran into. I apologize for my ignorance on this btw, and I am re-reading back in this thread and others to iron out the exact details. Thank you in advance!
 
Secured
#48
Additional proposal:

Remember Paul's stablecoin?

1. Make the stablecoin give you voting rights. It is "Staked FCT". This gives us Proof of Stake Standing Party and arguably, Grant Success as well.

2. The grant pool is automatically converted to stablecoin as it's "funded" each block.

3. When a grant round is announced, the dollar value of the grant pool in stablecoin is determined on that day. That's the budget for that grant round. Any additional stablecoin go to the next grant round.

4. Grants are priced in $ stablecoin.

5. Awarded grants are paid out in $ stablecoin.

6. There is an X% fee for converting stablecoin to FCT. My initial thought is 2%. That 2% is taken once per month and awarded to those who voted in Y% of votes for that month. Incentivized voting.

Benefits:

A. Grant recipients can now properly budget and we don't have the issues surrounding the volatility of FCT.

B. There is much less reason for bad actors to try to game the price of FCT to influence grant round payouts.

C. We get new Standing Parties.

D. This provides the stable coin with additional utility and we get instant "delegation of votes".

E. People are incentivized to take part in the voting side of governance.
 
Last edited:
Secured
#49
Hey everyone, for those who celebrate the holiday I hope you had a Merry Christmas and a chance to unwind a little bit with good food and family or whatever your tradition is. :)

Let's recap this thread a bit. The issues I've seen brought up:

  • ANOs not being allowed to vote for their own grants or grants they're affiliated with
  • Fixing the scoring/voting system
  • How to denominate grant amounts
For the first item, it seems to be fairly uncontroversial that, going forward, we should not allow ANOs to vote for their own grants as well as ANOs with significant financial or business affiliations to an ANO proposing a grant. Tor and I will add this to the document for the next grant round unless we see objections in the meantime.

The second item is significantly more complicated and I've seen a number of interesting approaches suggested. Unfortunately, I am concerned that we don't have the time to properly analyze the more complex proposals before the next grant round takes place. The Guides are targeting the grant round review to begin at the end of January, and that means we need the document finished before then. I propose that we continue to discuss proposals for fixing the scoring but in the meantime we implement one of the more simple solutions for this next round. I personally like Anton's suggestion of 1, 0, -1, where you either support, abstain or do not support a grant. It seems the least open to gaming and therefore the most easy to implement in a short period of time.

The final item above is one we've hashed out several times and don't have a good solution for. David's suggestion above could be a good one but needs time to be analyzed and also implemented. I currently don't have a strong opinion about the best way to approach grant denomination for the next round and would be fine with either FCT denominated or fiat denominated. The only thing I don't recommend is mixing the two. One issue with fiat denominated is there will still be a several week period between when the final fiat values are decided and when the grants get paid out. There's only so much that time period can be reduced and as long as we maintain the 1000 block maturation time, it will always remain a long enough time period that the price of FCT could change significantly. That being said, I'd be willing to try fiat denominated grants again this round, while we work on other potentially better solutions (such as David's proposal above).

What are people's thoughts on these approaches?
 
Secured
#51
Thanks @Samuel Vanderwaal for summarising all issues :)

For the first item, it seems to be fairly uncontroversial that, going forward, we should not allow ANOs to vote for their own grants as well as ANOs with significant financial or business affiliations to an ANO proposing a grant. Tor and I will add this to the document for the next grant round unless we see objections in the meantime.
De Facto, and I guess all Guides & ANOs, will support this.

I propose that we continue to discuss proposals for fixing the scoring but in the meantime we implement one of the more simple solutions for this next round. I personally like Anton's suggestion of 1, 0, -1, where you either support, abstain or do not support a grant. It seems the least open to gaming and therefore the most easy to implement in a short period of time.
Thanks for support, you exactly described my thoughts about how to avoid gaming on grant voting.
Simple + transparent voting system without complex scoring will be great, De Facto will advocate for this solution.
But if implementing this system, we need to discuss & decide "the cut level" — conditions, which grant should apply, to get in the short list (or conditions when grant should be automatically dismissed).

I suggest, that grant should apply 2 conditions:
1) If 3/5 of Guides vote -1 (exact vote "do not support", not vote "abstain"), the grant is automatically dismissed
2) If 1/2 of ANOs vote -1 (exact vote "do not support", not note "abstain"), the grant is automatically dismissed
 
Secured
#52
I propose that we continue to discuss proposals for fixing the scoring but in the meantime we implement one of the more simple solutions for this next round. I personally like Anton's suggestion of 1, 0, -1, where you either support, abstain or do not support a grant. It seems the least open to gaming and therefore the most easy to implement in a short period of time.
You're going to have to change governance doc 001 if you decide on this method AND come up with a method to determine some sort of cutoff for funding (60 points is the current cutoff). I'm not against the method mind you, just pointing this out.

I suggest, that grant should apply 2 conditions:
1) If 3/5 of Guides vote -1 (exact vote "do not support", not vote "abstain"), the grant is automatically dismissed
2) If 1/2 of ANOs vote -1 (exact vote "do not support", not note "abstain"), the grant is automatically dismissed
We REALLY need to move away from Guides being able to gatekeep anything like this. It's centralization of power.
 
Secured
#53
We REALLY need to move away from Guides being able to gatekeep anything like this. It's centralization of power.
Yes, this makes sense.

I want to also discuss technical things:

1. @Alex @Paul Bernier @Tor Paulsen @David Kuiper how do you think is it possible to use binary voting like suggested with onchain voting prior next grant round?

2. @David Chapman If implementing this type of voting (we haven’t decided yet, just discussing) based on current Factomize voting, I guess it’s not a big a deal to tune current polls into -1/0/1, right?
 
Secured
#55
Thinking about this more, while there are some issues with scoring, I think the main issue was certain ANOs not exactly abiding by the grant structure provided. I'm wondering if we are better off revamping the grant structure and then announcing that any grants that do not adhere to the rules will be immediately dismissed.
I don’t think it is what we need. The idea of dismissing of grants is blocking certain grants by majority of against votes.

The grant idea may be good, but an overpriced or not in time. Or other situations. You can not declare it by set of rules.
 
Secured
#56
@Anton Ilzheev This has nothing to do with price. It has everything to do with things like:

*Not breaking up a huge grant with unrelated projects into smaller grants as required
*Not providing basic deliverables or high-level resources dedicated
*The backpay issue (which I personally would like to see changed)

Think of how much time the community had to spend last grant round on the above issues. It was a giant waste of everyone's time.
 
Secured
#58
@Anton Ilzheev This has nothing to do with price. It has everything to do with things like:

*Not breaking up a huge grant with unrelated projects into smaller grants as required
*Not providing basic deliverables or high-level resources dedicated
*The backpay issue (which I personally would like to see changed)

Think of how much time the community had to spend last grant round on the above issues. It was a giant waste of everyone's time.
If it will complete the dismissing by majority of voters, but not replace it, I agree that such terms should be added into Gov
 
Secured
#60
Regarding voting, in my opinion, binary voting doesn't solve much, doc 001 has to be amended, and it creates new issues like how to do the funding cutoff.

Let's look at the more fundamental problems with our current system:

1. Ability to vote for your own grants or those you are financially connected to. I think the consensus here is this is easily solved and most want the solution.

2. With the 0-100 scoring, with the above issue removed, the problem is the subjectivity, ESPECIALLY when you have as many votes as you want. This is part of the reason I suggested giving each standing party X votes and letting them carry forward to the next round. People liked that conceptually but they were worried about how it might complicate things which is fair. So let's be more conservative and take one step forward instead of two. We create a formula where each Standing Party gets X votes just for that grant round. For example, let's say there are 10 grants. Each Standing Party would get 40 points for each grant they have a right to vote in. So if I had no conflicts of interest, Factomize would get 400 points to award across each grant. We don't have to award them all, but they don't carry forward.

Making votes a limited commodity should result in much more thought into how grants are scored by each Standing Party. And lower quality grants will be much less likely to be funded as they wouldn't hit the 60 point minimum. Doc 001 would also not need to be amended and we'd have easy ranking and cutoffs.

Under this system, I'd recommend the tiers required to be passed which I alluded to above as well.

1. Less than $1,000 requires X total votes or more.
2. $1,001 to $5,000 require Y total votes or more.
3. $5,001+ require Z total votes or more.