Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal and Poll: Poll definitions, requirements, and validation parameters #227

Closed
jring-o opened this issue Apr 17, 2019 · 21 comments
Closed
Labels

Comments

@jring-o
Copy link
Collaborator

jring-o commented Apr 17, 2019

This is the main discussion thread for the proposal

Reddit Discussion Thread

Steemit Discussion thread


Introduction


Gridcoin polls help guide decision making on the Gridcoin network. It is difficult to use the polls without clear definitions and validation parameters. This will become increasingly difficult as we continue to grow and decentralize as a network and community.

This proposal seeks to establish rule-based requirements and definitions for the polling process. To do this polls are broken into seven categories each with unique requirements and parameters.

If approved, this document will be adopted as the network's polling definitions and protocol. There is no alternative proposal if rejected.

Changes Since Pre-proposal Post

Pre-Proposal Post

Based on the results of the GUI Bounty Poll that achieved 15+% TVW and 50+% AVW, I have reduced the AVW requirements for all poll types by 10%. I have also set all required poll time except for developer polls to 3 weeks (21 Days). Developer polls remain at a 6 week poll time requirement.

I have also reduced the validation requirements for this poll from 60% to 40%.

The goal of this proposal is to define achievable requirements along with a process for changing them as a framework to build on in the future.

Poll Details

Duration: 3 weeks [21 Days]

Start Date: April 17th
End Time: May 8th 16:13 UTC

Question
Do you approve of the proposed poll definitions, requirements, and validation parameters.

Answers

  • Yes
  • No
  • Abstain

Validation

40% or more AVW participation

Credits

This proposal would not be possible without the work done by @jamescowens and everyone involved in the #economics slack discussion when putting together the CBR proposal and original AVW definitions. Credit for the original whitelist definitions and process just about copy and pasted into this proposal goes to @guk and everyone in the #boinc_projects slack channel that contributed during that discussion.

And of course a huge thank you to everyone in #poll-definitions on slack and during the hangouts and fireside chats for helping assemble and debate the rules proposed below.




Proposed poll definitions, requirements, and validation parameters


1.0 Voting

Gridcoin utilizes a protocol based voting mechanism to:

  • Gauge interest
  • Inform development and organizational direction
  • Utilize foundation funds

Any network participant with a balance of 100k GRC in a wallet can create a poll. A poll must meet all requirements for the appropriate poll type to be considered valid.

There are seven types of polls:

  1. Opinion/Casual
  2. Development
  3. Marketing
  4. Outreach
  5. Management
  6. Community
  7. Whitelist

1.1 Vote Weight and Active Vote Weight

Vote-weight is the power given to a vote cast on the Gridcoin blockchain. It is measured as a modified sum of balance and magnitude. The formula for vote-weight is:

VoterBalance+VoterMagnitude((TotalMoneySupply/TotalNetworkMagnitude)/5.67)

Total vote-weight (TVW) is the total possible vote-weight of the network. It is calculated as a weighted sum of total minted coins and network magnitude.

TotalMoneySupply+TotalMagnitude((TotalMoneySupply/TotalNetworkMagnitude)/5.67)

Active vote-weight (AVW) is a calculated average of the vote weight actively securing the network for the duration of the poll, plus the network magnitude, less the magnitude of any crunching pools. The formula for AVW is:

AV-W = (Average Difficulty* 9544371.769) + ((TotalNetworkMagntiude- Average Pool Magnitude)* (Average MoneySupply/TotalNetworkMagnitude)/5.67)

AVW as a metric solves the validation problems of total vote-weight validation, including missing vote-weight due to lost and burned coins, coins in cold storage, coins held by exchanges, and vote-weight frozen by crunching pools.

AVW enables high weight validation via active network participants.

AVW enables super-validation. Super-validation is a validation percentage greater than 100%. Super-validation implies that inactive balances were brought online to vote on the proposal in question.

Note: TotalNetworkMagnitude = 115,000

1.2 Poll Validation by Active Vote Weight

Poll validation requirements are intended to ensure no proposal passes without significant network support. Each poll type has its own AVW validation parameter initially defined in this proposal. Validation parameters can be changed through management polls.

If a poll is not validated no action is taken.

1.3 Requesting Funds in Polls

Any proposal requesting reimbursement or funding from the foundation must be approved by a network poll.

Funding can be requested for all poll types except for Opinion/Casual and Whitelist polls. The following information is required if funding is requested in a proposal.

  • Intended use of funds
  • The date of work begin
  • The date of work end
  • Total funding requested (denoted in GRC)
  • When funds are released
  • How funds are released
  • The payee's name or alias
  • The payee's wallet address
  • Reliable contact information

