Voting mechanism

I currently see three ways of casting a vote on MIPs:

  1. directly on-chain where every block producer casts their vote, as a representative of every person who decided to delegate to that block producer
  2. developing an official voting snapp (which vould eventually even serve as a real world proof of concept) where every person who owns at least x MINA can cast their vote on proposals
  3. using a 3rd party off-chain tool like Snapshot.org or similar

Allowing users to vote directly via an official Snapp (2.) would allow for more direct and more decentralized governance and voting opposed to letting only block producers cast a vote, while representing their staking pool with their vote.

What does everyone think about the three different approaches I mentioned?

Additionally, if the decision will be made to cast votes on MIPs with the help of a Snapp, would that be an application that MF/O1labs could possibily even develope in direct cooperation with the community (potentially selecting different devs from the community that will be given the task to develop such snapp in cooperation with MF/O1)? Giving the community the possibility to develop the voting mechanism to vote for MIPs would be a very cool first “official” Snapp.

3 Likes

Hi Trivio,
I don’t know from a technical perspective, but Number 2 is definitely something I would support. I think that it makes so much sense to develop a Snapp in order to vote.

It will work on a number of levels… firstly it will help the community to engage and feel connected with the project, plus it will show off the capabilities of snapps in a real world use in a way that will inspire further advancements and ideas.

If the question is representative vs. direct democracy, I think representative is preferred for two reasons: 1) MF / O(1) have stated they will delegate their votes without which they control the outcome of every vote, and 2) delegates are more likely to be involved in the protocol and have a more in-depth understanding of protocol functionality.

While option 2 could include a delegation feature - it would need to re-develop safeguards to monitor and prevent single or a few large delegates being in control. This is already being done for staking delegation, so re-using delegated stake as the voting weight as in option 1 is a simpler solution with fewer moving parts.

Similarly, a snapshot is needed regardless of the method, but if the vote is based on delegated stake, then an epoch provides a natural start and end point and the relevant staking ledger is a natural snapshot.

As for the implementation, a voting Snapp would seem to be a reasonable approach regardless of the decision on who should vote, or what is used for the snapshot to validate voter eligibility and weight.

The weighting algorithms could be more intricate, such as using a quadratic voting mechanism to more evenly distribute weight if certain wallets are too powerful i.e. to smooth out exchange weight. (This could also be a counter-argument to my objection re: option 2 and safeguards.)

4 Likes

My only issue is with option 2 is if we set certain number low people can abuse it with multi wallets if we set high than that’s not inclusive so whatever you do that kind of system actually work. Either you make 1 mina=1 vote weight which is not good either but at least fair and not exploitable or you create a whole system for this voting mechanism which is very early to do atm.

1 Like

I agree, @EmrePiconbello, things could get abused easily if every account would be allowed to vote and 1 Mina = 1 vote would greatly benefit accounts with big balances and could basically decide the outcome of a proposal without any issues. To elaborate on @jrwashburn’s thought on introducing some sort of quadrating voting function, a minimum balance of n Mina could also be required in order to cast a vote.

The blue graph is representative for ‘1 Mina = 1 vote’

The green graph is representative for ‘1 Account = 1 vote’

and the red graph could be representative of a quadrativ voting function, including some possible thresholds t_min, the minimum balance required before an user can cast their vote, or potentially even soft or hard capping voting power of accounts with a balance >= t_max at some point

Obviously such a system would require a lot of thought in order to allow everyone to vote at least “equally fair”, while still allowing everyone to effectively cast their vote and have a say. Those are just some thoughts that came to my mind and I wanted to discuss possible outcomes and benefits

3 Likes

There are some projects working on doing 1 people 1 vote mechanism with various tech. I think we can achieve some kind of system close to that or get data from these projects.

1 Like

Lots of things to think about, really great to get a technical perspective. So the basic consensus is that need a system that is both democratic, but not open to potential abuse?

Setting both a min AND max balance like in the quadtratic voting sounds like a great idea. If there was a big enough pool of participants eligible to vote, do you think would this nullify the potential abuse/motivation say if a large holder(s) split down their balances into smaller wallets just below the threshold?

Such a mechanism would certainly need a lot of thought and game-theory’ing (if thats even a word), but such a function could certainly provide great benefits especially for normal users if the parameters and circumstances are carefully set

1 Like

