gridcoin-community / Gridcoin-Tasks

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

[2 Poll Proposal] Revitalizing Gridcoin: Enhancing participation by rebalancing rewards and vote weight #268

Open grctest opened 1 month ago

grctest commented 1 month ago

Abstract

Gridcoin ($GRC) has reached several key development milestones, laying a solid foundation in the blockchain space. However, recent years have seen a decline in both $GRC's market capitalization and trading volume, highlighting concerns about community engagement and the utility of the network. This proposal seeks to revitalize the Gridcoin community and ecosystem by introducing a series of changes aimed at promoting increased participation and collaboration.

Motivation

Gridcoin has successfully accomplished numerous significant milestones, including:

However, despite these achievements, $GRC has faced a notable decline in market cap and trading volume over the past few years, particularly in contrast to other cryptocurrencies that have seen significant growth during this period.

This proposal seeks to address these challenges by significantly increasing GRC emissions, aiming to enhance community engagement, attract new users, and generate renewed interest in the Gridcoin ecosystem. By fostering a collaborative environment, we can strengthen the network and encourage broader participation.

Rational

Primary issues

Despite significant improvements to Gridcoin, including the achievement of key roadmap milestones, the market cap has not reversed its multi-year downtrend. At the time of writing this proposal, $GRC has a market cap of approximately $1.4M and a price of $0.003, a decrease of 98.6% from its peak of $0.2142 on January 9, 2018 (source)

The Gridcoin Research blockchain rewards a considerably larger number of users than the Gridcoin Classic blockchain ever did, with no team requirements, non-BOINC support, and a provably fair distribution of rewards among multiple projects. However, despite these improvements, the price trend has continued to decline.

Additionally, Gridcoin is currently listed on only a few small exchanges and has been delisted from several major exchanges in previous years. This limited accessibility hampers the ability to trade and engage with $GRC effectively.

Furthermore, Gridcoin faces challenges in external service support, making it difficult to spend $GRC directly on goods and services. Compounding these issues, CoinMarketCap no longer displays price charts for Gridcoin, further impacting visibility and engagement.

Primary identified root cause - The lackluster emissions schedule

Gridcoin's declining emissions schedule has not produced the desired positive impact on the value of $GRC. The decision to reduce emissions aimed to create a more sustainable ecosystem, yet it has not led to the anticipated outcomes. This indicates a need to adjust our approach for the future.

The classic client emitted between 5-150 $GRCX per block, considering the conversion from $GRCX to $GRC was 10x, that means blocks were rewarded between 50-1500 $GRC each.

Initially the classic client proposed to halve block rewards every 4 years, like bitcoin/litecoin, however this was significantly accelerated by the move to gridcoin research.

Before Gridcoin implemented the BOINC magnitude system, which ensures an even distribution of rewards among projects, rewards were distributed unevenly and could be unfairly influenced by external factors. Consequently, the earliest distributed coins were less fairly allocated among a smaller group of users. In contrast, the modern Gridcoin client offers a provably fair rewards distribution for thousands of users across numerous projects.

image.png

The graphic above illustrates the total verified computation over time for Team Gridcoin. The red portion highlights the GRC distributed during the classic blockchain, while the green section on the right represents the computation rewarded by the research blockchain to date.

While early statistics may have been influenced by GDPR deletions, Scrypt Proof of Work (PoW) drawing on GPU resources, and team migrations after the removal of team requirements, it’s clear that the research blockchain is now rewarding a significantly larger number of users for far more computational contributions than ever before.

The key takeaway from the chart is that the 31% on the right should represent a much larger share, considering the increased number of users and the substantial computing power being harnessed.

Although the shift from PoW to the PoS blockchain consensus technology occurred a decade ago, I'm creating this proposal to dramatically increase rewards to recognize and incentivize a far greater number of users for their extensive computational contributions.

Here's the initial (non-PoB) classic block calculation: (source)

int64 static GetBlockValue(int nHeight, int64 nFees) {
    if (nHeight >= 199000) { // Gridicoin Research transition
        return MaxBlockValue(nHeight,nFees);
    }

    //GridCoin - variable reward based on BoincProcess Utilization (minimum 5, Max 150)
    int64 nSubsidy = GetBoincUtilization() * COIN;
    // Subsidy is cut in half every 840000 blocks, which will occur approximately every 4 years
    nSubsidy >>= (nHeight / 840000); // Gridcoin: 840k blocks in ~4 years
    //Gridcoin : Total block pays 5-150 + 2*Fees
    if (nFees > 100) nFees=0;
    return nSubsidy + (nFees*2);
}

Code highlighting that initial classic distro was based on device cpu/ram utilization (manipulatable), not project magnitude: (source)

int64 static GetBoincUtilization() {
    //GridCoin - BoincUtilization for Processor plus memory will return a value between 0-100.
    //GridCoin pays 5GRC if the miner is not participating, and up to 150GRC if miner is participating, based on the homogenized reading.
    int64 nCalculatedReading = nBoincUtilization * 1.5;
    if (nCalculatedReading < 5) nCalculatedReading=5;
    if (nCalculatedReading > 150) nCalculatedReading = 150;
    if (!bBoincSubsidyEligible) nCalculatedReading = 5;
    return nCalculatedReading;
}

Code highlighting that initial classic PoB didn't divide rewards between projects, note RAC/NetworkRac: (source)

int64 static GetBlockValuePoB(int nHeight, int64 nFees, double RAC, double NetworkRAC, int algo_type) {
    if (nHeight >= 199000) { // transition to gridcoin research
        return MaxBlockValue(nHeight,nFees);
    }

    //GridCoin - variable reward based on BoincProcess Utilization (minimum 5, Max 150)
    if (RAC < 100) RAC = 0; // min RAC of 100
    if (NetworkRAC < 1) NetworkRAC = 1;
    if (nFees > 100) nFees=0;
    double sub1 = (RAC/NetworkRAC)*150; // <- unfair
    if (sub1 > 149.99) sub1 = 149.999;
    std::string sSub = RoundToString(sub1,3);
    double subsidy = 0;
    if (algo_type==3) {
        subsidy = cdbl(sSub,4); //Note the precision change to 4 digits
    } else {
        subsidy = cdbl(sSub,3); //Note the precision change to 3 digits
    }
    if (subsidy > 150) subsidy = 150;
    int64 nSubsidy = subsidy * COIN;
    // Subsidy is cut in half every 840000 blocks, which will occur approximately every 4 years
    nSubsidy >>= (nHeight / 840000); // Gridcoin: 840k blocks in ~4 years
    //Gridcoin : Total block pays 5-150 + 2*Fees
    if (nSubsidy < 0) nSubsidy=0;
    return nSubsidy + (nFees*2);
}

