Voting Concept: 2-Factor Majority

NOTE

see below in “Edits” section for updated system

Abstract

One of the core criticisms for DAO’s in regards to voting is that not everyone’s vote is counted equally. Technically this has not been possible to accommodate due to the exploitation of sybil attacks. The end result has been more or less to alleviate the advantage of sybil attacks by implementing token weighted voting. Whilst weighted voting has been ‘good enough’ as a greater problem is resolved in place of a lesser problem, I propose a hybrid approach that I believe can achieve not only greater consensus, but also maintaining the merits of “skin in the game/shareholder theory” with weighted voting. This system I designed for another project I previously worked for as governance coordinator, where my core focus was on improving consensus and integrity with regards to DAO voting.

Related Info:
Article - Moving Beyond Coin Voting - Vitalik Buterin
Book - More Equal Animals - Daniel Larimer
My previous work - 2-Factor Majority (MahaDAO)

Considerations

Initially I deisgned this concept for another project (MahaDAO), which utilized PFP NFT’s that are minted via locking a minimum amount of tokens over time. These programmable NFT’s are then utilized for both Voting and Staking purposes. Some considerations need to be made here for the purposes of JUP DAO, as it is categorized as ‘Limited Governance’ whereby LFG candidates are up for voting, yet core operations, fiscal/moentary policy, and strategic partnerships remain centralized. In addition, the use of Delegation can be plugged into this without impacting the overall integrity of result.

Given that the LFG votes are multiple choice, and not binary ‘yes/no’ - the thresholds for a majority pass by ‘headcount’ should be adjusted to reflect voter dilution to each candidate. That is, out of 4 (four) possible selections, a majority threshold here would be >26% as opposed to >51%

Proposal Concept

In short, 2-factor majority refers herein to a candidate recieving both the majority of token weighted vote, and the majority of quantitative voters. This is to diminish the pitfalls of ‘pay-to-play’ potentially undermining the community consensus, yet preserving the aligned incentives in regards to ‘skin-in-the-game’ or ‘shareholder theory’. Here we can strike a balance between those who have more to gain/lose with vote outcomes, as well as promoting greater relevance and consensus to all voters irrespective of their purchasing power.

The following is an example for adapting "2FM’ to multiple selection voting rounds, with adjusted thresholds for both a ‘majority pass’ and ‘sybil protection’.

100 / a = % pass threshold
(where “a” is the total number of LFG candidates participating in the voting round)

e.g.
Total JUP voted: 100,000,000
Total Voters: 250,000
Threshold: >25% (62,500 Votes & 25,000,000 JUP)

Project 1 – 29,000,000 JUP (pass) w/ 15,000 Votes (fail)
Project 2 – 26,000,000 JUP (pass) w/ 70,000 Votes (pass)
Project 3 – 14,000,000 JUP (fail) w/ 100,000 Votes (pass)
Project 4 – 31,000,000 JUP (pass) w/ 65,000 Votes (pass)

In the above example, Projects 2 & 4 would clear the Two Factor Majority thresholds, whereas Projects 1 & 3 would fail the Two Factor Majority.

We can see here the balance at play between consensus and ‘whales’ where even though Project 1 received more JUP allocated than Project 2, it lacked overall community consensus. Comparatively, we can also see where Project 3 gained the most votes (consensus), but lacked the support of larger holders to meet the JUP threshold.

In this way we accommodate both the greater consensus of the broader community; irrespective of their JUP holdings – yet this does not hinder the power of large stakeholders that have greater investment and risk/reward incentives.

Sybil Control

With a standalone weighted model (1 JUP = 1 Vote), there is no advantage to dispersing over multiple accounts/wallets in order to game the system. The cost of this approach however, is a diminished representation of true consensus. This has long been a difficult problem in the space, and likely will not be completely resolved without robust “DID” implementation perhaps with zkproofs or other means like iris scanning with Worldcoin.

In the interim of better and more secure Sybil controls, we can consider a minimum JUP amount required to count as 1 vote. This can be calculated by the lowest denominator of the top 90% to 95% percentile of holders. In this way, we invalidate micro balances from being counted as a vote, while maintaining the weighted allocation of these micro-accounts within the overall JUP vote totals.

Conclusion

One of the greatest challenges for DAO’s is to provide a sense of meaning to each participants vote in the landscape of economic inequality. Furthermore, to represent an accurate community consensus that can often be overshadowed by large stake holders. We must maintain good alignments with incentives for both larger stake holders, but also the little guy. I think JUP has done an amazing job so far at achieving widespread participation, however I would attribute this more to the reward incentive rather than a greater interest in the candidates themselves.

