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

General Discussion about Staking, Interest and Rewards #164

Closed
skcin opened this issue Sep 22, 2017 · 30 comments
Closed

General Discussion about Staking, Interest and Rewards #164

skcin opened this issue Sep 22, 2017 · 30 comments

Comments

@skcin
Copy link
Collaborator

skcin commented Sep 22, 2017

Issue by tomasbrod
Tuesday Sep 05, 2017 at 10:25 GMT
Originally opened as Erkan-Yilmaz/Gridcoin-tasks#158


State: draft / preparation
gridcoin-community/Gridcoin-Research#106

Question: -todo-

explain what are benefits (incentive to stake/secure network)
explain effect of inflation of interest amount
calculate how much different groups of investors will earn

  • Keep the current Coin*Age interest
  • Use 1 GRC per block fixed interest reward
  • Use 5 GRC per block fixed interest reward
  • Use 10 GRC per block fixed interest reward
  • Use 17 GRC per block fixed interest reward
  • Use 30 GRC per block fixed interest reward
  • Use 50 GRC per block fixed interest reward
  • Use 100 GRC per block fixed interest reward
  • ...
  • Abstain
@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by jring-o
Wednesday Sep 06, 2017 at 17:09 GMT


In my view, it is FAR too early to even consider an actionable poll. We need opinion and conversation right now. Look in #poll-drafts on slack for an example of that conversation, much of which has to do with this issue.

I think this issue is premature. The conversation should be had on platforms which have greater visibility and less official standing than Github. After some weeks, then we start to create options for a poll. Right now we need to gather input.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by jring-o
Wednesday Sep 06, 2017 at 17:15 GMT


For example, here is an opinion oriented poll:

As it stands, there really is no incentive for anyone to keep their balance staking because you can just pop on once/6 months with a large balance and claim your interest. Despite this, we have a healthy and growing network stake weight. To me this says that there is enough faith in Gridcoin and enough enthusiasm among its participants to safely secure the blockchain without paying interest on balance held. I want to see how this idea is viewed by the community.

If interest on balance held is lowered, would you still use your balance to secure the blockchain?

Yes I would and interest on balance should be 0%
Yes I would, but interest on balance should be higher than 0%
No I would not
Abstain

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by EnzoCaricoTri
Thursday Sep 07, 2017 at 13:00 GMT


Use 15 GRC per block fixed interest reward is the way.

Under the current system, the price of trade will never increase. Large investors know that it is enough to make a decent investment (10,000 or 100,000€) and then see their portfolios grow exponentially and fill up with coins that would not have much value (just because all this availability provided by the system makes it easier to have them and simultaneously lose value). For this reason, banks pay annual rather than daily interest. For example, in the case of daily interest, a person who has deposited in the bank 10,000€ with a "daily" interest rate of 1%, based on the formula for compound interest (c1=c0* (1+i)^365) numerically: in numbers c1=10000* (1+0.01)^365=377834.3. If it were to work like this, everyone around the world would be wandering around with wheelbarrows of banknotes to buy bread. This is one of the reasons why the coin does not make "booom" in the excanges. The whole project is excellent and good, but the interests are harmful. People must have equal opportunities for remuneration. In the current system, it is only in the interest of large investors to keep the portfolio open, for new users it is useless. while with the proposed solution "Use 15 GRC per block fixed interest reward" the new ones would also have reason to keep their wallet open to earn money.


Apologize for my English, I use the support of an automatic translator (deepl.com) to write here

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by jring-o
Monday Sep 11, 2017 at 03:40 GMT


There is a difference between banks providing interest and a blockchain protocol minting interest.

Banks accept money which has already been minted so that they can use it to make loans and profit. They offer customers interest to encourage them to deposit their money with that bank. Banks pay interest out of their profit earned from loans (and other technical stuff). This means that interest paid by the bank does not equal inflation.

Blockchains do not accept money, they mint money. This means that any interest paid out to stakers is inflation. FBR-PoS does not solve this issue, though it does bring it under tighter control.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Monday Sep 11, 2017 at 06:28 GMT


