gridcoin-community / Gridcoin-Tasks

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

MRC-Fee Treasury Split Poll #250

Closed jring-o closed 2 years ago

jring-o commented 2 years ago

Reddit: https://www.reddit.com/r/gridcoin/comments/t0jx57/mrcfee_treasury_split_poll/ Hive: https://hive.blog/gridcoin/@jringo/mrc-fee-treasury-split-poll

MRC PR

https://github.com/gridcoin-community/Gridcoin-Research/pull/2425

Introduction

Hello! I bring to you good news, courtesy of Jim Owens and the rest of the core developers and testers.

MRC has been a talking point of the community for over four years. Welp. Here it comes!

Much of the technical work has been completed and undergoing testing. It is loosely expected to be part of the next major update named Kermit’s Mom.

There is one remaining logistics question that needs to be answered, and will be answered by this poll.

For some background on the rationale behind MRC, please read my introduction post on the subject (from what seems like a lifetime ago):

An Introduction to Manual Rewards Claim

Otherwise, we present here the basics of MRC and a poll to determine the percentage of the MRC-fee that is sent directly to the community wallet.

Basics of MRC

MRC stands for Manual Rewards Claim. It means that a cruncher can click the MRC button and receive their research rewards without the cruncher themself having to stake a block. It is great for users without enough GRC to regularly stake a block.

Operation

Some examples

The Poll

The poll is connected to the treasury system.

MRC creates a new fee in the Gridcoin ecosystem. This fee can be used in many ways. For this initial implementation, we propose dividing the MRC-fee into two chunks:

Chunk 1: A reward for the staker that secures the block and sends the MRC to the person that clicked the button.

Chunk 2: The community wallet.

This poll seeks to determine the percentage of the fee that will go to the community wallet.

NOTE: You are voting on the percentage of the MRC-fee that will go to the community wallet. You are NOT voting on what the MRC-fee should be. The MRC fee is determined by the 14 day window and formula described in the “Basics of MRC” section.

An Example Because This is a Bit Confusing and We Want to be As Clear As Possible


Poll Information

Poll Type: Development

Poll duration: 42 days Start Date: 2/24/22 End Date: 4/7/22

AVW Requirement: %50

Question: What percentage of the MRC-fee should be sent directly to the community wallet?

Options:

Frigyes06 commented 2 years ago

Great idea!

70% to the community wallet!

RoboticMind commented 2 years ago

Created a steem thread for this poll https://steemit.com/hive-161364/@roboticmind/mrc-fee-treasury-split-poll

DarrellStuff commented 2 years ago

Unlike the fixed Interest paid on top of the earned Stake that is currently paid out, it sounds like the MRC related reward will be a totally random amount, and will depend on how many (if any) MRC buttons were clicked in the small timeframe since the previous block was minted.

I like the idea that you can pay a fee to get your earned balance (especially if that balance is about to expire) . But paying the person who is generating the block is like playing the lottery, except you don't have to purchase a ticket to play. You will either get a percentage of any MRC fees that are available, or nothing at all.

As such, I recommend voting to maximizing the payment into the community wallet. Finding mechanisms to fund the community always seems to be an issue, why not use this MRC fee as a funding source that will already be built into the system? How much eventually gets donated depends on the patience of the person clicking the MRC button.

KeithMyers commented 2 years ago

Earned rewards never expire unless you don't renew your beacon.

jamescowens commented 2 years ago

