What’s the rationale behind the 90 day cap?

Hello everyone, I’ve been fascinated with PPC since ‘14. Took a break from crypto for the last 5 or so years, but I’m starting to get interested in it again. Naturally, I’ve been attracted back to PPC due to its superior protocol, but I’m struggling with one thing.

What’s the rationale behind the 90 day cap on probability? The university states:

A third rule also states that a minter’s probability of finding a new block reaches its maximum after 90 days. So after this period of time a minter’s stake reaches maturity and their chances of minting a new block are maxed out. All of these rules are put in place in order to prevent minters with high coin age from being able to hold a monopoly on the block generation process.

But since coin age resets after minting, doesn’t this accomplish the exact opposite?

For instance, I have a wallet with 10 PPC in it that was deposited in 2015, with a coin age around 1850 days. However, because it’s only 10 PPC, my odds of minting in 90 days is only 10%. Meaning that I can’t realistically expect to mint earlier than 1 or 2 years.

This means that someone with a much larger balance can mint before me, wait 30 days to mint again, and automatically “cut” back in line to mint before me again with a higher probability.

So why doesn’t the protocol simply give weight to the higher coin age? If I’ve had coins sitting offline in a wallet for 5 years, you’d think I’d be at the front of the list for minting. Why isn’t this so?

Hi Thomas,

the 90 days cap is a security feature. Without the cap, it would be possible to accumulate coin age over decades or even centuries in order to then mint several blocks in a row to double spend coins.

But the good news is that there is no cap for the reward. So you lost nothing except for the compound interest.
If you want to stake a small amout of peercoins, you should use a raspberry pi or get a Peercoin stakebox. With the low electricity consumption you can leave it running for years, and increase your chances to stake.

Thanks for the response Otzi.

Could you expand a little more? Perhaps my understanding of the PoS protocol is incomplete. My understanding is that even, say, a 1 million PPC account with 10 years coin age would only be able to mint one block and then have its coin age reset. When the age is reset, they have to wait another 30 days to mint another. So how would a double spend circumvent this 30 day check?

Furthermore, my understanding is that same 1 million PPC account would have the highest probability of minting a block every 30 days as well. The result of this would be that a 1 million PPC account could essentially go cold for 30 days, turn on for a short time to mint a block, and then go offline again. This 1 million PPC account could then compound much larger minting returns (1% of 1 million/12 = ~833 PPC) over much shorter periods - in this case every 30 days, without contributing meaningfully to the network.

This is in contrast to my 10 PPC account that would compound a paltry 0.2 PPC every 2 years, and would need to be continually running to do so, and is the crux of my confusion.

Why not just prioritize coin age? If a 10 year coin age account comes online, perhaps it mints very quickly, but then it goes to the back of the queue. Even wallets with a balance of 1 million PPC would effectively be behind in the queue to smaller wallets, whereas now they are always ahead. Not only is a 1 million PPC wallet always ahead, but it’s minting much larger amounts, compounding over a much shorter period, and therefore inflating the coin supply much quicker.

Thanks in advance for being patient with me if my understanding of the protocol is flawed.

Hi Thomas,

the correct term of what we are talking about is “transaction output”. Forget about “accounts”, that’s a wallet feature that is not on the blockchain at all.

So each transaction output accumulates coin age for up to 90 days. The amount of coins that you own can be split in different transaction outputs. If you own 1 million PPC, it can be all in own transaction output or in 1 million outputs of each 1 PPC.

The blockchain doesn’t know how many transaction outputs you own. Even with transaction outputs of 10 PPC each you could be a potential attacker if you own enough of them. That is why the 90 days cap is for all transaction outputs.
So much about the technical side.

On the economic side, you are right that for those who own large amounts of PPC it was easier to stake, because they did not need to stay online for extended periods of time to stake their coins, if they held them in few large transaction outputs. They were rewarded without contributing to the security of the chain in a meaningful way.

But that was only until 8th June 2020. That day we did a hardfork, increasing the reward from 1% to 3%, and we introduced an additional static reward of 1.25 PC. This decision was made, because the minting participation was fairly low over the many years of Peercoin’s existence.
The static reward incentivices continuous minting even for large coin holders.
Here is Chronos’ explainer video: https://www.youtube.com/watch?v=0v__lVdK-DI&feature=emb_logo

So when you stake your 10 PPC from 2015, your reward will between 2 and 3 PPC. I am not sure if the 3% reward is fully granted for outputs older than 8th June 2020. I am just getting back into the loop myself.

1 Like

Thanks for your help. I think what I was missing is thinking about the possibility that someone with 1 million PPC could split it into 10 million transaction outputs of 0.1 PPC each, wait 5 years, and then attack the network with a massive volume of high coin age. From that perspective, it does make sense.

Still, it would be nice if the minting was a little faster. I just put 45 PPC into a wallet and see that only has a 15% chance of minting every 3 months - yikes. Oh well, I’m sure there’s good reasons for this.

Incidentally, I was going to make a new thread about this but maybe you can help me. Do you know if there are any Raspberry Pi (ARM) binaries floating around for 0.9? Search as I might, I have been unable to find one. I have a first generation (Rev B) Pi and I just nuked an old SD card trying to compile from source. I’ve fired up an ARM Raspbian image in Qemu and am going to compile from there, but it would save some time if someone’s doing it already.

Anyways, thanks again. I sincerely appreciate you taking the time.

https://github.com/peercoin/peercoin/releases has all the releases, i think you want https://github.com/peercoin/peercoin/releases/download/v0.9.0ppc/peercoin-0.9.0-arm-linux-gnueabihf.tar.gz

1 Like

Unrelated to your question, but University is actually outdated when it comes to Peercoin’s economics. Check this video for more recent economic changes from v0.9…

1 Like

Thanks for your help. I think what I was missing is thinking about the possibility that someone with 1 million PPC could split it into 10 million transaction outputs of 0.1 PPC each, wait 5 years, and then attack the network with a massive volume of high coin age. From that perspective, it does make sense.

This is what I would have answered. Glad the conclusion was reached before me