We can condense the above into the following table, using the 10x conversion rate:

chain min max daily blocks daily emissions
GRCX 50 1500 ~576 28,800 to 864,000
GRC 10 10 ~960 9600 + 28000

OK, It feels a bit unrealistic to estimate 1500x576 for every block from the code as not every block aught to have maxed out rewards, but still it highlights a major upper end of rewards which is missing from the research blockchain rewards schedule.

So, Let's compare the total coin supply from launch -> conversion -> now, perhaps that'll be a fairer comparison:

chain from to coin supply days coins/day daily blocks coins/block
GRCX October 16th, 2013 October 11th, 2014 340,569,880 360 days 946,027 ~576 1,642
GRC October 11th, 2014 October 1st 2024 495,007,945 (+154,438,065) 3,643 days 42,393 960 44

OK, so perhaps it was in fact appropriate to estimate that every classic block was rewarded the maximum then..

The daily average emissions during the classic client were approximately 946,000 $GRC, while the current average has decreased to around 42,000 $GRC (with a target of 37,600). This represents a significant reduction of approximately 99.96% in reward emissions, which raises questions about the adequacy of the current distribution

If the original emissions schedule had been maintained, we would have already experienced two halvings, with the next occurring in two years. This would have resulted in an average of approximately 236,500 $GRC per day, still about 563% higher than the current average daily emissions.

This would roughly look like the following: (source)

Date range coins/day total coin supply coins emitted in period coins per year
16/10/13 - 15/10/17 933068 1,260,108,556 1,260,108,556 315,027,139
16/10/17 - 15/10/21 466534 1,941,714,850 681,606,294 170,401,573
16/10/21 - 15/10/24 (75%) 233267 2,197,842,061 256,127,211 64,031,802

When comparing the current supply of 494,969,675 $GRC to the originally proposed classic emissions estimate of 2,197,842,061 $GRC at this point, it is clear that only about 22% of the intended emissions have been realized. This results in approximately 1.7 billion fewer $GRC being in circulation than the classic emission schedule anticipated.

OK, so let's visualize the original classic emissions schedule and where we'd somewhat be now if we'd stuck with it:

image.png

The inflation chart highlights some challenges associated with Gridcoin Classic. While starting from zero can exaggerate the initial APR, it is noteworthy that we were initially on track for a 100% APR at the time of conversion to $GRC. However this rate was decreased significantly to 9%, followed by a further decline to 1.5% within the next year after migrating from the classic to research blockchains. (source)

CAmount GetCoinYearReward(int64_t nTime)
{
    // Gridcoin Global Interest Rate Schedule
    CAmount INTEREST = 9;

    if (nTime >= 1410393600 && nTime <= 1417305600) INTEREST =   9 * CENT; // 09% between inception  and 11-30-2014
    if (nTime >= 1417305600 && nTime <= 1422576000) INTEREST =   8 * CENT; // 08% between 11-30-2014 and 01-30-2015
    if (nTime >= 1422576000 && nTime <= 1425254400) INTEREST =   7 * CENT; // 07% between 01-30-2015 and 02-30-2015
    if (nTime >= 1425254400 && nTime <= 1427673600) INTEREST =   6 * CENT; // 06% between 02-30-2015 and 03-30-2015
    if (nTime >= 1427673600 && nTime <= 1430352000) INTEREST =   5 * CENT; // 05% between 03-30-2015 and 04-30-2015
    if (nTime >= 1430352000 && nTime <= 1438310876) INTEREST =   4 * CENT; // 04% between 05-01-2015 and 07-31-2015
    if (nTime >= 1438310876 && nTime <= 1447977700) INTEREST =   3 * CENT; // 03% between 08-01-2015 and 11-20-2015
    if (nTime > 1447977700)                         INTEREST = 1.5 * CENT; //1.5% from 11-21-2015 forever

    return INTEREST;
}

. Following the implementation of the Constant Block Reward system, the emissions of $GRC increased from the previously hardcoded rate of 1.5% to approximately 4.5%. (source)

CAmount GRC::GetConstantBlockReward(const CBlockIndex* index)
{
    // The constant block reward is set to a default, voted on value, but this can
    // be overridden using an admin message. This allows us to change the reward
    // amount without having to release a mandatory with updated rules. In the case
    // there is a breach or leaked admin keys the rewards are clamped to twice that
    // of the default value.
    const CAmount MIN_CBR = 0;
    const CAmount MAX_CBR = DEFAULT_CBR * 2;

    CAmount reward = DEFAULT_CBR;
    AppCacheEntry oCBReward = GetProtocolRegistry().GetProtocolEntryByKeyLegacy("blockreward1");

    //TODO: refactor the expire checking to subroutine
    //Note: time constant is same as GetBeaconPublicKey
    if ((index->nTime - oCBReward.timestamp) <= (60 * 24 * 30 * 6 * 60)) {
        // This is a little slippery, because if we ever change CAmount from a int64_t, this will
        // break. It is unlikely to ever change, however, and avoids an extra copy/implicit cast.
        if (!ParseInt64(oCBReward.value, &reward)) {
            error("%s: Cannot parse constant block reward from protocol entry: %s",
                  __func__, oCBReward.value);
        }
    }

    reward = std::clamp(reward, MIN_CBR, MAX_CBR);

    return reward;
}

. Based on these estimates, both the Research and Classic blockchains would have been roughly experiencing the same inflation rate at this point, with an additional 1.5 billion $GRC distributed by now had the original emissions schedule been maintained.

image.png

The charts above illustrate:

image.png

image.png

US source, EU source

The charts above indicate the following:

image.png

UK Source, EU Source

