gridcoin-community / Gridcoin-Research

Gridcoin-Research
MIT License
585 stars 172 forks source link

Current Problem with Rewards on Gridcoin and proposed solutions #536

Closed startailcoon closed 4 years ago

startailcoon commented 7 years ago

I have posted a paper on Steemit with a proposal on the issue with rewards distribution on the network. Please read it at Steemit on: https://steemit.com/gridcoin/@sc-steemit/current-problem-with-rewards-on-gridcoin-and-proposed-solutions   Discussions can be held here, Steemit or on CCT.

jring-o commented 7 years ago

I think both of these options are improvements on the current protocol.

However,

I think the ideal protocol would compare Flops volunteered by each user. This would eliminate the need to compare projects altogether: A user is rewarded in relation to the number of Flops they volunteer to BOINC instead of some ratio of RAC. I'm not sure how easy that would be to implement.

In the meanwhile, I think option 2 in this proposal holds the greatest long term potential.

I'm looking forward to this conversation = )

gridcoin commented 7 years ago

Was just discussing this idea with Ravon.
We agree that the current problem with 40,000 grc daily divided equally among projects promotes project hopping and is only resolved through project arbitrage. The proposed factor of totalusers/participating users wont work based on One CPID could have a webfarm of 150 servers running one project, so , Users CPIDs are Not created equal.

However what might work along those same lines, is taking the total elapsed network time (expavgcredit start minus end) divided by total elapsed Project time, and using that as the factor to be multiplied against each projects daily allocated GRC slice.

Sorry for flopping around, but if we want to figure the relationship between projects, let me slow down a bit and hypothesize this idea. We take the elapsed time it takes to solve RAC for the entire network (thats for all projects), and that gives us a reference to how many RAC is generated per second. Then we see how many RAC is generated per second on a Project. Divide the two and it yields the RAC factor-ie the cobblestone project factor (lets call it cobblefactor). Then divide total network RAC by ProjectRAC*CobbleFactor. This yields the slice. So to correct everything above, we must first arrive at the Cobble Factor and it appears we could calculate it this way. That may work the best, ie to precaclulate cobblefactors first per project, then use that for RAC relativity - to arrive at project slice GRC.

grctest commented 7 years ago

"networktotalparticipationtime (divided by) projectParticipationTime" yields a factor per project float used to calculate the slice awarded to the project at a given time of superblock creation.

Couldn't this lead to a malicious BOINC project inflating this statistic so as to drive significant magnitude towards their own project over others?