Personally I think it’s important not to underestimate how new implementations and progress is viewed by the Mina community. Having an intelligent voting system would take the project to a new level.

It would also attract new external interest in the project.

2 Likes

By example Mirror protocol use this way for governance with threshold, you have to stake and then you have a 1:1 voting strength. You get rewards for voting incidentally.

Personally, I am not in support of on-chain voting as a process to progress improvement proposals. In part because i find the entire idea of on chain governance for token holders as a theatre and a number of holders are not technically aware enough to vote on changes and are largely driven by emotions or metrics which may not be in favour of the long term heath of the network. This is a recipe for un-necessary friction & drama.

Whilst neither of the above two can be avoided I would personally prefer and find it safer to have some form of representative democracy where important decisions are made by a combination of foundation members & selected community participants from developers, zkApp devs, infrastructure providers to vote on changes.

Currently the foundation is aware and are collecting sentiment on any changes which could be controversial. And going forward , it would be great if there are transparent meetings which discuss and decide on the route to take. Basically, take a page of of the ethereum governance .

Realistically there’s no way to include each and every voter for on chain governance because most don’t care enough to read the proposal and vote. So I recommend a republic style of voting utilizing the validators which is what most chains do. Which would allow the validators to control the votes dependent on the amount of MINA they are delegated. However I also believe implementing the quadratic formula listed above for voting weight would make it more fair AND improve blockchain security long term.

An added benefit of this Republic style of voting is if being a very big validator offers a diminishing return for governance votes then whales/institutions will be incentivized to spread their Mina to different smaller validators or open up several of their own validators. This in turn will increase the security of the blockchain as it would likely increase the amount of unique validators. While it may not do anything about exchange POS centralization it will encourage the whales who don’t want to open up their own validator to spread it to the smaller guys.

This is a unique idea to implement because several blockchains risk centralization and have security issues when certain validators become too big. This has been evidenced in several POS systems like Harmony One where they had to hold a special governance vote to fix a potential issue caused by a validator gaining too many votes. Another notable issue is, the Harmony One team had to publicly post a large holders wallet address on their subreddit and ask them to split up their stake because they had millions of dollars in their coin delegated to only one validator. I believe we can use these issues as a learning experience to help prevent them from happening to us.

Another issue is most voters also don’t have enough in depth knowledge of the blockchain to confidently vote on all the proposals as well. This will in turn promote the validators to give their delegators layman’s explanations of the proposal and where they stand on the vote. If the delegators don’t agree with that persons opinion they can always unstake and move to someone else who shares their opinion.

@hgedia

My only concern with this this idea is it pushes MINA into financial security territory because it would be effectively creating a board. The SEC has said the main reason they can’t go after bitcoin is because of how decentralized it is. I agree that your of a board solution would be the most practical and easiest solution. However the risk of being labeled a security in the future makes it not ideal to choose in my opinion. The level of decentralization that on chain voting creates would be a good safety net to protect the protocol from future regulations.

“ Hinman specifically said that bitcoin is not a security because it is decentralized: there is no central party whose efforts are a key determining factor in the enterprise. In addition, ether is also not a security because the ethereum network is also decentralized.”

“In connection with the SEC’s previously issued report on the DAO, a digital asset is considered as a security “where the digital asset represents a set of rights that gives the holder a financial interest in an enterprise.” However, if that same digital asset progresses to a point where there is sufficient decentralization of the network or where the asset is only sold “to be used to purchase a good or service available through the network on which it was created,” that digital asset that was once considered to be a security could be viewed in a significantly different light.”

“ Critically, however, the Court found that ATB coin did not operate on a decentralized system, such as Ethereum or Bitcoin, but instead resembled a more centralized investment fund. Although this decision should put coin proprietors on notice that they may be exposed to civil suits from investors, the SEC has also consistently hinted that it does not consider decentralized cryptocurrencies to be securities.”

“ ‘When a promoter, sponsor, or other third party (or affiliated group of third parties) (each, an “Active Participant” or “AP”) provides essential managerial efforts that affect the success of the enterprise, and investors reasonably expect to derive profit from those efforts, then this prong of the test is met.’”

https://fisherhudson.com/decentralized-cryptocurrencies-typically-fail-the-howey-test/

Great to see conversations happening. I love the idea of a DAO, but I don’t have the technical expertise to know if this changes things from a legal perspective.