@DarrellStuff Part of your reasoning is correct, but the idea that the fees paid are random is not true at all. The MRC fees are completely deterministic and based on the above quoted formula ... mrc fees = research reward 0.40 (14/t) where t is in days. The research reward paid is also not random, just like a regular stake with research rewards paid, the research rewards being paid are the accrued amount, which is the same amount that is listed as the "pending reward" on the main screen. (The only difference is that the pending reward is calculated from the last payment to the current time, where the MRC research rewards will be calculated from the last payment to the time of the last block (head of the chain).

The actual staker that does the MRC payment IS random, but not the MRC amounts or fees themselves.

MRC is a form of delegated staking.

jamescowens commented 2 years ago

The idea of that declining fee is precisely that for increased convenience, which means pressing the button more often, results in more load on the network, and therefore should have a higher fee to act as a counterbalance to discourage people pressing it too often.

jamescowens commented 2 years ago

If you are talking about the MRC fee to the staker being "random" in the sense that it is uncorrelated to the staker's chance of staking, the staker's balance, or the staker's magnitude, that is exactly right.

DarrellStuff commented 2 years ago

I understand that the MRC fee structure is completely deterministic, and I'm not questioning that.

My point was exactly related to the comment that "the MRC fee to the staker (...) is uncorrelated to the staker's chance of staking, the staker's balance, or the staker's magnitude, that is exactly right."

I'm just not sure everyone understands that the chance that they, as an individual staker, will see one of these MRC reward is very unlikely. Which is why successfully getting one of these payments is like playing the lottery. SOMEONE will always win the lottery, it's just not likely that YOU will be winning the lottery.

I probably average one stake every few weeks. Short of a constant flood of MRC requests into the network, the chances that my stake will be the one after a MRC request was made is even more rare than getting my regular stake in the first place. Compared to the thousands of others stakes during that same timeframe, I will only have a 1 in many-thousands chance that an unpaid MRC fee will exist in the few seconds before my stake is made.

So while paying out MRC fees to stakers is fine and dandy, I just don't expect to see many/any of this revenue coming my way. When few or no fees showing up in people's accounts over the next few years, they should not be surprised or angry about not getting their extra MRC rewards. It doesn't matter if the fee split being voted on here is 50% or 90%, your chance of seeing any of this credit will remain tiny.

Think about the gambling statement "the house always wins". In this case, it's the community that always wins, and I'm fine with that. I just think the reward to the house/community in this case should be maximized so these fees becomes a semi-steady source of revenue back into the community. (Semi-steady, in that the fee amounts being returned will depend on the number and size of MRC fees collected at any given moment.)

That is why I'm recommending people vote for the 90% option.

DarrellStuff commented 2 years ago

Regarding the issue that "earned rewards never expire unless you don't renew your beacon". It is my understanding that any reward that is not staked within 6 months (actually, 180 days) of being earned will be lost.

When I first started, mining pools and/or buying a large starting balance of GRC with cash was how someone could become a solo miner. Without an existing large GRC balance, a solo miner would essentially never stake. And if they did stake, only the rewards earned in the last 180 days would be paid out. Any rewards older than 180 days was lost.

Even with a large GRC balance, a solo miner must keep their wallet running constantly. If the wallet is not running, they will miss their staking opportunities, and eventually the rewards from their BOINC work that is over 180 days old will be lost.

Has the 180 day deadline to stake individual rewards changed?

I'm assuming this MRC mechanism was proposed to address this fundamental issue. I wish this option had been available when I first got started and my GRC balance was too small to allow me to successfully solo stake.

Another nice reason to have the MRC option is related to wallet computer stability. When the computer running my wallet was hit with a ransomware attack, I was able to reinstall the wallet software and my previous wallet backup files on another system fairly quickly. If restoring my wallet had taken a significantly longer time, a lot of my 180 day staking window could have been eaten up by the time my wallet was up and running again. Meanwhile, my BOINC rewards being earned by work done on other machines continued without interruption. All of that new work credit was at risk of being lost during the time my wallet was down, and then waiting to see if a stake would happen once the wallet was running again. The MRC option would have allowed me to manually claim the bulk of the outstanding rewards just before the 180 day anniversary of my original wallet getting wiped out by a virus, if a new stake had not happened to claim the new work credit.

jamescowens commented 2 years ago

@DarrellStuff rewards are NOT lost at 180 days. This changed at the Fern hardfork and was explained in the release notes. (See https://www.reddit.com/r/gridcoin/comments/im8ktw/gridcoin_5000mandatory_fern_release/ under protocol highlights.) As long as you keep your beacon active, the rewards will accrue without limitation of time. Note that there is a cap on the accrual of 16384, so if you have a really high magnitude, you could run into that. You can see my commentary on why this cap exists in the Discord MRC thread.

This PR and proposal therefore was NOT primarily to address the old 180 day limit, which no longer exists. It WAS primarily to address the difficult on-ramp to solo mining for new crunchers. Having to have a pretty substantial minimum balance for solo mining has proven to be a very large barrier for new participants.

hucker75 commented 2 years ago

Google search comes up empty - what is a community wallet?

KeithMyers commented 2 years ago

The community wallet is the Foundation wallet.

jamescowens commented 2 years ago

{ "title": "MRC-Fee Treasury Split Poll", "id": "651a3d7cbb797ee06bd8c2b17c415223d77bb296434866ddf437a42b6d1e9d89", "question": "What percentage of the MRC-fee should be sent directly to the community wallet?", "url": "https://github.com/gridcoin-community/Gridcoin-Tasks/issues/250", "sharetype": "Magnitude+Balance", "weight_type": 3, "response_type": 3, "duration_days": 42, "expiration": "04-07-2022 20:00:26", "timestamp": "02-24-2022 20:00:26", "choices": [ { "id": 0, "label": "%50" }, { "id": 1, "label": "%60" }, { "id": 2, "label": "%70" }, { "id": 3, "label": "%80" }, { "id": 4, "label": "%90" }, { "id": 5, "label": "Abstain" } ], "votes": 610 }

jamescowens commented 2 years ago

Note that one of the pools voted abstain. This is from the wallet with the pool that voted included in the AVW calculation. This AVW % was still above 50% at 50.85% so the poll passed with the majority voting for 80% when abstain votes are excluded.

getpollresults 651a3d7cbb797ee06bd8c2b17c415223d77bb296434866ddf437a42b6d1e9d89 { "poll_id": "651a3d7cbb797ee06bd8c2b17c415223d77bb296434866ddf437a42b6d1e9d89", "poll_title": "mrc-fee treasury split poll", "poll_expired": true, "starting_block_height": 2507136, "ending_block_height": 2544637, "votes": 610, "invalid_votes": 84, "total_weight": 134469614.18055415, "active_vote_weight": 264440617.37553354, "vote_percent_avw": 50.8505900171883, "top_choice_id": 3, "top_choice": "%80", "responses": [ { "choice": "%50", "id": 0, "weight": 20965504.36493636, "votes": 77.5 }, { "choice": "%60", "id": 1, "weight": 514513.32825352, "votes": 10.5 }, { "choice": "%70", "id": 2, "weight": 8318250.63240494, "votes": 35 }, { "choice": "%80", "id": 3, "weight": 55459045.41445334, "votes": 237.5 }, { "choice": "%90", "id": 4, "weight": 22963203.95100498, "votes": 111.5 }, { "choice": "Abstain", "id": 5, "weight": 26249096.48950101, "votes": 54 } ] }

jamescowens commented 2 years ago

55459045.41445334 / (134469614.18055415 - 26249096.48950101) = 51.246%, so the 80% choice got 51.246% of the vote excluding abstentions.

jamescowens commented 2 years ago

4/5 (80%) has now been hard coded into the MRC protocol for the fee split. Closing this issue.