1.4 Poll Types, Requirements, and Validation Parameters

There are seven poll types. All poll types except for Opinion/Casual must use "Magnitude and Balance" as weight metrics.

1. Opinion/Casual

Opinion/Casual polls are for early exploration of ideas or for fun.

Examples

  • Do you support the continued exploration of this CBR idea?
  • Do you support the continued exploration of this protocol change idea?
  • Masternodes, DPoS, PoS, or PoW?
  • Cubes or curds?

Poll Requirements

NONE

Validation Parameters

NONE

2. Development

Development polls include polls to change a protocol value or for proposing changes to the protocol at large.

Examples

  • Implement CBR as proposed?
  • What should the CBR value be at implementation?
  • Remove the BOINC team requirement?
  • What should the side-staking development requirement be at implementation?
  • Implement MRC as defined in this proposal?
  • Change CBR value to 3.1415?
  • Change development side-stake requirement to 2%

Development Poll Requirements

  • Main Poll Discussion Thread on Github or Reddit
  • Secondary discussion threads on Github, Reddit, and Steemit with links to each in each thread
  • Minimum 6 weeks (42 days) Poll Time
  • Unbiased Poll Phrasing and Options
  • "Abstain" Vote Option

Development Poll Validation Parameter

  • AVW of 50% or greater

3. Marketing

Marketing polls include any proposal for marketing initiatives.

Examples

  • Do you support this proposal for taking out an ad in New Scientist magazine?

Marketing Poll Requirements

  • Main Poll Discussion Thread on Github or Reddit
  • Secondary discussion threads on Github, Reddit, and Steemit with links to each in each thread
  • Minimum 3 weeks (21 Days) Poll Time
  • Unbiased Poll Phrasing and Options
  • "Abstain" Vote Option

Marketing Poll Validation Parameter

  • AVW of 40% or greater

4. Outreach

Outreach polls include any proposal which seeks to:

  1. Legitimize community representation
  2. Compile, build, or maintain proactive documentation
  3. Maintain channels of communication for those outside of the network and community
  4. Allocate resources to take advantage of outreach opportunities as they present themselves

Examples

  • Do you support representation at [Conference A] as detailed in this proposal?

Outreach Poll Requirements

  • Main Poll Discussion Thread on Github or Reddit
  • Secondary discussion threads on Github, Reddit, and Steemit with links to each in each thread
  • Minimum 3 weeks (21 Days) Poll Time
  • Unbiased Poll Phrasing and Options
  • "Abstain" Vote Option

Outreach Poll Validation Parameter

  • AVW of 40% or greater

5. Management

Management polls include any proposal which seeks to modify the management or organizational structure of Gridcoin.

Examples

  • Do you support the proposed management proposal?
  • Change AVW validation parameter for development proposals to 50%?
  • Change minimum required poll time for Outreach polls to 4 weeks?

Management Poll Requirements

  • Main Poll Discussion Thread on Github or Reddit
  • Secondary discussion threads on Github, Reddit, and Steemit with links to each in each thread
  • Minimum 3 weeks (21 Days) Poll Time
  • Unbiased Poll Phrasing and Options
  • "Abstain" Vote Option

Management Poll Validation Parameter

  • AVW of 20% or greater

6. Community

Community polls include any proposal or initiative related to the Gridcoin community, but unrelated to any other department.

Examples

  • Do you support this community competition?
  • Do you support hosting this crunching competition?

Community Poll Requirements

  • Main Poll Discussion Thread on Github or Reddit
  • Secondary discussion threads on Github, Reddit, and Steemit with links to each in each thread
  • Minimum 3 weeks (21 Days) Poll Time
  • Unbiased Poll Phrasing and Options
  • "Abstain" Vote Option

Community Poll Validation Parameter

  • AVW of 10% or greater

7. Whitelist

A whitelist poll is used to add or remove a project from the whitelist. The whitelist is a larger mechanism within the operation of Gridcoin. Each project considered for whitelisting must meet a set of requirements, and several actions must be taken before a poll for adding or removing a project can be considered valid. A project can be removed from the whitelist at the discretion of the whitelist admin if it ever fails to meet a requirement described below.

More information including discussion threads that informed the creation of the whitelisting and greylisting processes, information about each project's Work Availability Score and Zero Credit Days, and details on the greylist process are linked at the end of this section.

Project Requirements for Whitelist Consideration

  • Project Work Availability Score is green
  • Number of Zero Credit Days is less than or equal to 7 out of the last 20 days
  • The project has a clear description of the work and the work is as described
  • The project allows new user registration
  • Project complies with the BOINC terms of service
  • All crunchers that comply with the terms of service of both BOINC and the project have equal access to work units