Personally, I am not in support of on-chain voting as a process to progress improvement proposals. In part because i find the entire idea of on chain governance for token holders as a theatre and a number of holders are not technically aware enough to vote on changes and are largely driven by emotions or metrics which may not be in favour of the long term heath of the network. This is a recipe for un-necessary friction & drama.

Couldn’t have said it better myself, @hgedia.

@Lordwadsworth neither of us are lawyers so this opinion comes loosely, held, but here are my thoughts on your comment.

https://www.wsj.com/articles/cryptos-defi-projects-arent-immune-to-regulation-secs-gensler-says-11629365401

But Mr. Gensler, who took over in April, said projects that reward participants with valuable digital tokens or similar incentives could cross a line into activity that should be regulated, no matter how “decentralized” they say they are.

“There’s still a core group of folks that are not only writing the software, like the open source software, but they often have governance and fees,” Mr. Gensler said. “There’s some incentive structure for those promoters and sponsors in the middle of this.”

MF is raising funds from VCs, and they are also writing the code so… I mean, I don’t know the exact deals that are being made, and I’m sure they’re trying to toe some line, but as far as I know, VCs have given USD to MF to develop Mina, and MF has given VCs tokens in exchange.

According to the token distribtion , MF, O1, VC and contributors have > 51% of the tokens. 44.1% of tokens are distributed amongst just VC and contributors, so even if MF and O1 recuse themselves from votes, any holding-based governance is essentially centralized. Given Mr. Gensler’s comments, I’d rather take my chances with MF steering decisions responsibly, with community input than let VCs make all the decisions in a “decentralized” way.

The level of decentralization that on chain voting creates would be a good safety net to protect the protocol from future regulations.

You also posted this link in discord: https://www.sec.gov/news/speech/speech-hinman-061418 which is another opinion by an SEC leader hinting at ethereum maybe being a security when it launched, but not now. Critically, I don’t think it does say that. It leaves the option open, but to me it’s worded more like “if it were determined that eth was a security in 2013, which I’m not saying it was, that wouldn’t mean that it’s a security today”. I think you are throwing the word “decentralized” around pretty loosely, which is not something the SEC would do. You seem to imagine that if there are a few people e.g. at MF which make up “the board”, then that is a security, but if more people vote on things then it’s not a security. I don’t buy that at all, since in the US common stock is a security, and stockholders make decisions at corporations. E.g. exxon, amazon. While I agree that SEC leaders are using the word decentralized in their opinions, and that might indicate their thinking on future regulations, I don’t think it’s a strong legal umbrella. The Howey test does not ask about decentralization.

“Can a digital asset that was originally offered in a securities offering ever be later sold in a manner that does not constitute an offering of a security?” In cases where the digital asset represents a set of rights that gives the holder a financial interest in an enterprise, the answer is likely “no.” In these cases, calling the transaction an initial coin offering, or “ICO,” or a sale of a “token,” will not take it out of the purview of the U.S. securities laws.

But what about cases where there is no longer any central enterprise being invested in or where the digital asset is sold only to be used to purchase a good or service available through the network on which it was created? I believe in these cases the answer is a qualified “yes.”

where the digital asset is sold only to be used to purchase a good or service available through the network

This seems like the key phrase for me. Why do we all hold mina right now? It can’t possibly be to use a good or service on the network because zkapps aren’t live. You can make the case that you hold mina now so that you can use the network in the future which is how ethereum was positioned when they sold tokens before the launch of the network. Why did VCs buy the token? I strongly suspect that they bought the token speculating that the price will go up and they can sell at a profit. EF never sold to VCs, but MF has, and that’s a pretty big difference imo. So then the question is, given our current state, if we added DAO voting on top, would it not be a security? I don’t think it makes a difference, because what does voting have to do with use case? Voting on proposals that you think will be good for token price, e.g. reducing inflation which is brought up all the time, makes you more like a shareholder imo, and a shareholder holds a security.

My closing remarks are that if the SEC views 99% of crypto as securities, then Mina is likely to be a security. As an investor I view enforcement action as a risk, but I don’t think being classified as a security would have to be a death knell. The Biden admin and Gary G seem interested in making money off of crypto and making it more “safe” for people. I think the cat is “out of the bag” on crypto, and future regulations will bring coins into the regulatory fold rather than leave them out to dry.