After over 1 year of active participation in the matter of fixed staking rewards for the Gridcoin community, this is very much time for an actionable poll. (there were 2 or 3 theoretical/opinion polls at the very beginning of the issue tracker that also voted for yes). The protocol to be implemented has been tried and tested on other coins with great success and wasting another x years for more and more resources spent on discussing and endless talking about an obvious flaw in the design of PoS rewards makes no sense in my opinion.

I still think we should openly discuss the actual reward of the fixed reward given (more conservative means a better spread of the long-term dispersion of rewards whereas a more aggressive reward means a quicker inflation of the coin and, as discussed multiple times before, might discourage people from using the coin the way it was meant to be, for crunching and getting rewarded for it.)

But to delay the inevitable yet again, I think is a shot in the wrong direction. We have discussed this topic so many times on so many channels over so many instances and most people want this change very much and the few that don't or are not aware of it should vote no or spend the time to educate themselves about their own investment and then make a decision. It doesn't take weeks to get informed.

I sincerely approve of this decision made and am very much looking forward to the outcome and hope that more votes will take place to decide firmly on the actual reward amount and the mechanisms used.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by dc7dgrid
Monday Sep 11, 2017 at 08:54 GMT


@Vyazhan Please, I would like to see a list of pro/cons of this "multiple time discussions" and not only talk about that it has been discussed "so many times". What are these channels? Where can I read a summary of ALL possible options/solutions? Thank You. (Also at #106 there is not a real discussion. )

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Monday Sep 11, 2017 at 09:10 GMT


@dc7dgrid gridcoin-community/Gridcoin-Research#106 is definitely a real discussion held on a virtual platform with real people, investors, users and researchers. They have discussed the problem with the developers and over a year of intriguing discussion, the majority of the participants in the discussion (in my opinion from having read through it) have resolved there needs to be a change. In the same discussion you can see that several other votes have taken place (https://gridcoinstats.eu/poll/technical_poll_:_should_we_implement_posv3_to_combat_low_network_stake_weight? being the first one of these, the other didn't yield any definitive results).

There you can read a summary made several times by contributors of the entire problem as a whole and on an individual basis. Many examples have been given and different solutions proposed. That the current system is inherently unfair has been mentioned countless times, read up on it there if you feel like it.

In short though, as a summary for you from what I understood the problem to be:

1.) A low network staking weight makes the network inherently insecure as not many people are encouraged to leave their wallets open in the current iteration of PoS.

2.) The current protocol encourages big whales to only open their wallet once a sufficient amount of time has passed and then collect their large staking rewards. This first of all discourages participation in the network for a long time compared to the stake you hold and secondly, it also threatens the network since these whales are able to stake 10 times in a row and more.

3.) If this issue won't get addressed, it also increases inflation over the coming years as at one stage the participation reward for boincing becomes less than the staking reward for investors. Many have agreed that this is not the philosophy of Gridcoin and therefore a change has been proposed in many Steemit articles. I will not go through the ordeal of linking them all, since I don't really have the time right now, but a quick Google Search yields answers to this.

4.) A fixed staking reward actually encourages small time holders (the majority of the community) to leave their wallets open as the actual 1.5% annual reward becomes bigger the less people stake. So with only 50% of all coins staking, you would get a 3% annual return. This only benefits the majority and encourages the big whales to continuously stake, which increases network security and integrity of every participant.

I'm sure there is more, but these are the pillars of the reasoning behind it all. If we think back on the integration of the v8 staking kernel, the decision was based on a security flaw and the problems it brought with it diminish in comparison to the enhancements it managed to do and the problems can be addressed in the coming months. I see a similar pattern with this and don't worry about any problems that might come, because problems are a part of life and the current problem of a staking system that discourages participation outweights the risk of more problems being introduced with a change in the protocol (one that many PoS coins have gone through and have seen definitive benefits over the old PosV2 protocol. See Pinkcoin, Blackcoin etc...)

We don't have a proper forum to actually conduct these discussions, but if you have the time, energy and resources to create and maintain one, I'm sure everyone would be more than happy to relocate to a community forum to discuss these things in the future. In the meantime, Github is the best we have right now, so this is the reason of why Github gets used in my opinion.

It's not perfect by any means, but until a better solution presents itself, I wouldn't know which other place there is.

I hope I explained this properly and if something is incorrect, feel free to correct me and I'm more than happy to read through it :)

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by dc7dgrid
Monday Sep 11, 2017 at 09:59 GMT