What we don’t want – is a widespread sentiment where people care less about who wins because they feel their vote won’t have any significant bearing on the outcome, and that they will get rewards regardless of who wins anyway. Instead, we want to make people feel like their vote really does matter, even if they don’t have much JUP – this in-turn boosts engagement and enthusiasm towards participation and really getting to know the candidates involved.


Thank you for your time, if you have any questions or feedback, feel free to share.



Edits

  • Reworked System with Multiple Choice and Fractional Tally

UPDATED SYSTEM

System Overview

  • Set Minimum % Threshold of Total Participating Wallets as a ‘Pass’ check for voting results.
    E.g.
    Pass Threshold: 30%
    Participants: 1,000,000

Project A: Received 90m JUP and 356,230 Votes (35.6% - Pass)
Project B: Received 90M JUP and 23,554 Votes (2.3% - Fail)

Qualification/Criteria for “1 Vote”

  • Staked JUP amount within the top 95% of all wallets. This makes sybil attacks exponentially costly to attempt, whilst also heavily restricting the potential impact.
    E.g.
    Lowest 95th Percentile Wallet: 35 JUP

Wallet 1: Votes with 30 JUP for Project A (Only JUP amount is counted)
Wallet 2: Votes with 40 JUP for Project A (Qualifies as ‘1 vote’ & JUP amount)

Result: Project A will have 70 JUP, with a tally of 1 Voter.

Multiple Choice

  • Allow partial use of voting power to be allocated to multiple selections. Doing this will also split your participation vote.
    E.g.

Wallet 1 has 300 JUP and votes for:
P1: 0.35 which is (105 JUP)
P2: 0.50 which is (150 JUP)
P3: 0.10 which is (30 JUP)
P4: 0.05 which is (15 JUP)

Wallet 2 has 3000 JUP and votes for:
P1: 0.4 which is (1200 JUP)
P2: 0.1 which is (300 JUP)
P3: 0.5 which is (1500 JUP)
P4: 0

