gridcoin-community / Gridcoin-Tasks

Gridcoin community tasks repository
https://gridcoin.us
MIT License
24 stars 5 forks source link

A Superblock for Pool Polls? #207

Closed jring-o closed 4 years ago

jring-o commented 6 years ago

Voting on development and implementation decisions and details is a right of every Gridcoin network participant. Vote weight is determined by balance and magnitude. This means that owning GRC gives your vote weight in proportion to your balance, and possessing magnitude gives your vote weight in proportion to your magnitude. Solo crunchers can vote with both balance-vote-weight and magnitude-vote-weight. Pool crunchers can vote with only their balance-vote-weight. The challenge is:

How do we give pool crunchers the ability to use their magnitude-vote-weight?


First, some stats

There are:

8,277 total active users in the three pools. 4,000+ active BOINC team members.

This means that there are 4,000 people voting with magnitude-vote-weight, while there are 8,000+ people with magnitude, but not voting with their earned magnitude-vote-weight. This is a significant amount of vote-weight left out of polls.

There is:

40,031 total magnitude in the three pools. There is 115,000 total magnitude in the magnitude kitty.

This means that ~35% of magnitude-vote-weight is locked up in the pool.

(thank you to ilikechocolate for this statistic)

In other words:

@jamescowens tracked down the code and found that a magnitude+balance poll figures weight with the following equation:

vote-weight = ((Magnitude * (MoneySupply/TotalNetworkMagnitude + 0.01)/5.67) + Balance)

assuming that money supply = 400,000,000 we get:

1 mag = ~613 vote-weight.

This increases almost linearly with the increase in money supply.

This means that the 40,031 magnitude in the pool currently equates to about 24,539,003 vote-weight trapped behind the pool wall.

I might be mistaken, but my understanding is that 1 magnitude-vote-weight is the equivalent of 650 vote-weight (1 balance-vote-weight = 1 vote-weight). If this equivalency is accurate, this means that there is:

26,020,150 vote-weight trapped behind the pool-wall.

Sources GRC Pool | BOINC Stats


The Idea

There are currently ways for users in the pools to be polled while taking their magnitude-vote-weight into consideration, but there is no way to take those poll results and put them on the Gridcoin blockchain.

What if we build a superblock that aggregates that data when appropriate? Is this possible? Could we then take that data and automatically calculate each pool-user's magnitude-vote-weight and vote, and appropriately insert that data into the client poll results?

If we do this (if we even can do this), we will have successfully proven that superblocks can be built for purposes beyond BOINC while adding more validity to every future Gridcoin poll.


Thoughts?

fffffgggg54 commented 6 years ago

First, this idea would require cooperation of the pool, but what if each cpid voted by giving a percent to the network regarding the response to the poll but the pool is given a special mod of the client so that each person can be polled on the pool website and the pool submits their poll results as the weighed percent.

jring-o commented 6 years ago

@bryhardt has gotten things rolling by opening polls to pool users.

It is still a work in progress, and for now all consideration of pool polls will have to be manual, but it's amazing to see such a quick reaction and development.

https://www.grcpool.com/polls

tomasbrod commented 6 years ago

The voting page is missing disclaimers. It is a nice the idea of witnessing voting on grcpool page and propagating that into the blockchain. However: 1) it will take effort to implement