Another issue highlighted in the charts is the substantial increase in electricity costs, contributing to the ongoing cost of living crisis in both the UK and the EU. Gridcoin has yet to adjust its emissions schedule to reflect the global rise in electricity prices, which have not returned to pre-'energy-crisis' levels (source).

For context, during the period from 2014 to 2017, I operated a 6kWh BOINC cluster at a monthly cost of £600. By the peak winter of 2022, this cost would have risen to approximately £6000 per month.

While some participants use solar power at little or no cost, many are still affected by rising electricity prices, which are part of a broader cost of living crisis in the UK and EU. Inflation rates have recently outpaced those related to Gridcoin, decreasing disposable income and potentially impacting user engagement with the Gridcoin ecosystem.

Thus, even if electricity costs are not a concern for all, they are a critical factor influencing participation and BOINC computations within the network. Recognizing these economic pressures is essential for understanding current trends and addressing community needs. By considering these real-world factors, we can foster a more supportive environment that encourages participation and strengthens the Gridcoin protocol, ensuring we remain responsive to the evolving landscape.

In conclusion

Given all the issues above, I propose that the current reward emissions should be significantly increased for both block producers and BOINC crunchers over the coming years.

Secondary identified issue - Unbalanced ratios for rewards & voting

Currently, the staking block rewards are fixed at 9,600 GRC/day, while the BOINC rewards are approximately 28,000 GRC/day. This creates a distribution where staking receives 25.5% of the total rewards, and BOINC is rewarded with 74.4% (not accounting for MCR fees).

Where as for voting, the total coin supply is assigned 82.36% vote weight, and total network magnitude is assigned 17.64%.

Each mode's ratio balance is vastly different, for voting concerns balance is held to high degree however when it comes to rewards we overwhelmingly favour BOINC computation, I feel that only assigning 17.64% of the 'total money supply' to 'total network magnitude' is an insufficient vote weight and that it should be increased.

Mode total coin supply total magnitude
Rewards 25.5% 74.4%
Voting 82.36% 17.64%

The decisions to assign these rewards was based on a blockchain poll, and the greater vote weight was assigned to total coin supply as it represents a greater amount of validated historical computation compared to total magnitude which represents the latest 30 days moving average credit for each project you're crunching.

For the poll voting weight, the formula used is:

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

The voting weight formula references the full money supply, including coins stored in dead addresses and exchange cold storage. This introduces a hidden vote-boosting factor that will continue to grow with the total supply of GRC.

The 5.67 value is 100/17.64, so it too is in scope to be changed by this proposal.

Tertiary issue - Establishing blockchain consensus

The decision to implement a reduced emissions schedule for 'Gridcoin Research' was initially made through a series of forum polls, as on-chain voting functionality was not yet available. With the forum now closed, we have transitioned to conducting polls directly on the Gridcoin blockchain, considering both user balances and their significance in the voting process. (source)

While some may argue that the current emissions schedule lacks robust blockchain consensus, it reflects the rules agreed upon by the community to establish consensus for each block. Given the evolving landscape of our network, now is the right time to reevaluate our approach to consensus on block rewards. This reflection will ensure that our governance mechanisms remain relevant and effective in addressing the needs of the community moving forward.

Specifications

Reward Distribution Adjustment

Considering the golden ratio works for resitributing vote weight, let's consider also applying it to the rewards distribution mechansim:

Type Rebalance effect Daily staking rewards Staking Reward % Daily crunching rewards Crunching Reward %
Current 5.67 9600 25.53 % 28000 74.47 %
Golden Ratio: (1 + √​​5) / 2 1.618 14,363 38.20 % (+12.67 %) 23,236 61.80 % (-12.67 %)

The +12.67% increase in block rewards enhances the total active staking supply, representing a moderate boost while preserving the inverted order of reward distribution. This approach assigns a larger share of the daily coin emissions to reward BOINC computations in accordance with the golden ratio.

With the rebalance in place, the next step would be then applying a multiplier to significantly boost the rewards emissions.

Multiplier Staking reward BOINC reward Daily emissions Yearly total emissions Next Year Inflation Years till 2B GRC
1 14,363 (15/block) 23,236 (0.2/mag) 37,600 13,724,000 ~3.5 % ~110
2 28,726 (30/block) 46,472 (0.4/mag) 75,200 27,448,000 ~5.54 % (+2.04) ~54.83
3 43,089 (45/block) 69,708 (0.8/mag) 112,800 41,172,000 ~8.32 % (+5.82) ~36.55
5 71,815 (75/block) 116,180 (1/mag) 187,995 68,618,175 13.86 % (+10.64) ~22.23
10 143,630 (150/block) 232,360 (2/mag) 375,990 137,236,350 27.72 % (+21.28) ~11.11
15 215,445 (225/block) 348,540 (3/mag) 563,985 205,854,525 41.58 % (+31.92) ~7.41
20 287,260 (300/block) 464,720 (4/mag) 751,980 274,472,700 55.44 % (+42.56) ~5.5
25 359,075 (375/block) 116,180 (5/mag) 940,000 343,100,000 69.30 % (+65.8) ~4.4
50 718,150 (750/block) 232,360 (10/mag) 1,880,000 686,200,000 138.59 % (+135.09) ~2.2
75 1,077,225 (1125/block) 348,540 (15/mag) 2,820,000 1,029,300,000 207.9 % (+204.4) ~1.5
100 1,436,300 (1500/block) 464,720 (20/mag) 3,760,000 1,372,400,000 277.2 % (+273.7) ~1.1

Note that not all of the above rewards multipliers will be included in the poll, amounts 25-100 were included to help identify current max limits, at the moment they're too high compared to the current total supply to be implemented.

image.png)

Despite the increase in the maximum reward, the CBR mechanism will remain in effect, as it has significantly improved network difficulty and contributed to a more robust ecosystem. This ensures that the benefits of the CBR system continue while accommodating the new emission dynamics.

Core code in scope for change

Proposed Voting Weight Adjustment

We can easily modify the vote weight calculation by changing the 5.67 ratio to another value.

I propose using the following replacement ratio:

The Golden Ratio, approximately 1.618, is a timeless symbol of harmony and balance found in nature, art, and architecture making it a fitting influence for our voting calculation. By incorporating this culturally rich number, we not only honor the mathematical elegance it represents but also align our community with the ideals of growth and fairness. This move reflects our commitment to creating a balanced ecosystem within Gridcoin which promotes a more equitable distribution of vote weight in the future.

Github issues calling for an increase in magnitude vote weight should be addressed by this substantial vote weight increase.

Type Rebalance effect Balance vote weight Magnitude vote weight
Current 5.67 82.36 % 17.64 %
Phi^2 = Phi+1 2.618 58.54% 41.45%

Required blockchain polls

  1. Approve use of the golden ratio in Gridcoin's vote weight and rewards distribution systems

    A poll to determine whether we change 5.67 to 'Phi^2 = Phi+1' for magnitude vote weight, and Phi for the rewards distribution.

    • Yes

    • No

    • Abstain

  2. Multiplier Selection

    A poll to determine the size of the multiplier to apply to daily emissions

    • 1x (default if poll fails)
    • 5x
    • 10x
    • 15x
    • 20x
    • Abstain

Discussion

Why Gridcoin classic was neither an instantmine nor premine

Gridcoin Classic's launch was marked by a commitment to fairness and decentralization, distinguishing it from both pre-mined and instant-mined blockchains.

A pre-mine involves the creation of a significant number of coins in a single address before the blockchain becomes public, a practice not observed in Gridcoin Classic. Similarly, an instant mine occurs when 99.99% of coins are mined within the first few public blocks, which also did not happen here.

In the first year of Gridcoin Classic, a total of 340,569,880 GRC were created. In contrast, the subsequent decade of Gridcoin Research only saw the generation of 154,438,065 GRC, averaging approximately 15,443,806 GRC per year. This translates to nearly a 95% reduction in rewards after the initial year. While this dramatic decrease in emissions did not fall under the categories of pre-mining or instant mining, it inadvertently placed new users at a disadvantage by significantly lowering the incentive structure.

The decision to substantially cut emissions was made with the intention of enhancing fairness and decentralization in the reward system. However, this drastic reduction may have unintentionally raised questions about alignment with regulatory considerations. Such a sharp decline in emissions, particularly over a short period, could be perceived as limiting for both new users and dedicated long-term stakeholders.

Now, as an effort to recalibrate the emissions trajectory is proposed, this adjustment acknowledges that earlier choices may have overlooked the importance of sustaining growth and community engagement. This initiative seeks to address past missteps and to reinstate a more balanced and inclusive ecosystem. By promoting an environment that encourages active participation and rewards, it aims to turn the page toward a more promising future for Gridcoin.

Stakeholders are encouraged to engage in this transformative process, contributing to a revitalized Gridcoin that honors its history while forging ahead toward sustainable growth.

Why have exchanges historically delisted Gridcoin?

Gridcoin was once listed on several major cryptocurrency exchanges, such as Poloniex and Bittrex. Despite both supporting Gridcoin's transition from Classic to Research, they ultimately chose to delist Gridcoin.

Several exchanges which historically listed gridcoin have shut down due to various waves of new regulation and the volatility of the greater crypto market, both centralized and decentralized exchanges. This lack of historical trading price data has led to missing charts on various crypto price tracking websites, likely degrading Gridcoin's likelihood of new major exchange listing.

The problem as of late seems to be that most Gridcoin users have historically tended to hold their coins long term, exclusively staking and not actively trading them on exchanges, this lack of supply leads to lower earning for exchanges and may influence delisting decisions.

The CBR proposal succeeded in encouraging more GRC to be kept online, thereby significantly increasing the network weight of the Gridcoin blockchain. However, the proposal did not fully communicate the potential long term implications for trading activity on supported exchanges.

Before the substantial decrease in Gridcoin emissions, there was sufficient trading volume to justify listings on these platforms. Years later, despite numerous advancements in Gridcoin's blockchain technology and achievements, exchange listings are few and far between.

Substantially increasing the amount of Gridcoin being emitted could potentially encourage users to actively engage with their holdings, eventually maybe leading to free exchange listings in the long term.

When to rebalance rewards again in the future?

The constant block reward mechanism does not increase its reward in response to the growth of the total coin supply, so as a proportion of total supply it is decreasing every block so even a large multiplier to the current rewards impact on inflation will be deflated after several years time.

So, a similar issue may arise in the future where the rewards could become less enticing to participants, requiring another voted upon block rewards rebalancing.

I propose the following formula for triggering a new round of block rewards rebalancing discussion:

if (current_inflation_rate < ((European_Union_Inflation + USA_Inflation) / 2)) {
  // Poll on increasing inflation
}

The inflation rates would be the prior year, not the current year so as to avoid a month's shock inflation prematurely triggering discussions on the matter.

If we feed 2022's data into the formula we get: ((8.83 + 8) / 2) = 8.415% which is greater than 3.5% thus warranting rewards rebalancing.

This formula would have returned false for 2013 through 2021, so it's unlikely to be triggered soon after rebalanced rewards go into effect.

Rationalizing the irrational golden ratio

The golden ratio, represented mathematically as (1 + √5) / 2, is an intriguing irrational number that cannot be precisely expressed as a fraction of two integers. Its value, approximately 1.6180339887, reveals an infinite decimal expansion that continues without repeating, embodying a unique blend of beauty and complexity. This mathematical phenomenon is not just an abstract concept; it has profound implications in various fields, including art, architecture, and, importantly, blockchain technology.

In practical applications, particularly in blockchain reward mechanisms, we require a rational approximation that can closely represent this irrational value while maintaining the precision necessary for accurate token distribution. Even a slight deviation from the true golden ratio can lead to significant discrepancies.

We could consider the fraction 5702887 / 3524578, which yields approximately 1.618033988749895. This fraction aligns nearly perfectly with the golden ratio, ensuring minimal error in calculations.

Ultimately, it is at the discretion of the core blockchain developers to determine the precision of golden ratio decimalization matching. Their decisions will shape the accuracy of the reward mechanisms and influence the overall efficiency of the system.

Could Increased Inflation Detrimentally Affect Consensus?

This proposal suggests leaving the decision regarding the reward multiplier to the blockchain poll participants. However, it’s essential to consider that Gridcoin is a Proof of Stake (PoS) cryptocurrency, meaning that increasing the reward distribution directly affects the mechanism that secures the blockchain. Therefore, participants should exercise due diligence when deciding on the size of the reward increase.