@Vyazhan Thank you for replying so fast!
I totally agree with you that there is a big issue regarding the current situation.
What I would like to know is, what are the consequences of a fixed block reward exspecially for big investors and small investors, for big boinc cruncher and small ones, for inflation/total money supply? Who will win, who will lose assuming everyone will run their wallet 24/7/365?
What about my proposal at #106: Only limiting rewards to a maximum per block and timeframe?

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Monday Sep 11, 2017 at 16:37 GMT


@dc7dgrid No worries at all :D

I think personally that your solution is very smart and elegant too. I haven't seen this solution employed anywhere else yet, so I think that is the reason why everyone probably prefers a tried and tested code that is available right now.

I'm not a developer so I can't say how much work it would be to integrate this solution opposed to PoSv3 but if it's simple enough, it is definitely worth considering.

Regardless of that, having another vote with the exact way of how to integrate PoS would certainly be a great idea - keeping in mind the limitations of the developers time for this. Personally I have made only good experiences with PoSv3 but new technology is always interesting, especially if it has the capacity to solve the problem even better than existing ones.

In terms of consequences: I believe the only real consequence to large stake investors is that they will have a harder time making as much interest as they do with the current iteration of PoS. It means they will also have to expose their loaded wallets to the network all the time, but this can be greatly mitigated by not opening the port for the wallet and keeping the wallet secure on a hardened server, something you should do regardless if you have a considerable stake in a cryptocurrency :)

For crunchers, I don't think much will change, as they always receive their rewards with a staked block, so I imagine it would be as easy/difficult as it is right now to continue receiving a stake as a cruncher.

Consequences for inflation I think will depend on how much the reward is actually going to be. As before, I am personally inclined to make a lower reward (something that should also be decided by vote in my opinion) so crunchers will always have a bigger incentive to crunch and not just hoard. I've heard 19GRC and 15GRC as a reward, but I personally like 12.5GRC as a reward for long-term, as it ensures a greater stability and reduces inflation risk and might enable the developers to put the extra saved GRC towards bigger GRC payments for boincers.

I think overall this is a big win for the majority of holders, and it will make it slightly more difficult for large stake holders to receive interest, but something that the network certainly needs.

(I also do believe your iteration would work with most of these points, which is why I like it as well :))

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by tomasbrod
Monday Sep 11, 2017 at 16:54 GMT


I don't know why this poll was posted before actually completing the proposal, but OK.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by EnzoCaricoTri
Tuesday Sep 12, 2017 at 13:06 GMT


The current economic situation is unsustainable in the long term. Large investors if they have joined the community of Gridcoin, it is not because they want to earn 1.5% (and maybe lose 30% of the value in a year because the market knows that Gridcoin has an inflationary problem and sells, or whatever else) no one would risk 100k or 1M of dollars to earn 1.5% annually against a high volatility. Gridcoin is not a bank. Investors who come into Gridcoin enter us because they believe that being valued only a few cents in the future can recreate the fairy tale that has already happened for Bitcoins and other currencies. It will happen to us as well, we are investing precisely for this, but the booom is delaying precisely because there is a fundamental problem. Investors, or anyone else, hope to see the value of their investment multiply, no one invests to earn through the miserable 1.5 percent with a high risk percentage.

P.S.
In Italia, the most secure bank of all banks offers an annual return of 1.65%. Do you have to deposit your big money to earn in a bank or encrypted currency without any guarantee? I would not do such a thing even if it were possible on bitcoins. the pos with interest system has nothing attractive, on the contrary. Maybe it is also one of the causes that prevents the BOOM of Gridcoin in the markets


Apologize for my English, I use the support of an automatic translator (deepl.com) to write here

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by gridcoin
Sunday Sep 17, 2017 at 11:28 GMT


Have we considered switching to an interest reward of .015 * Amount * CoinAge * Penalty where Penalty is a table containing a bigger and bigger penalty the longer the node has not staked? Maybe from 0% up to 90% penalty depending on if they have not staked in 60 days. (If the penalty is over 50%, I guarantee a significant % of the nodes [that are offline now] will be online trying to get the higher interest rewards). I would not mind it, as we arent really a bank anyway. We could just leave the profits in the chain, and maybe give more to research, like 50,000 a day.