Wallet 3 has 5 JUP and votes for:
P1: 5 JUP
P2: 0
P3: 0
P4: 0
(example of consensus stuffing, since the JUP balance falls within the lowest 5% of holders, only the JUP amount is counted with no voter count.

Combined Result

P1: 1310 JUP w/ 0.95 Votes
P2: 450 JUP w/ 0.6 Votes
P3: 1530 JUP w/ 0.6 Votes
P4: 15 JUP w/ 0.05 Votes

30 Likes

This is a great suggestion and hopefully Meow and the Jupiter team take a look at it.

8 Likes

Interesting but sill not sure that there is a problem here that needs to be solved. CWG has gone on the record saying that they want to refrain from making too many changes too soon - which makes sense. Better to collect more data and go from there.

Specifically regarding this concept, I think it would be useful to leave things as they are for a few more rounds then do an analysis of the completed proposals using this methodology to see if there would have been a significant difference in the outcome. If so, then we could debate this in earnest.

5 Likes

Given the above example, it might be ANY % for either one of (a) Votes and (b) JUP. It can be >35% for JUP and >19% for Votes or vice versa to balance numbers, based on statistics etc…
What I don’t know, is the current conditions for a successful result, in effect. Does anyone have at hand? Asking cause the current conditions might still be relevant, good and safe.

4 Likes

Yes if the context were asking what are possible outcomes of voting – it was already referencing pass thresholds. Both are ‘safe’ – but this approach simply improves consensus (also very safe).

So at current we have 4 LFG applicants in a round, with 2 majority winners. There is only a 60mil JUP threshold for the entire participation total. Here you could say that more than 33% of the vote is a theoretical threshold because you can’t mathematically have 3 applicants that each receive over 34%

So that would be the proposed threshold – 34% of JUP tokens and voters.

Note: With this it is possible to have a deadlock where no applicants meet the criteria for above 34% in both JUP and Voter totals. The reality is, we may have had a result like this already but we don’t know because only weighted JUP is used.

My question to people is simple;
If the top 20 wallets dominated the vote with their JUP against a much greater number of voters with less JUP, then do you consider that ‘consensus’?

Similarly, if most voters supported a project but none of the large stake holders do – then do you consider that ‘consensus’?

Last question – what is the point of voting and having a DAO? It’s to use/delegate to community consensus.

This system is not perfect, its just a whole lot better at actually delivering consensus that has any meaningfulness to it. Currently, we have a pay-2-play system of governance; which is akin to building something for acquisition by the very institutions that defi threatens.

Can ignore this and watch the DAO lose relevance, or integrate it and actually have proveable consensus.

9 Likes

This system can also be used with my other suggestion for ‘multiple-choice selection’ with custom voting power allocation.

So here you would use fractal/decimal to tally up the ‘Voter’ count that is separate from the JUP weighting.

E.g. distributing voting power like such;

Your Total VP: 1000

(select one or multiple).
Project A. - 30% of VP (300 JUP)
Project B. - 20% of VP (200 JUP)
Project C - 15% of VP (150 JUP)
Project D - 35% of VP (350 JUP)

Each would tally as 0.25 for the ‘Voter’ count, more specifically being 1 divided by how many choices you select.

Other examples;

(select one or multiple).
Project A. - 30% of VP (300 JUP) Counts as 0.33 Voter Tally
Project B. - 20% of VP (200 JUP) Counts as 0.33 Voter Tally
Project C - 50% of VP (500 JUP) Counts as 0.33 Voter Tally
Project D - 0% of VP (0 JUP)

(select one or multiple).
Project A. - 30% of VP (300 JUP) Counts as 0.5 Voter Tally
Project B. - 70% of VP (700 JUP) Counts as 0.5 Voter Tally
Project C - 0% of VP (0 JUP)
Project D - 0% of VP (0 JUP)

In this way we can solve the ‘bribe/perks’ offerings for exclusive voting, as all can easily qualify with minor voting power allocation to each candidates. And you can still maintain the benefits of the 2-factor majority system with improved consensus.

4 Likes

Love the ideas. Governance is hard and thinking about ways to make it “fair” is important.

How about quadratic voting?

One downside of creating these custom models is complexity for the layman to understand.

The other challenge is actually testing these models and gathering evidence to make decisions. I think software can help.

Something related but important to think ab imo is voting option diversity = should equal interest diversity. Large populations of people often have many different interest and needs… too diverse to capture in a Boolean type answer or just a few multiple choices.

I remember seeing a platform that took in votes based on hash tags. So a proposal would look like

#cats
#dogs
enter your own hash tag vote

And the final result could look like:
#cats. 59%
#dogs 22%
#racoons 30%
#ferrets. 15%
#spiders. 30%
#amazonian-eel. 1%

Just some ideas.

5 Likes

I support this idea. Thanks for information :clap:

5 Likes

Interesting concept.

Just to play devils advocate here, some thoughts:

  1. Complex systems create additional learning curves and friction (not great for new systems)
  2. Changing the rules, mid-game can have unintended consequences.

I do believe theres some merit with this idea and its worth exploring, but definitely need to keep discussing the details to flesh it out.

5 Likes

Thanks for your feedback.

I would say complex/simple is subjective – to me this is still relatively simple, but that is because I’ve had my head in these specific issues for a while now. We have to remember that this is no simple matter to resolve either, as highlighted in the referenced article and book.

JUP is a new DAO, but it is not a newly designed DAO. You can predict the direction of things by simply observing how the same voting methods and reward incentives have panned out in other prominant DAO’s.
Staying the same course of action is the consequence, but its only unintended to those that are less experienced. The ‘rules’ have been relatively the same throughout most DAO’s over the years previous – delaying the opportunity to evolve into something better, with the benefit of hindsight… that is the greater consequence.

Nonetheless, we can wait a few months for better UI and governance dashboard analytics. The data wont surprise me, and the issue of consensus doesn’t go away with the current model; it just becomes more apparent until enough see the need for changing the rules.

4 Likes

So quadratic voting is basically tapers off the voting power of larger stakers and incentivizes wallet splitting to retain more voting power. This 2FM system has a similar flaw with encouraging wallet splitting to try boost the voter consensus count, but it is incredibly limited in impact due to this small part;

So what this does is add an increasing cost to try an sybil attack the system as it is based on a minimum percentil or ‘holders rank’. Basically it sets a minimum JUP balance required for the system to consider your vote as “1” voter".

Do agree with your suggestion on running this through sims and software to refine it more - specifically the sybil resistance part.

So here is updated concept that is more simplified and concise.

System Overview

  • Set Minimum % Threshold of Total Participating Wallets as a ‘Pass’ check for voting results.
    E.g.
    Pass Threshold: 30%
    Participants: 1,000,000

Project A: Received 90m JUP and 356,230 Votes (35.6% - Pass)
Project B: Received 90M JUP and 23,554 Votes (2.3% - Fail)

Qualification/Criteria for “1 Vote”

  • Staked JUP amount within the top 95% of all wallets. This makes sybil attacks exponentially costly to attempt, whilst also heavily restricting the potential impact.
    E.g.
    Lowest 95th Percentile Wallet: 35 JUP

Wallet 1: Votes with 30 JUP for Project A (Only JUP amount is counted)
Wallet 2: Votes with 40 JUP for Project A (Qualifies as ‘1 vote’ & JUP amount)

Result: Project A will have 70 JUP, with a tally of 1 Voter.

Multiple Choice

  • Allow partial use of voting power to be allocated to multiple selections. Doing this will also split your participation vote.
    E.g.

Wallet 1 has 300 JUP and votes for:
P1: 0.35 which is (105 JUP)
P2: 0.50 which is (150 JUP)
P3: 0.10 which is (30 JUP)
P4: 0.05 which is (15 JUP)

Wallet 2 has 3000 JUP and votes for:
P1: 0.4 which is (1200 JUP)
P2: 0.1 which is (300 JUP)
P3: 0.5 which is (1500 JUP)
P4: 0

Wallet 3 has 5 JUP and votes for:
P1: 5 JUP
P2: 0
P3: 0
P4: 0
(example of consensus stuffing, since the JUP balance falls within the lowest 5% of holders, only the JUP amount is counted with no voter count.

Combined Result

P1: 1310 JUP w/ 0.95 Votes
P2: 450 JUP w/ 0.6 Votes
P3: 1530 JUP w/ 0.6 Votes
P4: 15 JUP w/ 0.05 Votes

Hopefully this is a bit more clear and fleshed out.

3 Likes

I’m in favor of the current voting system evolving along the lines advocated by @worza . I won’t go into the technical adjustments mentioned above. My concern is rather with the means to be implemented so that more catdets can educate themselves on the governance issues at the heart of the DAO project. One option would be to set up a working group to provide education on different governance systems, in the form of comparative studies, for example.

In effect, this would mean obtaining support via the current system from those who run it, in order to finance work aimed at potentially abolishing it!
It would be unprecedented in the history of mankind😹 but we’re catdets😼 and heading for Jupiter: we need to give ourselves the means to achieve our ambitions!

5 Likes

I like the idea a lot since it basically mirrors the way Switzerland governs its country (which works quite well given the prosperity and QoL):

For a proposal to pass you not only need the majority of all votes in the country (51%) but also the majority of districts. This takes some voting power from bigger districts in favor of the smaller ones.

Example:
2’000’000 / 3’500’000 voters say YES; 15 / 26 districts say YES => PASS
2’000’000 / 3’500’000 voters say YES; 12 / 26 districts say YES => FAIL

Important to note is that not all proposals require the district majority

In addition to that, and to specifically address the economic factor that plays a role here (for some, $100 in JUP is a big deal, for some its nothing) I’d argue for a “social proof of work” factor as laid out in this thread initiated by @d3f4ult: How to create the first manipulation proof DAO - #4 by rstnpce

Ultimately, I’d mostly agree with @BlueZenith when he says we need more data before implementing changes. The voting mechanism is not something that we should change often (if at all).

5 Likes

I really like the balance of what this concept conveys and I too hope that JUP takes a look at this. I’m new to all this and I want to get the rewards just like the next person, but I also want to become involved in the community and learn all I can.

4 Likes

I have designed a different system relate to this as wel. Will share in new thread as its about 10x more complex than this thread.

3 Likes

Awesome, looking forward to that. And agreed, complexity will be challenging.

2 Likes

Here is the other system I’ve designed.

Have also updated this thread to include the refined version with multiple choice and fractal votes.

4 Likes

No offense but this is way too complicated. Simple is better, especially for a DAO this big

3 Likes

No offense taken :slight_smile: I will say however that “Simple” or “Complex” are subjective terms, and that whatever is deemed simple, is not always ‘better’. Take the design of your computer for example – the first one was rather big and complex. Many did not see the value because they lacked the experience to see or comprehend it.

To me, this system is very simple – if you want something that I consider complex, see the other thread I shared. Simple or complex – it does not matter, many of these systems are backend design, so the frontend user doesn’t necessarily need to understand how it works – much like everyone using a computer that doesn’t know how each hardware component actually communicates with the others.

Do you have a suggestion on how to refine the system to be more simpler? Or perhaps you have a new idea entirely on how to improve sybil resistance, consensus, and privacy preservation?

4 Likes

I like the concept of democratizing our governance a bit more. If we look at governance in an unbiased light, there is little difference between that an many centralized governance systems. In web3 governance, it seems to the ‘regular’ guy that whales have an oversized say in how projects work and make decisions. There are many cases where whales will have exclusive access to the Team. Their opinions seem to carry more weight.
(soft pitch incoming)
How is this any different than our corrupted political institutions and the corporate influence that dominates?
I’m speaking from an American perspective and understand that the world is not the good ole USA…even if that’s what i was taught in school, but i believe my point to be valid almost universally.
I think we do things better…I feel a lot more empowered in this ecosystem than i do in any RL governance i participate in.
But do we really do things different? i mean really? not by much.

You have a couple other posts that i’m going to check out. I think having a conversation about governance models is something that deserves more attention. Regardless of which direction this conversation takes, your idea of
2FM voting should definitely be considered. If nothing else, as a temp metric for the community to see. This way we can see if we are moving in any kind of direction.

3 Likes