In a recent, now-expired Gridcoin poll, the active vote weight was reported as 267,026,167 GRC (54.7% of the total supply). While this data is several months old and only provides a rough reference, it still illustrates a crucial point to consider.

If the community opts to emit more coins per year than this figure, it could significantly alter the balance of staking weight across the network. This shift could lead to changes in who secures the blockchain and might increase staking difficulty as more coins are introduced into circulation through new issuance.

This proposal raises staking rewards from 25.5% to 38.2%, creating a balanced framework for a substantial increase in rewards for BOINC computations. By proportionally adjusting the staking rewards, we prevent rapid chaotic dilution of the coin supply. This adjustment is inspired by the Golden Ratio, symbolizing harmony and balance in reward distribution while enhancing the overall ecosystem.

It's also worth noting that after 11 years of Gridcoin’s existence, rewards distribution mechanisms for both staking and distributed computing contributions have undergone years of refinement. These mechanisms now reward a larger, more proportionally fair group of participants compared to the early days of Gridcoin. As block rewards increase, the distribution of newly issued coins across a broader base of users could potentially mitigate concerns around centralization of block production, even as the total coin supply inflates at a greater rate.

Gridcoin is older than Dogecoin - let's compare the two...

Chain Consensus mechanism Daily block rewards Daily research rewards Blockchain age Market cap
GRC POS 9,600 28,000 4,003 days $1.5M
Doge POW (Scrypt) 14,400,400 0 3,952 days $16.3B

While both cryptocurrencies have demonstrated resilience, their approaches to consensus and reward structures highlight key differences that may inform future strategies for Gridcoin.

Consensus Mechanism:

Gridcoin's Proof of Stake (PoS) mechanism stands in stark contrast to Dogecoin's Proof of Work (PoW). PoW relies on energy-intensive mining operations, whereas PoS promotes sustainability by rewarding participants for holding their coins. A recently released roadmap for dogecoin indicates interest in transitioning to a PoS model, yet it has faced delays far in excess of the time it took for Gridcoin to transition from POW to POS.

Reward Structure:

Dogecoin's significantly higher daily rewards encourage circulation and trading among users, contributing to its robust market presence. In contrast, Gridcoin's current structure limits incentives for users to trade, as they may choose to stake rather than exchange their coins. Increasing daily emissions could attract new participants, enhance liquidity, and stimulate market activity.

Community Engagement and Branding:

Dogecoin's meteoric rise is often credited to its meme-driven culture and strong community engagement. While Gridcoin’s story is grounded more in its scientific purpose, it has the potential to spark a new cultural moment of its own. The idea of ushering in a "Golden Age" speaks not only to a fresh era of participation and growth, but also taps into the profound mathematical and cultural resonance of the golden ratio, or divine proportion. This ratio has captivated minds across history—from ancient architecture to nature’s most perfect forms—symbolizing balance, beauty, and harmony.

By aligning Gridcoin’s reward distribution with this timeless principle, we can evoke a sense of deeper meaning and significance within the community. It represents more than just numbers—it’s a call to embrace a balanced, sustainable, and prosperous future. Effectively marketing this narrative could revitalize Gridcoin’s cultural identity, offering something with broader emotional and intellectual appeal. In this way, Gridcoin can create its own unique engagement, echoing the success of Dogecoin’s community-building, but with a more elevated, purposeful message that resonates on multiple levels.

Market Dynamics:

The disparity in market capitalization between Dogecoin and Gridcoin highlights the opportunities for growth in Gridcoin. By adopting a more flexible emissions schedule, Gridcoin could better align with market trends that emphasize accessibility and widespread participation. Dogecoin's success illustrates how a non-scarcity model can foster user engagement and resilience.

In conclusion, Gridcoin can enhance its ecosystem by considering practices similar to those of Dogecoin. By adjusting its emissions strategy, Gridcoin could encourage greater community involvement and trading activity, ultimately supporting a more vibrant and adaptive ecosystem. This approach not only honors the original vision of Gridcoin but also positions it to thrive in the evolving cryptocurrency landscape.

Summary for stakeholders

Existing Gridcoin Users

This proposal aims to significantly increase the daily Gridcoin emissions, benefiting both Proof of Stake (PoS) and BOINC (Berkeley Open Infrastructure for Network Computing) rewards.

New Gridcoin Users

The proposed changes will make it easier for new participants to earn a greater share of the total Gridcoin supply through staking and BOINC work than has been possible in recent years.

Exchanges & Services

This proposal will be open to discussion and may involve multiple rounds of blockchain polling before a final plan is implemented.

See Also

The Gridcoin Research marketcap chart since creation:

image.png

https://www.coingecko.com/en/coins/gridcoin-research

The Team Gridcoin Total RAC (not including non team members):

image.png

https://www.boincstats.com/stats/-1/team/detail/118094994/charts

More info on golden ages:

https://en.wikipedia.org/wiki/Golden_age_(metaphor)

https://civilization.fandom.com/wiki/Golden_Age_(Civ5)

More info on the golden ratio: φ

https://www.adobe.com/uk/creativecloud/design/discover/golden-ratio.html

https://www.canva.com/learn/what-is-the-golden-ratio/

https://en.wikipedia.org/wiki/Golden_ratio

https://mathworld.wolfram.com/GoldenRatio.html

Source of classic to research conversion rate:

https://gridcoin.us/wiki/gridcoin-classic.html

Github links relating to vote weight balancing:

https://github.com/gridcoin-community/Gridcoin-Tasks/issues/220

https://github.com/gridcoin-community/Gridcoin-Research/issues/87

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

grctest commented 1 month ago

Thanks for reading my proposal - I'm looking forwards to your comments.

I would vote as follows:

Frist gridcoin golden ratio meme image:

image

jamescowens commented 1 month ago

@grctest Thanks for a very thorough proposal! I am writing up some comments which I will post here this weekend.

jamescowens commented 1 month ago

@grctest, there was a significant declining schedule in the current Gridcoin emissions after the changover to the current PoS chain as well. This historical rule is actually retained in the current code in reward.cpp: (listed along with the current CBR code)