I dont understand the fixed reward proposed above at all, so I could not vote if I wanted to. If the user has a 100,000 GRC balance and expects .015% interest and is Not a researcher, and has not staked in 30 days, what do they receive on the fixed reward? 1 block of 15 GRC or what?

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Sunday Sep 17, 2017 at 11:40 GMT


@gridcoin I think the whole idea of the new fixed staked reward is to let go of the coinage and instead reward people perpetually with active participation.

With this reward mechanism, you automatically don't need any penalty enforced since it basically enforces itself by people not being online not staking anything while people that are online with their wallets and have them unlocked, will participate in the mechanism as they are the ones that are actually securing the network.

In regards to your second part, you receive the fixed rewards perpetually, so yes, if you haven't staked in 30 days, you have the same chances to get a block reward as someone with the same amount of coins that has been online during these 30 days. The difference is that the person who was online for 30 days was able to stake while the other was not. This is also the reason why people that stake 365 days a year will most likely get more along the lines of 3-4.5% per year, as not all coins in circulation are staking. This means that it actually yields people more depending on their participation, which itself creates a higher need for more coins to continously stake, which in turn was what the network was suffering from.

You calculate the amount of 15GRC based on the base supply of all GRC that are in circulation and then calculate 0.15% interest of off that, which gets a bit more than 15GRC (and I still believe a smaller amount of 12.5 is even better for the long-term health of the coin) per block that gets staked.

I hope this makes sense, correct me if I'm wrong somewhere :)

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by gridcoin
Sunday Sep 17, 2017 at 11:49 GMT


@Vyazhan thanks, it answers a part of my question (the part that fixed rewards pay an investor some amount based on being online more) but does not answer my question.

We currently have coin age of unspent out for security. If we went to 'fixed rewards', and we had investor A (note I said Investor-not researcher so in the question I pose, these are not POR blocks), who stays online 24/7 for 30 days straight, and was online for all 30,000 blocks and staked 8 times in one month, and investor B who was only online Once in 30 days for one straight day (24 hours, 1000 blocks), and does get lucky enough to stake ONE block in those 24 hours, what is investors B reward compared to A for the interest only component?

EDIT: And following up, if the answer is that investor B only gets the reward that was inside the last 1000 blocks, that naturally makes me say, how do we know they are online? There is no secure mechanism to determine that. If that is the answer - I would then go back and suggest this again:
"Have we considered switching to an interest reward of .015 * Amount * CoinAge * Penalty where Penalty is a table containing a bigger and bigger penalty the longer the node has not staked? Maybe from 0% up to 90% penalty depending on if they have not staked in 60 days. (If the penalty is over 50%, I guarantee a significant % of the nodes [that are offline now] will be online trying to get the higher interest rewards). I would not mind it, as we arent really a bank anyway. We could just leave the profits in the chain, and maybe give more to research, like 50,000 a day."

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Sunday Sep 17, 2017 at 12:05 GMT


@gridcoin No worries, I'll try to answer as best as I can, but keep in mind I'm not involved in the actual source code and only observe what works well in other coins.

In your example, Investor A would receive 120 GRC during the 30 days and Investor B would stake 15GRC. I didn't know that we also had PoR blocks in themselves? I thought both were included in every staked PoS block. What is the actual difference between a PoR block and a PoS block then? I always receive both rewards in the same block.

About the part of the protocol seeing how a node is online and is staking with their currently held coins, I cannot answer but maybe another dev can jump in and answer that question :) About there being no secure mechanism to determine that, I urge you to take a look at Blackcoin for example, who have a PoSv3 coin operational and it seems secure to me, so maybe their source code will reveal more about this: https://github.com/CoinBlack/blackcoin

I like your idea a lot too, it's a cool move with the table and I think it would also incentivize people in a similar way. The question then is, which mechanism is less punishing overall, is easier and more convenient to integrate and time it will take to develop. I do remember a dev from Blackcoin mentioning that a simply copy&pasting has seemed not to work for every coin that have used their iteration of PoS, so it's not as simple as to say that would instantly win because it has been tested, just something to keep in mind.

