Another solution I like much more would be to impose a limit on how many coin-days can be staked into single POS block. In current implementation (unless I am wrong), if I have 1000 PPC that were idle for 5 years, I have ~1,800,000 coin-days. When I suddenly decide I want to mint, during few weeks at most, I will find POS block, secure it with 1,800,000 coin-days and obtain 50 PPC as a reward. This is unfavorable, because I secured a single block, while many other blocks might be secured only by minimum amount of coin-days. With coin-day limit per block, let's say 500 coin-days, although this should be dynamical and proportional to money-supply, I could get my 50 PPC reward only by securing at least 3600 blocks by 500 coin-days. This is much better, since it makes the network more secure. (And, unlike in the first solution, small money-holders are not cast out of the minting process.) I am sure there are many more possible solutions.
TL;DR version: Your proposed solution isnât solving an actual problem that the network will encounter for the foreseeable future, and in fact, it would do more harm than good by punishing people for not being able to solve a block within a year.
âŚand now, the long-form versionâŚ
[size=12pt]Regarding CoinAge, solved block probabilities and proof-of-stake block rewards[/size]
While it is true that if you had kept 1000 PPC in cold-storage for exactly 5 years, you would have accumulated 1,826,210 coin days ((365.242 days/year * 5 years = 1826.21 coin days per PPC) * 1000), those coin days are only valuable when used to calculate the potential reward for solving a block. In this case, the reward would be 1% of 1000 PPC * 5 = 50 PPC, as you noted above.
Because the protocol limits the amount of âmatureâ coin days that a stake can attain to 90 coin days * # of PPC, this hypothetical stake would only be able to accumulate 90,000 coin days that can go towards increasing the stakeâs chance of solving a block, relative to everyone else who also attempting to mint.
This cap on mature coin days means that deliberately waiting 5 years is not advantageous to the holder in any way. You have no better chance to solve a block at Day 91 than you do at Day 1826. This design decision was made (in part) to counter attempts to use a âlong-held stakeâ attack vector, where someone could hold on to some number of small to moderate size stakes for a very long time and then, at some date in the future, attempt to subvert the network by dumping these large amounts of coin days all at once.
There is, however, a very good reason that the reward amount should continue to be calculated based on the total coin days accrued⌠during a given period of time there are a finite number of blocks generated by the network; approximately 6 per hour / 144 per day / 52,560 per year. Itâs an even smaller number if you remove the number of blocks that will be solved via proof-of-work â which at the absolute minimum allowed by the protocol (1 every 120 minutes), will be 12 per day, leaving 132 per day or 48,180 per year â that can be solved via proof-of-stake.
So, it follows that when you attempt to solve a block, you need to compete to solve a block against everyone else who is attempting it, minting or mining, and that you have a finite amount of chances in a given year to solve it. But letâs assume, for this discussion, that rather than being based on coinAge and probability, that was completely fair and that you could solve a proportionate amount of blocks per year, automatically, based on how many holders of peercoins there are, rather than size of your holdings.
At last check, there are 13,853 addresses recognized by the network that have more than 1 PPC in them. If each one of those addresses set to mint continuously, and everything was equal, they each solve ~ 3.4779 blocks each within one year.
Now, double the size of the network to 27,706 addresses with more than 1 PPC in them, and each person will only solve ~1.7389 blocks in that same year. Quadruple the number to 55,412 addresses, and you only can expect to solve ~0.8694 blocks. Extend this as the network scales and you should immediately see how this becomes problematic.
As you can see, even in a âperfect worldâ where probabilities arenât working against anyone, once the network gets large enough, itâs a given that someone isnât going to solve a block. At scale, someone would lose out, because they would miss their chance to gain their 1% during that year.
In your proposed solution, there is no way that youâd ever solve 3600 blocks, at 500 coin days consumed per block, needed to match the reward (50 PPC) that youâd see solving one block under the current system. There are already too many addresses on the network to make this even remotely feasible.
For data to back up this assertion, take a look at www.peerchain.net and review the last solved blocks. For the most part, youâll see that the size of the stakes and ages of those stakes arenât âlargeâ. While itâs true that having a larger amount of coins at stake gives you a better chance of solving a block vs. someone with a smaller stake, the data that weâve collected indicates that itâs fairly common place for the âluckâ to be with the person who has the smaller stake.
[size=12pt]Blocks and network security[/size]
To the network, âa solved block is a solved block.â Thereâs no difference to the security of the network if you happen to solve a block using 5 PPC that had been held for 90 days (450 coin days), or if you solved that block with 10,000 PPC held for 90 days (900,000 coin days), or those same 10,000 PPC held for 365 days (still 900,000 coin days). The important thing is that a block was solved and the transactions contained within it were verified and the global block chain was updated.
Those 48,000 blocks solved during the course of a year with an average stake amount of 5 PPC are just as secure as 48,000 blocks solved with an average stake amount of 10,000 PPC. It is my understanding that the only significant difference between the two relates to how the money supply (M) inflation is calculated.
In the first case, those blocks solved with 5 PPC @ 450 coin days would result in 600 PPC being added to the M supply (0.0125 PPC per block reward * 48,000 blocks). In the second, the blocks solved with the 10,000 PPC stakes would add 1,200,000 PPC to the M supply (25 PPC per block reward * 48,000 blocks).
[size=12pt]Summing it up with use cases[/size]
Even if everyone who held peercoins decided tomorrow to go on strike and no longer attempted to mint, the miners on the network will pick up the slack and the network is going to still process transactions and will be (relatively) safe. This is the beauty of the hybrid proof-of-work / proof-of-stake scheme; if you arenât solving blocks with stake, you can solve them with work. The network will automatically retarget the proof-of-work and proof-of-stake difficulties to make sure that itâs solving 10 blocks per hour, on average.
In a second scenario, letâs say all but 1% of the holders of peercoins decided not to attempt to mint blocks. The âworstâ thing that happens is that those people who are participating would be solving blocks at a much higher rate than they would if there were more people on the network also attempting to mint. The network security is not compromised, because any time that there werenât enough stakes available that met the criteria to mint, there were miners who would solve blocks in the gaps.
WhewâŚmy apologies for the wall of text. I think I got all of that right, but if anyone sees a problem with any of my statements, please let me know and Iâll address / update them as needed.