CAmount GetCoinYearReward(int64_t nTime)
{
    // Gridcoin Global Interest Rate Schedule
    CAmount INTEREST = 9;

    if (nTime >= 1410393600 && nTime <= 1417305600) INTEREST =   9 * CENT; // 09% between inception  and 11-30-2014
    if (nTime >= 1417305600 && nTime <= 1422576000) INTEREST =   8 * CENT; // 08% between 11-30-2014 and 01-30-2015
    if (nTime >= 1422576000 && nTime <= 1425254400) INTEREST =   7 * CENT; // 07% between 01-30-2015 and 02-30-2015
    if (nTime >= 1425254400 && nTime <= 1427673600) INTEREST =   6 * CENT; // 06% between 02-30-2015 and 03-30-2015
    if (nTime >= 1427673600 && nTime <= 1430352000) INTEREST =   5 * CENT; // 05% between 03-30-2015 and 04-30-2015
    if (nTime >= 1430352000 && nTime <= 1438310876) INTEREST =   4 * CENT; // 04% between 05-01-2015 and 07-31-2015
    if (nTime >= 1438310876 && nTime <= 1447977700) INTEREST =   3 * CENT; // 03% between 08-01-2015 and 11-20-2015
    if (nTime > 1447977700)                         INTEREST = 1.5 * CENT; //1.5% from 11-21-2015 forever

    return INTEREST;
}
} // Anonymous namespace

// -----------------------------------------------------------------------------
// Functions
// -----------------------------------------------------------------------------

CAmount GRC::GetConstantBlockReward(const CBlockIndex* index)
{
    // The constant block reward is set to a default, voted on value, but this can
    // be overridden using an admin message. This allows us to change the reward
    // amount without having to release a mandatory with updated rules. In the case
    // there is a breach or leaked admin keys the rewards are clamped to twice that
    // of the default value.
    const CAmount MIN_CBR = 0;
    const CAmount MAX_CBR = DEFAULT_CBR * 2;

    CAmount reward = DEFAULT_CBR;
    AppCacheEntry oCBReward = GetProtocolRegistry().GetProtocolEntryByKeyLegacy("blockreward1");

    //TODO: refactor the expire checking to subroutine
    //Note: time constant is same as GetBeaconPublicKey
    if ((index->nTime - oCBReward.timestamp) <= (60 * 24 * 30 * 6 * 60)) {
        // This is a little slippery, because if we ever change CAmount from a int64_t, this will
        // break. It is unlikely to ever change, however, and avoids an extra copy/implicit cast.
        if (!ParseInt64(oCBReward.value, &reward)) {
            error("%s: Cannot parse constant block reward from protocol entry: %s",
                  __func__, oCBReward.value);
        }
    }

    reward = std::clamp(reward, MIN_CBR, MAX_CBR);

    return reward;
}
div72 commented 1 month ago

I'm in favour of increasing emissions but the root cause of low market cap for Gridcoin is because of lack of demand. Big part of the problem is that Gridcoin is not a useful cryptocurrency as there's nothing of value that can be bought with GRC. There were some interesting proposals in the past but I think the easiest/safest way is to incentivize? selling goods/services from within the community. (which I assume r/MarketGrid was an attempt at.)

Part of this is can be improved by wallet:

A bigger part of this need some coordinated effort from the community. Once that's done, it'd be more appropriate to look getting into CEXs(or make a DEX?) to help new users obtain GRC.

jamescowens commented 1 month ago

@grctest:

In addition to my comments on Discord, I think it would be feasible to use the active vote weight at the beginning of the poll as a substitute for money supply. Trying to use the average active vote weight during the poll results in effectively a recursive algorithm that makes it non-deterministic to compute each votes' vote weight as the poll progresses after a vote has already been cast. This has some very bad ramifications technically in terms of poll validation and also caching of already cast votes. A lot of work has been done to cache already cast votes to improve GUI performance, and this would go out the window if we have to continually update the active vote weight substitute for money supply as the poll progresses.

Also note that the GetActiveVoteWeight method has the same 567/100 ratio hardcoded there, and this will need to be removed and replaced with an appropriate reference to blockchain consensus structure.

grctest commented 1 month ago

@jamescowens

Thanks for your input here and on Discord, much appreciated!

I've updated my post to include your code references, as well as:

Looking forwards to further communications on this matter.

@div72

Thanks for your thoughts on the proposal. I believe we’re in a bit of a catch-22: the lack of demand may stem from insufficient rewards. We can’t expect coordinated community efforts when current participants aren’t adequately rewarded (in my opinion).

Regarding user experience and mobile solutions, there are many possibilities through open-source projects developed for Bitcoin and Dogecoin. The underlying technology is similar, but implementing Electrum servers, mobile clients, and third-party wallets requires sufficient participation and stake weight equity to make it worthwhile. If you’re up for the challenge, I believe these improvements are achievable, although they come with costs and risks.

Once we establish the right balance of rewards, I think we’ll see a new wave of user growth, along with potential new dev projects and CEX listings.

It’s important to remember that new waves of users will face fewer roadblocks:

With these significant improvements to user onboarding in mind, attracting a large number of new users to Gridcoin is now a viable and responsible goal compared to past waves of new users.

On the topic of DEXs, many are essentially centralized gateway tokens with counterparty risk. While there’s potential in HTLC on the Bitshares DEX, the user experience could certainly be improved. We could try to get listed on XBTS or BTWTY on the BTS DEX, however Gridcoin's past Bitshares gatway experience has not been great.

jamescowens commented 4 weeks ago

I have started work already on some of this... see https://github.com/jamescowens/Gridcoin-Research/tree/enhance_voting_consensus_rules.

jring-o commented 4 weeks ago