Yes as said before, I also think rewarding BOINC participants more is a good idea. Has anyone tried just giving some form of very low multiplier to the rewards in staking if you are also holding a certain magnitude? I'm sure that would also be an idea to think about if we decide to stay with the older coinage model :) (Keeping in mind that the current poll for fixed staking rewards seem to favour a yes in overwhelming fashion)

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by gridcoin
Sunday Sep 17, 2017 at 12:24 GMT


@Vyazhan, POR blocks contain the "ResearchSubsidy" Plus any optional interest (based on PoSv2), while the POS blocks contain No research subsidy. I have to bring it up, because an investor with no CPID will only stake POS blocks. We currently use BlackCoin POSv2.

Looking at POSv3, with fixed interest rewards, I only see that it solves timewarp attacks (since they switched from CoinAge in the UTXO to coin-depth). Meaning that I still dont see a way this even addresses the problem. To me the problem is in the above example of the two whales, Whale B was offline for 4 weeks and came online one day per month to collect interest. In POSv3, both Whale A and Whale B received the full interest amount (Meaning that this disagrees with your answer above-where you cited Whale B would receive one weeks worth of interest).

I dont see how POSv3 detects how long a node is online. It detects how many blocks back you staked your last stake, and pays fixed rewards * that many blocks. Therefore it does not solve the problem.

PosV3 prevents people from splitting their coins and having random small balances that allow them to stake more often however. But, if we put in the Penalty table, people would be online all the time trying to not be penalized. I dont know how many thousands of lines of code POSv3 requires, thats the only reason I say this, is it worth all the code to move to blockheight?

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Sunday Sep 17, 2017 at 12:40 GMT


Oh sorry, you got this totally wrong @gridcoin

Actually, you ALWAYS get the full block reward, no matter if it's in 30 days or 3000 days and no matter if you have 1 GRC or 1000000 GRC. If you are online, your entire stake works towards receiving one block, and that block has a fixed amount. If I'm online with 100.000 GRC and you are online with 10.000 GRC I just simply have 10x the amount of chance to get a block within the time-frame that we are both online.

Thus, it doesn't work by calculating the way you do, because you think at the end of the year, both people will have 0.15% of their GRC and that is not true. If I'm not online with my 1.000.000 GRC in 1 year, then I will simply not get any reward for that entire year and I will never see the missed opportunity again.. This means that my interest of 15.000GRC got distributed to the nodes that were online in the time that I wasn't.

I don't see either what "problem" you're referring to? The problem is that there isn't enough coins online staking, isn't it? I don't see how either iteration does NOT fix the problem?

Also, you don't get a fixed reward * that many blocks since your last stake? You get a fixed reward in the lottery of playing each block against the amount of coins you hold and each block gives you a new chance with your tickets to receive that block. If one of your stakes gets the block, it cannot be used for staking for 16 hours. The total amount of coins you hold simply determines the amount of lottery tickets you hold, not a certain amount of GRC you receive every year.

Now, the problem you mention with there being two different kind of blocks, that is probably not the worst to integrate into the protocol I imagine, just got to give both blocks the same code, since magnitude is no longer used for any stake weight, I don't see how it would interfere with the deployment.

PosV3 actually does the exact opposite. It splits the stacks automatically into pieces until they are not smaller than 125. Then it starts to accumulate in that UTXO until it reaches around 250, by which it will split the stake again. In fact, a genius solution for more coherent rewards and for maximizing the stake time on the minted coins that can't be used again (100 stacks of 1000 stake more often than 1 stack of 100000 when you have to wait 16 hours for it to refresh).

The problem with your penalty table solution is that it requires coin-age, which is something that I think is not possible with a fixed staking reward, is it?

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Quezacoatl1
Sunday Sep 17, 2017 at 13:53 GMT


Is there a solution to the problem that all people will want to split their GRC to as many addresses as possible to be able to maintain their weight / their chances to stake considering staked coins need 16 hours to become mature?
A network participant who has all coins on one address (one UTXO) can only stake once every 16 hours, regardless of what his balance is.
A network participant who has all coins split across an infinite amount of UTXOs will never lose his stake weight.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by gridcoin
Sunday Sep 17, 2017 at 13:55 GMT


"The problem with your penalty table solution is that it requires coin-age, which is something that I think is not possible with a fixed staking reward, is it?". The penalty solution does not require coin-age. Coin-age can be calculate as it is in POSv3 by blockheight age (tip - depth).

