Let's talk voting -- How can we improve the polling process?

in #gridcoin7 years ago (edited)

Gridcoin Purple on White.png



Goal



I hope to discuss the current situation around polls and to clearly list a few potential improvements that people can seek to build. There are process improvements, which I hope to build with the help of others, UI improvements, which could have bounties built for them, or could have community members build for donations or requested foundation reimbursements, and protocol improvements which I expect won't be built any time soon.

If you want to help me put together proposals for poll requirements and poll validation definitions, please reach out on slack or discord.



Making a Poll



A poll can be made by anyone with over 100,000 GRC in a wallet. It requires a question, a discussion thread, and choices for the voter to make. There has not been much time and research spent on analyzing poll data, nor has there been recent and clear discussions around poll requirements. Nonetheless, there are a few expectations when it comes to making a poll. If these expectations are not met, it is easier for the community to claim a poll as invalid. It is my hope that we can build on these expectations and work to turn them into clearly defined and advertised poll requirements and parameters. This will greatly reduce the human involvement required to validate a poll.

Expectations

Note: These are not my personal expectations. They are what I have gathered from the many disparate conversations around polls that I have witnessed.

  1. A poll is expected to have an abstain option. Source
  2. A poll is expected to have its own discussion thread.
  3. A poll is expected to use unbiased language.
  4. A poll is expected to present unbiased, varied, and clearly defined options.
  5. A major poll is expected to last 4-8 weeks.

@GUK is leading the development of a whitelist/greylist process and clear definitions for these polls are being made. The conversations can be found here (Listing v1), here (Listing v2 -- WIP), and here (De-listing -- WIP).



Types of Polls



I can think of five different types of polls:

  • Opinion
    • Looks for general thoughts from the community.
  • Development
    • Involves protocol development. Requires action if validated and passed.
  • Proposal
    • Involves all non-protocol development, such as marketing and management. A proposal is presented and vote on. A proposal may or may not contain a funding clause. If validated and passed, the entire proposal is acted on.
  • Funding
    • Involves requesting funds from the foundation.
  • Whitelist -- see above.


Poll Validation

There are currently no clearly defined poll validation definitions. There have been attempts, however the outcomes of these polls can be argued due to low participation and enforcement precedent. For example, the foundation vote-weight validation requirement poll did not meet its own definitions and the the first reimbursement poll had 15% vote-weight participation, yet was still considered valid.

Additionally, using total vote-weight as a validator comes with a few separate problems including:

  • The requirement of a whale to vote to validate a poll, while whales might not want to control a vote -- which happens when a whale votes.
  • A good amount of magnitude is tied up in the pool and cannot vote.
  • It is impossible to reach 100% total-vote weight participation due to burned and lost coins. This problem might be amplified if and when we work burning coins into the economy on larger scales.

Until we clearly define and advertise validation definitions, I think it is a good idea to include a validation clause in any proposal.



Potential Improvements



These are ideas I have seen discussed in one place or another. I do not take credit for them.

Process Improvements -- Immediate

The following are process ideas and do not require protocol changes or coding of any sort.

  • Find a new way to validate polls other than "total vote-weight" percentages.

  • Build a clearly defined set of requirements that make a listed poll valid.

  • Build a clearly defined set of poll validation requirements for each of the five types of polls (whitelist is already in development).

  • Ensure that these polls meet their internal requirements and pass with overwhelming support. This eliminates the need for "meta" polls. The idea is that the more support the proposed requirements have, the harder it is to argue with their implementation and enforcement.

UI Improvements -- Short Term

  • Implement the ability for users to view polls based on popularity via vote-weight and number of participants.
  • Implement the ability for users to hide/differentiate polls they have already voted in.
  • Ask the poll maker to assign a "poll type" from a drop-down menu.
    • Implement the ability to sort polls by "type".
  • Notify a user of a new poll and polls nearly ended, along with their types through a "Polls" section (or something similar) clearly marked on the wallet "Overview" page.
    • Allow users to vote directly from the "Overview" page.
  • Differentiate polls that a user has not yet voted in.

Protocol Improvements -- Long Term

  • Build the processes into the protocol.
  • Build an in-wallet "forum" for each poll where posts are saved on the blockchain.
  • Build alternative vote-weight definitions, such as logarithmic vote-weight.


Have more ideas? or thoughts on one of the suggested improvements? Leave them in the comments!

If you want to help build a proposal around poll requirements and processes, reach out on discord.

Sort:  

Do we need clearly defined rules for polls?

  • [ ] yes
  • [ ] definitely
  • [ ] absolutely

On a more serious note, I'm pretty sure there is a place where users with less than 100,000 GRC can suggest a new poll and have others review their request and make the poll. This should be advertised more.

"i'm pretty sure there is a place.."

what? :D

I think one of the biggest poll issues we have is the vote weight. People feel demotivated when they see that their vote counts very little compared to others. This is what we saw in the recent developer compensation poll. We all chipped in and we couldn't make it happen, we couldn't even have as much weight as the richest guy who voted.

I would welcome any proposal that aims to address this issue. Logarithmic vote weight sounds good. Another proposal is to switch to magnitude only based voting: I have two main arguments for this.

1) Compared to wallet balance magnitude is more evenly distributed
I just pulled these data from the CPID/Mag/Balance list on gridcoinstats.eu. People have multiple wallets but this should still be good for a basic a first order analysis.

2) Striving for magnitude is better than striving for GRC:
Voting with your wallet incentives vote or GRC buying. Voting with magnitude will incentivize firing up some CPUs and actual research work will get done.

So, I propose that we make polls with magnitude only vote weight. I think it will be more motivating for the community and will show newcomers what we really value: scientific computation.

I like the idea of rebalancing the 5.67:1 balance:magnitude ratio to give more vote-weight to magnitude, but I don't think a magnitude-only vote system would be supported, fair, or beneficial.

The blockchain is created by stakers (people with GRC), which is one major consideration when balancing vote-weight.

Yeap, lets increase the magnitude/balance ratio. Regarding the pure-stakers: i think they are already getting compensated (for their stakes) with interest on their coin. When it comes to voting, some topics are purely worker related (such as whitelist) so i think there is room for magnitude only vote weights.

There is the option to make a poll "magnitude only".

It is not used often because every poll so far, including whitelist, affects the entire network. What projects we whitelist affect the stakers as well.

That's a wonderful idea, especially if its built on the blockchain platform. I also think your idea on building an in-wallet "forum" for each poll where posts are saved on the blockchain can make it better.

we discussed many possible solutions in the last Hangout on Saturday. :D

another fun idea (not mentioned here) i had a few months ago was to have a colour-coded system, so the poll creator could weight the poll in a way that was immediately apparent.

see here: https://github.com/gridcoin/Gridcoin-Research/issues/760

=======================================================================================
This post was upvoted by Steemgridcoin with the aim of promoting discussions surrounding Gridcoin and science.

This service is free. You can learn more on how to help here.

Have a nice day. :)

I am asking myself if there is another possibility to cheat in voting that should be closed:

Say a person holds 10k GRC and opens 5 wallets. He votes with 10k GRC+Mag, sends the 10k to his second wallet, votes again with 10k GRC + 0 Mag, sends again and so on. Is that possible? I mean: Coins that voted are not marked in any way, right?

If this is really possible (I hope it is not), maybe we should consider defining vote weight as a product (balance * mag * some factor maybe) instead of a sum.

Am I missing something here? Then please tell me :-)

This is not possible = )

The coins must be older than the poll. When you move coins, their age more or less resets.

Ok I see. Glad to learn that coin age is considered so the same coins can't be used for multiple votes in the same poll. Thanks!