Central checkpointing and minimum coin age


As I understand it centralised checkpointing is used because an attacker could mine coins to themself and take full advantage of the PoS generation. But when coins are well distributed then is no longer so much an issue. So if central checkpointing did not exist, would there be a need for minimum coin age? Are there any other reasons to have minimum coin age? Could nStakeMinAge be zero?



One reason I see for this, is that there is a “cooling off period” after successully minting a block to give someone else a chance to mint while you can’t.

Let’s say you owned a huge stake, like really massive, and you minted non-stop successfully because of the amount of coin-age and stake you had… You could otherwise shut out other people because of probabilities being in your favor to always beat them on the minting difficulty.

This way, if you get shut out for a 30 day waiting period, it gives the rest of the network (assuming you were a massive whale) a chance to mint.

Thanks for the answer. A counter argument to that is that a large coin holder could simply withhold a proportion of coins from minting new blocks (ie. mint using a particular fraction of their coins), so that after minting a block they can still use other coins they have. If set up properly they could use just enough coins such that by the time they have used all of the coins, the first coins they used have become replenished (in age), and thus the cycle can repeat.

Except for the fixed transaction fee of 0.01 PPC/kB the minimum coin age to mint is another incentive to execute transactions deliberately. If you execute a transaction (output) and transfer some PPC from an address that contains a lot PPC, the remaining PPC get transferred back to your wallet via an input. That results in a coin age of 0 for those PPC, right?
If you have PPC: keep them, let them mint, spend them deliberately :wink:

Hi masterOfDisaster. I don’t know what you mean by “deliberately”. I don’t know how one would send transactions accidentally.

Maybe that was poorly expressed.
I meant deliberately like well-considered, mature, reflected (in the end: not regularly! :wink: )
Do you know what I mean?

What would be the benefit of doing that? A whale wanting to get his 1% minted coins could rather have them in one big lump sum, rather than later.

With your proposed method of splitting up his coins, he has to increase his difficulty and probabilities of being able to find PoS blocks.

Breaking up your coins like that means you have to work to find even more blocks, with less coin-age per-transaction, and a higher difficulty as a result. This would be shooting yourself in the foot unnecessarily because there is no benefit to doing that , if your goal is to mint coins (which is what most people want to do).

So the 30 day waiting period is still a good idea for the network. Nothing changes.

[quote=“masterOfDisaster, post:6, topic:2183”]Maybe that was poorly expressed.
I meant deliberately like well-considered, mature, reflected (in the end: not regularly! :wink: )
Do you know what I mean?[/quote]

Yes, but as for “regularity” (meaning frequently?), the difficulty should prevent too many blocks being created.

@ppcman: Sorry, what I should have said is that someone could generate blocks with many smaller amounts so that they can generate blocks continually, even after some of them do not age for 30 days. It could be done simply by splitting the amounts into many wallets and mining separately. But all of the coin age would be utilised, they would simply be utilised in separate PoS blocks. Essentially by splitting coins into many separate wallets or by using software which emulates multiple wallets, there’s no reason to use all coins in one block, but you can still mint using all of the coins at once.

Why would someone want to generate them continually?

They get no additional interest or minted coins by doing it that way.

Whether you generate your coins on day 31 or day 3100, you get paid the same.

The difference is that your newly minted coins on day 31 have an opportunity to earn their own coin-age and mint their own coins too (compounded interest).

Every benefit goes against what you’re proposing with splitting up wallets. It’s better to amalgamate wallets instead.

Perhaps we can stop talking about technical reasons why something works and doesn’t work here. Tell me really what it is that you’re after from a business sense, or usage sense. You seem devoted to discovering a way to “do something”. What is it that you’d like to do by removing the 30 day waiting period?

Is it because you bought coins, and it bothers you that you have to wait 30 days to see them mint? That I could understand.

Or some other reason?

I thought your point was that the 30 days waiting would prevent a 51% attack because it prevents coins ageing for 30 days, but my point is that it is not so, as you don’t have to put all of the coins into one block.

But what it seems like you are saying is that when nodes behave, each node can only mint a block with at least the 30 day interval in-between, and thus provides more space for other nodes to add blocks. Whilst the exact nature of that would require a closer look (for looking at it mathematically), I can understand it somewhat, though it appears that the more nodes you have and the more equally distributed the coins are, the less this makes a difference. When you have a lot of nodes then there are more nodes which can take up this space, which is why splitting coins into multiple wallets would allow a large coin holder to continually make blocks despite the 30 days.

30 days would be around 4320 blocks. So it is a lot, and would allow for this space for small coin-holders very easily until a large number of people came on the network I suppose. On the other-hand, if the network became small, then it could be there there are not enough minters to fill the 4320 blocks before coins age again. Though it would be best to examine this mathematically to see the exact effect it has on giving space to small holders over different numbers of minters and coin distributions.

What I’m after if to expand my knowledge about certain aspects of peercoin. I’m not saying peercoin should be changed. I’m just looking at it at a hypothetical perspective and for trying to expand my understanding.


Edit: I can see incentives in trying to create as many blocks as possible: 1. You earn interest faster and can compound the interest (as I understand it through compounding the interest you could earn more than the 1% per year). 2. If you make it harder for others to mint blocks then you an reduce the probability of others to mint a block before the maximum coin age is reached, thus limiting the interest they can earn. In this case you would get a higher share of the inflation.

Thanx guys, interesting discussion.

Is there somewhere a detailed technical description of how peercoin stake minting works?

Such clarifications seem definitely needed if Peercoin wants to get mainstream.

A Peercoin wiki may be?

There is the whitepaper: http://www.peercoin.net/whitepaper

And of-course there is the source code, but there is a lot which is unexplained or perhaps completely unknown at this point, much like how over time more research has been done on Bitcoin, opening new knowledge, such as that of selfish mining.

Yes, that is what I am saying in response to your original question:

I believe that the 30 day waiting period should still exist. Maybe later it will be changed later. Who knows what Peercoin version 9.0 will look like in the year 2058, but we’ll see.

It is a second order effect. If you split your stake to N pieces, each part is N times smaller. The chance to find a POS block is proportional to stake_size*age. So each piece takes N times longer to find a block. So you get the same first order result.

It becomes harder to make blocks with smaller amount of coin age sure, but if you use all of your coins at once, then you have to wait 30 days before you can make blocks again. If you didn’t then you can continually make blocks, despite it being more difficult, since you will keep coin age during those 30 days whilst the spent coins are replenishing in age.

If you had a large enough amount of the coins, you could easily make more than one block within the 30 day period, but you couldn’t if all of your coins are going towards single blocks.