Anyway Sorry I realize I made the mistake of talking technical to someone who is not a developer, and this is absolutely futile.

I will take this up with the Dev team.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Sunday Sep 17, 2017 at 13:57 GMT


@Quezacoatl1 of course. If you in theory split your entire stake amongst an infinity of coins, your chances to stake will be infinitely low. Also, I don't believe your staking amount is bound to the actual address. If you have 2000 GRC in your address and put both into stakes of 500 (4x500 in different UTXOs) then you can certainly stake more than once every 16 hours. The staking block of 16 hours is enforced on the UTXO, not on the address itself as far as I'm aware of.

@gridcoin sure no worries. It would be the same to talk about religion to an atheist :)

EDIT: I thought you mentioned coin-age in your first reply, that's why I assumed it was necessary.

Have we considered switching to an interest reward of .015 * Amount * CoinAge * Penalty where Penalty is a table containing a bigger and bigger penalty the longer the node has not staked?

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by gridcoin
Sunday Sep 17, 2017 at 14:01 GMT


@Quezacoatl1, I think you could ensure Gridcoin spends small balances first, which auto-consolidates coins, and then penalize them if they use coin control. You could penalize them by paying less interest on Percent of Coins Stakes divided by Total Coins. Maybe add that in to the penalty calculation. Make it so they want to stake it all and stake it all frequently.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Quezacoatl1
Sunday Sep 17, 2017 at 14:09 GMT


@Vyazhan imagine a whale with 10 Mil GRC and 100 Mil GRC staking in total. That whale would have a chance of 10% to stake each block. After he staked with 1 address and all coins he would have got one block but is unable to stake for 16 hours.
If that whale had 10 Mil addresses each with 1 GRC he would always have ~10% staking chances, right?

@gridcoin that seems to be quite complex. Is there an easier way? Maybe kill the 16 hours of maturing time? Do we need it if we change to fixed POS payments?

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Sunday Sep 17, 2017 at 14:16 GMT


@Quezacoatl1 I don't think that's right. Even if you have 100.000.000 outputs with 0.1 GRC in each, then you would almost never stake, even with 10.000.000 coins in your possession. You need a certain minimum amount to compete against all the other wallets that have x times more than you do with your tiny stakes. And again, if I have 1.000.000 coins and I split them in 100 stakes each, I can get a reward 100 times a day, regardless if I have staked with 1 UTXO stake or not. If I do stake with that one stake, then only that stake will be unable to participate in the staking for 16 hours, not the entire address with all UTXO in them. You can look at big wallets in any PoSv3 explorer and you will see that the same address can stake multiple times per day. We're talking about PoSv3 here though, I think for Gridcoin in the current iteration you are indeed correct :)

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by gridcoin
Sunday Sep 17, 2017 at 14:16 GMT


I think there is no way to have an intelligent discussion on this until we establish the ground rules as to how POSv3 would actually behave (IE Fixed rewards).

If we have Investor A with a 100,000 balance and investor B with a 100,000 balance (whale a and b), and both are running POSv3, and Investor A is online every day and stakes their ENTIRE BALANCE 30 times for 30 days, while investor B stakes the ENTIRE BALANCE all in one day on day number 30 over the course of 4 STAKES, my point earlier is POSv3 would pay them both the same amount of interest. So forget lottery ticket analogies and unimportant APY calculations and try to hone in on the theme here. Im talking about User A was online 24-7 while B was only online One Day. I dont see anything in POSv3 that rewards user B LESS. That is my point here.

So there is no way to answer Quez until we come to agreement on this. We probably need Marco and Brod in here.

From a GRC perspective though, I think we need to add a Penalty in regardless of which system is ported in. The coin-age can be calculated in POSv3 by using depth-tip age.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Vyazhan
Sunday Sep 17, 2017 at 14:24 GMT


@gridcoin I'm really sorry that you think i'm not useful just because I don't understand certain languages, but I can assure you that in your example in the PoSv3 iteration as it's known that the wallet A that stakes 30 times for 30 days (keeping in mind after each stake the total amount of coin gets split up to a low limit that is set in the code) will definitely get more GRC than wallet B. That is because if you stake your entire wallet (we assume 1 UTXO here) you won't be able to stake for 16 hours. If you had been staking your 100.000 coins for 30 days like wallet A did, then you would have many more UTXO that were sitting in your wallet staking.