The idea of a proof-of-burn mechanism to allocate a mag multiplier to projects could be more secure and economically beneficial. (Burn x grc against project y's burn address for a temp project mag multiplier --> Enabling projects/users to buy greater reward allocation for one project over another)

jring-o commented 7 years ago

I like the idea of a burn protocol to prioritize projects of value, but I think using this... "Burn Weight"... to determine a mag boost presents the very real danger of turning GRC into "pay-to-play." I think something like my GRCStarter@home proposal can utilize burn weight to help new projects without requiring the purchase of GRC to boost visibility of a project.

https://steemit.com/gridcoin/@jringo/grcstarter-home-proposal

Please keep in mind that that post is an initial interest version of a proposal which is much more developed than what is presented. I will be releasing a much more detailed version after I get feedback from a few more external developers.

grctest commented 7 years ago

I like the idea of a burn protocol to prioritize projects of value, but I think using this... "Burn Weight"... to determine a mag boost presents the very real danger of turning GRC into "pay-to-play."

I think we need to seriously consider the future economic success of Gridcoin over detrimental non-competitive equal magnitude distribution strategies.

An increased demand (more users & buy support) and increased scarcity (not changing reward schedule, rather the reduction of total supply via burning coins) is highly desirable.

By providing BOINC projects the ability to buy temporary (x months) magnitude boost, we would both reduce the coin supply and increase demand/utility of the coin within the network whilst establishing the beginnings of a 'gridcoin:computation' market (competing with SONM/iEX/GOLEM).

Limits on how magnitude was liquid for distribution as a mag multiplier would maintain the equality that all BOINC projects have been subject to up until this moment. There could be different levels of guaranteed mag depending on the purpose of the BOINC project (research, non-profit, science based projects geting special treatment over potentially commercial projects).

I think something like my GRCStarter@home proposal can utilize burn weight to help new projects without requiring the purchase of GRC to boost visibility of a project.

https://steemit.com/gridcoin/@jringo/grcstarter-home-proposal

Please keep in mind that that post is an initial interest version of a proposal which is much more developed than what is presented. I will be releasing a much more detailed version after I get feedback from a few more external developers.

Such external ideas would certainly compliment both the BOINC and Gridcoin networks, however I believe we could utilize both approaches rather than one or the other.

skcin commented 7 years ago

@gridcoin I am not sure if your idea with the cobblefactor provides any additional information to the RAC. RAC already includes a time component. NetworkRAC/s divided by ProjectRAC/s is the same as NetworkRAC/ProjectRAC. We still don't know how many computers worked to create that RAC or what RAC is worth in terms of cpu cycles on a core i7 as an example.

jring-o commented 7 years ago

By providing BOINC projects the ability to buy temporary (x months) magnitude boost, we would both reduce the coin supply and increase demand/utility of the coin within the network whilst establishing the beginnings of a 'gridcoin:computation' market (competing with SONM/iEX/GOLEM).

I would want to see how this could be done without compromising the integrity of GRC. With my current understanding, when you build a gridcoin:computation market you open the project ecosystem to "attacks" from people or entities with more monetary resource than others. Essentially, you are depending on altruism or a whole binder full of protocols to regulate the market.

If you instead let the gridcoin:computation evolve naturally, through something like a grcstarter@home or through David Anderson's TBD project, you remove this risk:

https://www.nitrd.gov/nitrdgroups/images/2/2f/10162016_BOINC.pdf

Page 18.

In my view, we want people switching projects because they have been convinced of a projects Value or Worth, not because they are chasing profitability. This forces researchers to teach "normal people" about science instead of just explaining their research to government grant distributors, who already know about science and research. The benefits of a grcstarter@home or TBD type project span across several industries while the benefits of mag boost seem to encourage profit chasing instead of science.

grctest commented 7 years ago

I would want to see how this could be done without compromising the integrity of GRC. With my current understanding, when you build a gridcoin:computation market you open the project ecosystem to "attacks" from people or entities with more monetary resource than others.

If the Gridcoin client monitored the each project's burn addresses (imported watch-only addresses), then the client could easily compare 30 addresses for highest quantity of burned coins to base a mag multiplier upon (for both staking of a block & verification of the block). Said mag multiplier would split a pool of liquid mag across projects proportionally to their burned coins.

Given that we would disregard burnt coins after a set period (say 6 months), an 'attacker' would need to continuously destroy substantial quantities of GRC which would be massively beneficial for the GRC network.

It's already the case that those with greater monetary resources (Say huge bitcoin/ethereum whales) could buy a substantial amount of GRC on the exchanges in an attempt to be the majority of consensus, the cheaper Gridcoin is the more plausible such an attack is.

I don't believe such a proposal would compromise the security integrity of Gridcoin, however if you're talking about maintaining a 100% altruistic equal mag distribution of which I disagree with - I've mentioned in my past post how we could maintain support for non-profit/scientific projects:

CM Wrote:

  • Limits on quantity of liquid magnitude available for distribution as a mag multiplier would maintain the equality that all BOINC projects have been subject to up until this moment.
  • Different levels of guaranteed mag depending on the purpose of the BOINC project (research, non-profit, science based projects geting special treatment over potentially commercial projects).

If you instead let the gridcoin:computation evolve naturally, through something like a grcstarter@home or through David Anderson's TBD project, you remove this risk.

I don't see why we can't have both, we shouldn't wait around hoping for centralized 3rd party services to provide functionality we could potentially include within the client in a decentralized manner.

In my view, we want people switching projects because they have been convinced of a projects Value or Worth, not because they are chasing profitability.

People already chase profitability through competitive crunching (overclocking, increasing computing power, optimizing work units, monitoring the rest of the BOINC network for maximizing MAG production). The majority of the cryptocurrency community chases profitability stance because the reality is that computer equipment, electricity and your time cost money over time & this past lack of return on investment (ROI) is what has likely driven away hundreds of thousands of users from BOINC in the past (when they get their first few adjusted electricity bills).

This forces researchers to teach "normal people" about science instead of just explaining their research to government grant distributors, who already know about science and research.

I disagree, the majority of the BOINC & Gridcoin network are unlikely to have undertaken such a learning experience past understanding the goals of the research they're computing. The point behind BOINC is to tap into significant volunteer computing power, not to provide a learning experience to end users.

Even if users do learn about their projects, how is that supposed to help cover their electricity or computer costs?


The benefits of a grcstarter@home or TBD type project span across several industries while the benefits of mag boost seem to encourage profit chasing instead of science.

Indeed, this doesn't mean we shouldn't consider doing both though.

tomasbrod commented 7 years ago

Please also read my Magnitude and Reward calculation proposals in the Incompatibe Changes wiki page.

jring-o commented 7 years ago

@tomasbrod I support this idea or something like it but I think it might require a more in depth understanding of exactly how each individual project distributes credits based on WU, which is doable, just a lot of work.

@grctest

An increased demand (more users & buy support) and increased scarcity (not changing reward schedule, rather the reduction of total supply via burning coins) is highly desirable.

I agree that raising the price of GRC is desirable for everyone. I also agree that doing things that increase demand and scarcity will raise the price. I also believe that there are actions to take that will raise both demand and scarcity while maintaining a “science-based-market” instead of encouraging pay-to-play, or “profit chase” markets.

By providing BOINC projects the ability to buy temporary (x months) magnitude boost, we would both reduce the coin supply and increase demand/utility of the coin within the network whilst establishing the beginnings of a 'gridcoin:computation' market (competing with SONM/iEX/GOLEM).

I agree that we could use burning in some way to increase demand and scarcity, but I think that we should compete with SONM/iEX/GOLEM, ecosystems based entirely on coin:computation – “profit chase” markets, by emphasizing an ecosystem based on the ability of the project to attract users – “science-based-market”. I think GRC should encourage a user to choose a project based on what they think of the project without any thought toward reward gained. If people are able to burn GRC to boost the mag produced from a project, people will be encouraged to “profit chase” and join projects because of the mag they receive from the project instead of whether or not that project is performing a worthwhile task. GRC currently operates as a “profit chase” ecosystem

Limits on how magnitude was liquid for distribution as a mag multiplier would maintain the equality that all BOINC projects have been subject to up until this moment. There could be different levels of guaranteed mag depending on the purpose of the BOINC project (research, non-profit, science based projects geting special treatment over potentially commercial projects).

I don’t understand the first sentence, could you please rephrase? Regarding the second, how would this guarantee/preferential treatment be determined?

Such external ideas would certainly compliment both the BOINC and Gridcoin networks, however I believe we could utilize both approaches rather than one or the other.

I agree that we could use GRC to fund projects and that both ideas work better as third parties to Gridcoin. Can I ask you what the primary goal of a GRC-burn mechanism you're describing would be?

The primary goal of a starter@home type project would be to support researchers or project heads with limited or sporadic work units, or few volunteers working on their project.

tomasbrod commented 6 years ago

GRC Supplementary Developments Proposal By: Stefan (crt)

jamescowens commented 4 years ago

I am closing this issue. We will start a new discussion on economics after the Fern release.