Required Actions before Creation of Project Addition Poll

  • Direct contact with a project administrator
  • An affirmative public response to whitelisting by a project administrator
  • An agreed add date with both the Gridcoin whitelist administrator and project admin

Required Actions before Creation of Project Removal Poll

These are necessary only if a project meets all whitelist requirements, is not greylisted, and is otherwise functioning as intended

  • A public attempt at contact with a project admin is made

Examples

  • Add project SETI@Home to the whitelist?
  • Remove project SETI@Home from the whitelist?

Whitelist Poll Requirements

  • Main Poll Discussion Thread on Github or Reddit
  • Secondary discussion threads on Github, Reddit, and Steemit with links to each in each thread
  • Minimum 3 weeks (21 Day) Poll Time
  • Poll Options:
    • Yes
    • No
    • Abstain

Whitelist Poll Validation Parameter

  • AVW of 40% or greater

Whitelist Links

Gridcoin Whitelist/Greylist Management Information

Github Issue #194

Github Issue #213

Github Issue #201



Conclusion


I believe that clearly defining a rules-based system for polling will substantially increase the efficiency of our decision making as a network and community. The rules-based approach should help us transition the polling process onto the blockchain should we ever find ourselves in a position to do so. I am very open to alternative approaches, however I believe it is time to move forward with what we've got and build on it to fit our needs as they grow. I look forward to the coming discussions and of course, I don't care which way you vote, just vote!



@jring-o
Copy link
Collaborator Author

jring-o commented Apr 24, 2019

@grc-H202
Copy link

How did you decide on the 20% AVW validation parameter for management polls? That seems to be the tricky one, because technically a sufficiently powerful bad actor could use 20% voting weight to change the other validation parameters to 20% as well, unless other network participants stepped in and outvoted the bad actor.

@jring-o
Copy link
Collaborator Author

jring-o commented Apr 28, 2019

Technically yes, 20% is dangerously low, but:

Our network has demonstrated, for the size that it is, that its current whales seem to manifest the community will, and that there is a growing group of core actors, some whales and some not, that help work through situations and opportunities, inform the community, and are capable of making decisions. If a bad actor (or even one of the whales) attempts to take advantage of this low management requirement... I have confidence in the larger community and core actors to come to a rational resolution.

The number comes from the discussions before the poll. We couldn't settle on AVW requirements for the different poll-types so I chose values that seemed to be best compromises from the various opinions. The 20% management is set so low that any proposed change to this structure will easily be validated and force discussion. And because we are still a fairly tight network, as I describe above, it should be secure until we move past this initial phase of organization.

As this proposal is meant to be a scaffold from which we build something better, I would expect a proposal within 12 months that would rework or raise at least that 20% management AVW.

@smoe
Copy link

smoe commented May 2, 2019

I wished the poll would reference definitions of TotalMoneySupply, TotalNetworkMagnitude, Average Difficulty and AveragePoolMagnitude.

@dblanch256
Copy link

I wish my wallet would indicate which polls I already voted for. I like the current ability to change my mind by voting again, but I'd nonetheless appreciate a symbol reminding me whether or not I have already voted, and if so, which of several choices I last selected.

@tomasbrod
Copy link
Member

@dblanch256 it is planned, but for now you can use gridcoinstats.eu

@jring-o
Copy link
Collaborator Author

jring-o commented May 2, 2019

@smoe

TotalNetworkMagnitude = 115,000

The others are variable. I'm not sure how to reference them in the doc.

TMS = 400,000,000+
AVGDifficulty depends on the poll's creation date and running time. Same with AVGPoolDifficulty.

@smoe
Copy link

smoe commented May 3, 2019

@jring-o

TotalNetworkMagnitude = 115,000

Is there a glossary on groincoin.us or so that defines how this value is derived / what it means? My hunch was that this is the sum of the magnitudes of all CPIDs. I may be right/wrong - I just don't want to guess.

The others are variable. I'm not sure how to reference them in the doc.

You reference via a URL to some place that defines it all.

TMS = 400,000,000+
AVGDifficulty depends on the poll's creation date and running time. Same with AVGPoolDifficulty.

As above - some site explaining it would be nice. That could then also give reference(s) to sites computing that respective value - like gridcoinstats.eu or so.

The purpose of my comment was to avoid voters guessing what your definitions mean, i.e. to anchor these definitions on some common ground.

@jring-o
Copy link
Collaborator Author

jring-o commented May 3, 2019

We're on the same page. Unfortunately Gridcoin documentation and accessibility is severely lacking. People are slowly working to improve it as the legacy code and mechanisms get revamped or stabilized.

I definitely could have clarified AVW more here and will attempt to do so in any future documentation.