I agree many people who hold Mina probably aren’t technically aware enough to have an informed vote on improvements, but if you think about it that doesn’t stop people being able to vote for political parties in elections. The key thing is the questions that are put up for a vote.

It’s true to some extent it may be theatre, but If it can be done in the right way, empowering people to have say in the future direction (however that may be) will inspire some to learn more about what they are voting for and increase their engagement as community members. Which I think long term can only be good for the project in general.

I feel very strongly about this, though I have but one vote to give.

but if you think about it that doesn’t stop people being able to vote for political parties

You can’t fork a country. Governments also issue ID cards to citizens and give person one vote which is practically impossible for a DAO. Mina is in competition with other zk tools, other blockchains, other teams. These competitors could influence Mina’s roadmap via decentralized governance. IMO talented people will not want to work for a DAO. Maybe there are some idealists out there who want to experiment with it, but I think the overwhelming majority of people would rather know their boss, and work for a company with labor laws, and have predictable targets to hit. In a world where MF defers to the community for binding decisions, I worry that a lot of the core team at MF and O1 would just fork Mina and keep working on it with their own centralized leadership. At least as it scales, I foresee struggles to hire 100 or 1000 engineers to work at O1 under community rule. In your example of a country, we see this play out. Countries interfere in other countries’ elections. Government posts can sometimes be competitive, but the rank and file are usually not as desirable work as similar roles in the private sector. Monarchy is a far more efficient form of rule, but for a nation, this does not play out because the best interests of the monarch are not necessarily aligned with the best interests of the subjects. But in private business, in non-profits, in schools, basically anywhere but in government, decisions are not made by committee. AFAIK, this is not due to a technological limitation that blockchain solves, but because it is a bad way to make decisions. Instead, one person, or a small group decides, and others follow. If the decisions are poor, the leader is replaced.

but If it can be done in the right way, empowering people to have say in the future direction (however that may be) will inspire some to learn more about what they are voting for and increase their engagement as community members

Allow me to put forth that it is already being done the right way. Lots of community members have received grants for their contributions. Mina “insiders” keep tabs on this forum and discord to gauge community opinions, and then they retain the burden of owning the decisions to themselves. If they make decisions you disagree with, you can sell your stake and join a different project’s community. It’s certainly already in their interest to make the community happy, but they get to balance that with other concerns. Frankly, I don’t want to have the responsibility of following every development in Mina. In any decision which we suggest the community decide, we are asserting that we know better than the core team. In matters where we do, a prudent core team will seek our opinion, and in matters where we don’t, I would not prefer us to decide anything. I haven’t been active on this forum in a little while, and today the mood struck me to come back and argue some points. That’s no basis for me to be a decision-maker!

I do still see value in quadratic voting to gauge community interest. I see immense value in having an accurate picture of the community’s position on different matters. Where I become totally against DAOs and voting is when the decisions become “binding” or pseudo-binding to the point that the community feels MF must take some action because we voted on it.

Thanks for the reply. Maybe your definition of a DAO is different to mine. I wasn’t saying we should be using a DAO for all decisions just ones like the current proposal to reduce current supercharged rewards. Personally I think everything is a an ongoing process, but to not try and move gently in that direction could look shortsighted in a few years time.

I may be wrong but I have the impression that MF and O(1) see decentralisation as an important thing, whether that is 100% or it means they have to steer things in the right direction for the foreseeable future while the final details get figured out I don’t know.

I see where you’re coming from, but if you introduce binding votes for some things, then why not others? Maybe you think “decisions like the proposal to reduce rewards” should be voted on, and someone else thinks decisions like prioritizing TPS or zkapp performance should be voted on. Then do we need to vote on what should be voted on?

To Trivio’s original question, I think it’s important, when designing a voting app, to understand the stakes. In my preferred model where votes are non-binding and more of a vibe check in the community, then something like snapshot makes a lot of sense, since it’s cheap and already exists. Maybe they are already thinking about stuff like quadratic votes as well. In a model where votes are the source of truth for direction of the project, then obviously a more robust system is needed, and would need to be game-theoried :slight_smile:

Thanks @qcomps you are right I think the type of thing we could vote for could be non binding, but I think to have a zkApp that had the capability to show a ‘vibe check’ from the community would also show off the potential of Mina in the real world.

One of the biggest use cases for zkApps is for anonymous voting, so if we’re not using a zkApp to gain some kind of community sentiment how would we expect anyone else to use one?