Therefore we can certainly assume that Wallet A has been creating more GRC in 30 days of continous staking than wallet B has. You believe like Queza that the entire wallet will be locked from staking for x hours after 1 stake but that is not true. Every UTXO in PoSv3 can stake with the chance proportional to it's value and after that UTXO staked, it cannot for the lockout period, but the rest of your wallet can stake. That is the reason why A gets more from 30 times staking over the course of 30 days than wallet B over the course of 4 stakes in 1 day.

Even if both had 100 UTXO inputs in the wallet for 1000 GRC each, then wallet A had much more time getting all of his 100 UTXOs to stake whereas wallet B will only have 1 day to get all 100 UTXOs to stake.

I hope this makes it clear for both of you now and I agree, we definitely need more voices in here 👍 This is a big move and needs to be discussed with as many people as possible, not just a few select chosen ones :)

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Quezacoatl1
Sunday Sep 17, 2017 at 14:37 GMT


@gridcoin I do not know how PoSv3 works but I think you misunderstand the fixed POS concept that is proposed here (unless I am misled, too). It totally ignores your balance. If you stake, you stake and get a fixed reward, just like in a POW currency.

In your example, lets say the fixed block reward is 10 GRC / block (EVERY block will pay 10 GRC of POS reward)

Your user A will get 30 blocks * 10 GRC / block so he has 100,300 GRC after 30 days.
Your user B will get 4 blocks * 10 GRC / block so he has 100,040 GRC after 30 days.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by denravonska
Sunday Sep 17, 2017 at 16:09 GMT


I think we should make the implementation very simple or else we're just going to keep fixing issues. For example, any time stake penalty is going to penalize low holders since they are technically not able to stake. It's true that more staking coins is better but we should not do it at the cost of a certain portion of the user base. 1 successful stake should equal the same reward regardless of the size of the UTXO and regardless of the stake frequency. Everyone is rewarded the same amount for the same work done.

@gridcoin It is not interest in PoSV3. It is a fixed, per-block reward. For the sake of the discussion, always 5 GRC per staked block.

Regarding the automatic coin split. It feels iffy but if that's how other existing PoSV3 coins are doing it then maybe that's a proven way to go even though some people might want control over their own UTXOs.

I don't think magnitude should be a part of the staking process as it has been shown to be easily abused if exploited. In fact, I don't think PoR should be a part of the regular staking mechanism at all. I would prefer periodic payouts, but that's another discussion :)

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by tomasbrod
Sunday Sep 17, 2017 at 16:36 GMT


@gridcoin It is already implemented in gridcoin-community/Gridcoin-Research#617. The ground rules:

  • every block contains 12 GRC reward
  • staking a block, uses up exactly one UTXO
  • chance to stake a block with given UTXO depends only on the UTXO value and current difficulty
  • smallest UTXO that can stake is 0.0125 GRC, so you can't split to infinity

To your two whales problem: B is extremely unlikely to stake that 30 blocks in one day which user A did in 30 days. That is what rewards offline users less.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by Foggyx420
Sunday Sep 17, 2017 at 21:01 GMT


i don't see a problem eliminating interest and doing fixed block rewards. for majority they would end up with more grc possibly. The reward system needs a work over as well. a more simple system one thats more static and a user can expect x amount instead of a dynamic y amount that can change a block before they stake due to mag unit.

I'm not against interest myself but a whale goes offline for 4 months with 10 million grc and stakes a block with a 10 million UTXO and gets 50K in interest for doing barely anything to support the network.

in fact I'm not against keeping interest regardless of adding a block reward as a bonus keep securing the network.

but in the end Itd be quite explosive in money supply if we did do block reward on the side of interest. so it would have to be on or the other unless we only calculate interest based on how long they been actively online staking.

@skcin
Copy link
Collaborator Author

skcin commented Sep 22, 2017

Comment by tomasbrod
Sunday Sep 17, 2017 at 21:05 GMT


There is no secure way to measure how long a node has been online, but the longer they are online the higher chance of staking in that time.

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

No branches or pull requests

2 participants