My TL;DR thoughts

  1. I appreciate the effort put into this! I think GPT did a lot of lifting... your most recent response highlights things that have already been achieved?
  2. I think there are some interesting aspects in this proposal, though for the majority I'm not sure it will achieve what you're setting out to achieve.
  3. Inflating does not increase value. That is the definition of inflation, and why crypto was made in the first place. There is something to be said about rebalancing the coin supply to fix the whale issues (though this can be done through deflation instead of inflation).
  4. People will come to Gridcoin because it does something useful for them, not because they are getting a larger number of a thing that has zero price. This is important. Gridcoin does not have a price because there is no market for it. Printing more of it likely to do nothing and might actually do harm.
  5. Gridcoin has been attracting more of us lovely nerds despite this lack of use and with normal inflation rates. Active beacons have doubled in two years.
  6. I think an actual golden age move, temporary in time, algorithmically defined, and strategically aligned with a market adoption cycle would be amazing. It would potentially capture many of the people new to crypto in that cycle. But those people will need to have a reason to look at Gridcoin other than more coins go brrrrrr.
  7. Some of your goals might be better achieved by tying emissions to beacons? As beacons increase, so does emissions. Targeting a stable rate. This is doable and has been discussed in the past.
  8. There are three early versions of proposals out there that have a high likelihood of solving Gridcoin's problems. The problem is that no one has time to build them. Someone come build them! They are also inter-related. Solve all three at the same time!

Solution 1: Gridcoin Closed Loop

Solution 2: An ETH Echo of Gridcoin (Audio discussions between myself and Jim and Levi) Episode 1 - Rationale and overview Episode 2 - More overview and general discussion Episode 3 - Type of system: Interconnected networks Episode 4 - Airdrop logistics and mechanics

Solution 3: GRC Economics v2.0 also with a a good amount of lifting from GPT... =)

grctest commented 4 weeks ago

@jring-o Copying my reddit post responses over to here:

  1. I appreciate the effort put into this! I think GPT did a lot of lifting... your most recent response highlights things that have already been achieved?

Definetley used chatgpt to do the following:

  1. Avoid all negative/agressive language, avoiding laying any blame at anyone for choices made in the past, avoiding upsetting communities/developers, and to fix/detect bad grammar
  2. Making sure I'd covered enough perspectives of the idea, having back and forth discussion with the AI on topics instead of spamming telegram/discord with ideas, so each paragraph has been iteratively worked on through a couple dozen or so chat sessions (copilot + chatgpt)
  3. Avoid any possible failures of the howey test, critically going over all the text to avoid such banned terminology - as requested of the main website and client (not an investment), it did in fact improve in this matter if you compare this public version to the slack drafts I shared with you originally

I use LLM's every day for programming, and feel that it was very beneficial in helping put together this document 👍

I did let you know 2 weeks in advance that I was using LLM AI's to help create this proposal, so it's no shock.

However I brought up the already achieved points to div72 on github as examples of large achievements we once touted as our primary roadmap in the past, that what he was asking for was entirely acheivable, and how that with these achievements under gridcoin's belt that new waves of new user recruitment (e.g. viral reddit post) will result in far more users hanging around for longer, versus being impeded by all the roadblocks (which were resolved by the mentioned achievements), hence supporting the idea of boosting equity amonst the current generation of GRC earners.

  1. Inflating does not increase value. That is the definition of inflation, and why crypto was made in the first place. There is something to be said about rebalancing the coin supply to fix the whale issues (though this can be done through deflation instead of inflation).

I suppose that depends on what you're referring to as value, the proposal avoids any howey test negative terminology in line with the same requirements applied to the websites and clients, matters of price are only passingly referenced a couple times rather than being a primary justification for the proposal.