For now I'll point you to the CBR proposal which I think has the most detailed definition of AVW in the "Validation" section.

gridcoin-community/economics#1

The 115,000 magnitude has to do with the "kitty" for research rewards. It is a protocol defined static number divided equally among white-listed projects then relatively among those projects' contributors.

If anyone wants to work on documentation (of more than just AVW, please) and getting everything up in an easily accessible place, I am more than happy to help where I can.

@tomasbrod
Copy link
Member

There is a inconsistency:

  • Whitelist inclusion per project listing process requires Discussion thread to be opened on https://cryptocurrencytalk.com
  • Whitelist polls per this proposal requires Main Poll Discussion Thread on Github or Reddit.

In my opinion project discussion should be kept in one place (thread) reserved for that project.

@jring-o
Copy link
Collaborator Author

jring-o commented May 4, 2019

This proposal suggests that cryptocurrencytalk is not the best place for these types of discussions. It proposes changing the process from requiring a post on CCT to requiring a post a github or reddit -- places that are easily accessible, more open, and more oriented towards development.

Something like #228 and #229

If people think CCT is still relevant we could look into adding it as a required posting platform, but my initial reaction is to let is fade away as an honored part of Gridcoin's past.

@tomasbrod
Copy link
Member

CCT thread has the advantage of past discussion being right there. Advantages of Reddit/Github outweigh it IMHO.

@jring-o
Copy link
Collaborator Author

jring-o commented May 4, 2019

We could have dedicated github threads for each project here:

https://github.com/gridcoin-community/Projects/issues

@tomasbrod
Copy link
Member

Or just here under new issue tag.

@dopeshitnetworks-irc-dopeshit-net

grc-H202 "> How did you decide on the 20% AVW validation parameter for management polls? That seems to be the tricky one, because technically a sufficiently powerful bad actor could use 20% voting weight to change the other validation parameters to 20% as well, unless other network participants stepped in and outvoted the bad actor."

Instead of a BS answer , it does happen and has happened in the past.. This number fit's someones agenda better. We have had polls that were a lock and 0hr investor vote turns it 180 degree.
Looks shady and illegitimate AF too when it happens and nobody cares, just shrugged off.
It's the Gridcoin way.. Like this explanation not being KISS VS LWOB based...
-- jamezz/slimeball
The shunned & banned community member from all mediums but
but somehow my views,voice and opinions matter the same as the
rest of the community.. I am equal to NeuralMiner... Ponderous

@dopeshitnetworks-irc-dopeshit-net

We could have dedicated github threads for each project here:

https://github.com/gridcoin-community/Projects/issues

How creative and useful.. Forum #42 for projects...ffs gridcoin issues get ignored and berkeley hosts a real forum, as do most projects.

@jring-o
Copy link
Collaborator Author

jring-o commented Oct 6, 2019

We need to get these saved somewhere so we can close this issue. I will work to get them in a pdf and hosted on gridcoin.world. Any other ideas?

@RoboticMind
Copy link
Contributor

We need to get these saved somewhere so we can close this issue. I will work to get them in a pdf and hosted on gridcoin.world. Any other ideas?

In gridcoin-community/Gridcoin-Site#278 the poll requirements will all get added to a new wiki page about voting

@smoe
Copy link

smoe commented Feb 25, 2021

Reading through the text again, it is unclear if the time point at which I cast my vote makes a difference. The vote weights are computed as an average over the duration of the poll if I get this right, but also if I just vote at the final minute - you are then going back throught the history and collect my data? A confirmation that the moment the vote arrives does not make a difference would be nice.

@RoboticMind
Copy link
Contributor

Vote weight is not an average - it is a total. It doesn't matter when you vote as long as you vote before the poll is done. I think you may be mixing it with active vote weight which is an average.

Active vote weight is a network wide number and doesn't look at who's did or didn't vote. It's aim is to get a sense of how much vote weight could their have been if everyone active voted in a poll. The requirements for a poll to be validated are given a % of that number. You have to get a majority of the vote weight for an option and meet the % of AVW to validate and have a poll pass

@RoboticMind
Copy link
Contributor

We need to get these saved somewhere so we can close this issue. I will work to get them in a pdf and hosted on gridcoin.world. Any other ideas?

In gridcoin-community/Gridcoin-Site#278 the poll requirements will all get added to a new wiki page about voting

@jring-o this information now been added to a new wiki page that's live on the site https://gridcoin.us/wiki/voting.html 🎉 . It even includes a verbatim copy of the requirements at the end of the wiki and a link. I think you can close the issue now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants
@smoe @tomasbrod @dopeshitnetworks-irc-dopeshit-net @jring-o @RoboticMind @grc-H202 @dblanch256 and others