I feel that boosting potential equity earning potential in the current generation of GRC earners through rewards rebalancing could improve decentralization, boost BOINC contributions, increase the userbase and thus lead to more chain and developer activity (that's valuable to me). It's a proposal for the next 7-10 years, not a short lasting change proposal.

I would reiterate points made in the proposal though, that artificial scarcity is unsustainable, and that far higher inflation rates have led to far greater blockchain success in projects like Doge, so some form of rewards balancing feels appropriate given the circumstances outlined in the proposal's justification section.

  1. People will come to Gridcoin because it does something useful for them, not because they are getting a larger number of a thing that has zero price. This is important. Gridcoin does not have a price because there is no market for it. Printing more of it likely to do nothing and might actually do harm.

This was also once the case for Bitcoin, yet following in the footsteps of Bitcoin's artificial scarcity has not produced the same desired effects. Gridcoin does do something useful already for people - it provides free distributed compute power to BOINC projects (which anyone can run with commercial off the shelf software). Most cryptocurrencies at their base layer don't offer functionality to their users, it's the third party developers and second layer technologies which have introduced this years after their wide success.

68747470733a2f2f696d616765732e686976652e626c6f672f44516d62344c3166536a7779364b57745543486f373666727247363158484e4a4355624e5877365a56575264354b6b2f696d6167652e706e67

I feel this image is best to reflect upon for this point, that 69% of all coins were issued in the left red segment, yet only 31% of coins have been issued in the right green segment. There aught to be more equitable distribution given a far greater quantity of users crunching far more work units for a shrinking stake of the total supply.

I believe the negative impact of shrinking rewards for new users has been underemphasized, with fewer coins in your balance you're less likely to try and get it listed somewhere, less likely to try to trade it, less likely to try and spend it, less likely to develop something for it, especially if you feel like it's to the benefit of whales instead of your own future. With a major boost to BOINC rewards, it'll reduce the proportional stake weight of these whale proof of stake (only) addresses faster.

It's also worth noting that Gridcoin once did have a price on coinmarketcap, once did have multiple large exchange market listings and some service support, however I believe these were lost over time due to the primary issues identified in the proposal - GRC users tend to hold their tokens, so an oversupply might discourage that 'hold everything' behaviour, enabling excess to be used on exchanges/services.

If issuing more GRC can do harm as you say, why are you proposing to also issue more GRC on another blockchain?

  1. Gridcoin has been attracting more of us lovely nerds despite this lack of use and with normal inflation rates. Active beacons have doubled in two years.

Indeed, Gridcoin's CBR+POS mechanisms make Gridcoin's blockchain highly resilient, even in the face of highly limited trading conditions it continues to grow in both popularity and available compute power; I believe these new users in their greater numbers deserve far more equitable rewards than they're currently receiving, and that by making such a move we could be doing far more than doubling every 2 years.

  1. I think an actual golden age move, temporary in time, algorithmically defined, and strategically aligned with a market adoption cycle would be amazing. It would potentially capture many of the people new to crypto in that cycle. But those people will need to have a reason to look at Gridcoin

I've roughly estimated a golden age as 7-10 years, which feels like an appropriate duration for a proposal regarding rewards/voting rebalancing. The proposal includes a theorized social contract for triggering future rewards rebalancing talks, which could be viewed as a form of algorithmically defined golden age triggering mechanism.

Golden age, golden ratio, divine proportions, there's a lot of reference material to work with for future marketing waves, compared to the current scenario - royal purple and science, lacking a supporting meme unlike dogecoin.

There's plenty of reason to look at Gridcoin, the recent nobel prize for example, but I do think that a combination of new marketing (with above idea) with golden age rewards boost could supercharge the sucessful recruitment rate in future new user drives, where as some may be put off by the current grc rewards in terms of proportionality to existing whales.

  1. Some of your goals might be better achieved by tying emissions to beacons? As beacons increase, so does emissions. Targeting a stable rate. This is doable and has been discussed in the past.

The thing is though the blockchain is already setup to allow the configuration of rewards ratios to a small degree, by administration key roles IIRC, so the current proposal leans on that current implementation heavily.

I think that someone who's really determined could also work on inflating the beacon count, we're still not yet using the BOINC server based public key ownership proof so it's still quite a lot of work to pull off, but not impossible. Given that this proposal estimates rewards for the next 10 years, I feel that it would be entirely expected to put rewards to a vote again by the end of that 10 year period, or if the proposed social contract formula triggers (1 year after the impact of IRL inflation has been felt).

Would emissions shrink if fewer people were crunching than there currently are? That'd be unappealing.

Overall, I'm unsure that a beacon based mag multiplier could be symbil attack proof nor be enough of a rewards rebalancing compared to the proposal poll options, possibly.

I will concede though that constant block reward does have somewhat of a flaw in that it shrinks over time, requiring a future rebalance to maintain certain inflation rates, however the rewards can be tweaked in real time without a mandatory if needed (just up to a certain limit currently).

  1. There are three early versions of proposals out there that have a high likelihood of solving Gridcoin's problems. The problem is that no one has time to build them. Someone come build them! They are also inter-related. Solve all three at the same time!

I believe that the proposal can co-exist with the implementation of any of these 3 proposals. If a EVM ERC20 token is created in the future, that may directly affect the current charts used in the proposals however, it'd need to be factored in if implemented. I am quite opposed to ETH though, considering it performed an unregistered ICO it's arguably an illegal security.

Ideas like these need funding, and we can fund the foundation through increased rewards as it's fundable via MRC and optional (or mandatory) side-staking, however as the proposal theorizes - users with more equitable rewards may be more likely to lend their development capabilities given that they'll be able to earn something that makes them a viable stakeholder.

It's clear to me that CBR suceeded in hardening the security of the network, it'll never die, but we do need some surgical rebalancing as proposed to revitalize people's motivation to work towards these common Gridcoin goals.

As I mentioned re point 4, BTC and DOGE were in a similar scenario in the past, lacking real world value, requiring second layer solutions, relying on volunteer development, they suceeded and so can the Gridcoin community! :)

I'll look through the document, would be great if you converted your videos to documents too..

jamescowens commented 3 weeks ago

The problem with using AVW as an input to the function that computes vote weight is that AVW ITSELF uses the money supply and the magnitude weight factor as part of the AVW computation. By then using the AVW in the voter weight itself, this effectively becomes recursive, which is not a good idea.

For example if every voter that is staking votes, and you add up the total weight across all votes, you should get 100%. This principle will be violated based on the proposal. I will come up with an appropriate modification.

grctest commented 3 weeks ago

If the AVW proposal is too complex, we could instead change the old 5.67 weight to improve the vote weight allocated to magnitude whilst setting aside the idea of 'offsetting dead coins'?

We could even retain the use of the golden ratio without AVW, such as:

(((1 + √​​5) / 2)² = 2.6180339887499 = ((1 + √​​5) / 2) + 1

Using total weight, this would give magnitude a vote weight distribution of:

Type Rebalance effect Balance vote weight Magnitude vote weight
Current 5.67 82.36 % 17.64 %
(1 + √​​5) / 2 & AVW 1.618 61.80 % 38.20 %
Phi^2 = Phi+1 2.618 58.54% 41.45%

In terms of raw vote weight:

Type Rebalance effect Balance vote weight Magnitude vote weight
Current 5.67 267,026,167 87,302,988
(1 + √​​5) / 2 & AVW 1.618 267,026,167 165,031,247
Phi^2 = Phi+1 2.618 267,026,167 189,076,210

This is an increase of 3.26% vote weight towards magnitude, however it's roughly the same vote weight as the AVW proposed formula, without the need to refactor AVW.

If so, we could then simplify polling to a 2 poll proposal:

Required blockchain polls

  1. Approve use of the golden ratio in Gridcoin's vote weight and rewards distribution systems

    A poll to determine whether we change 5.67 to 'Phi^2 = Phi+1' for magnitude vote weight, and Phi for the rewards distribution.

    • Yes

    • No

    • Abstain

  2. Multiplier Selection

    A poll to determine the size of the multiplier to apply to daily emissions

    • 1x (default if poll fails)
    • 5x
    • 10x
    • 15x
    • 20x
    • Abstain
jamescowens commented 3 weeks ago

I like this much better. We can also take a look at where we look at pure netweight at the start of the poll instead of money supply. This should be about 190M based on the current average diff of 19. I think a 30 day average netweight value computed as the 30 days preceding poll start is the right thing to use.

So lets see what getblockstats 1 says. The difficulty average is 18.99907121477888. This * 9544517.4 ·= 181,336,966 GRC netweight for 30 day average.

jamescowens commented 3 weeks ago

The overflow analysis indicates we can safely use a fraction with the numerator and denominator up to 15 decimal digits for magnitude weight factor. We should probably limit to 10 digits for the numerator and denominator as that is more than sufficient I think.

So 2 / (1 + sqrt(5)) ~= 1000000000 / 1618033989

The suggested fraction by @grctest, 5702887 / 3524578 or more accurately its reciprocal, will also be fine.

grctest commented 2 weeks ago

I've updated the original post with: