Looking for a review of the comparison between Peercoin and VPoS


#1

I wrote a PoS consensus protocol called Validated Proof of Stake and spent a lot of time comparing it to various other protocols, including Peercoin. I want to give the peercoin community a chance to review it and correct any mistakes I made before I distribute it more widely. Constructive feedback is much appreciated.


#2

Some counterpoints to the simplified description of Peercoin protocol:

  • as of v0.6 , synchronized checkpoints are opt-out by configuration/node setting
  • stake grinding is mitigated by the fact that coin minting burns coin age, which takes the coins out of contention for about 3 days. This is in stark contrast to proof-of-work mining where hash power can be re-used every block. You have a pure falsehood questioning the using up of “coin age”. If a malicious minter faked blocks which didn’t use up coin age, all the blocks would be rejected by the consensus rules when they were relayed to the public network.
  • “prediction attacks” are avoided due to both the hybrid PoW/PoS system. PoW blocks do not have any influence in chain reorganization, but do contribute to entropy in the stake modifier, which mitigates the problem. Also the less regular block timing also serves to prevent prediction attacks.
  • the last sync checkpoint was 2 weeks ago, not a few per day

#3

Couple more points:

So in their misinterpretation, they decide to burn fees and yet keep coinbase rewards. This both doesn’t solve the problem and introduces a new problem: very little of the fees are going to minters now, and so higher inflation will be needed to give minters the necessary incentive to mint.

This is wrong - for a while now about 1 or 2 in every 10 blocks is proof-of-stake. So it is not true there is a lack of incentive to mint proof-of-stake.

Arguing for a higher interest rate in your own coin is a different matter of economics. Changing the economic incentives (coinbase reward, tx fees, coinstake reward) is somewhat a separate issue. More like choosing the color and extras on a new car, vs. whether the car is safe and functional.

I think you are correct in saying the Peercoin white paper doesn’t explain the whole current protocol. That is true of Satoshi’s paper as well. Peercoin has also had protocol upgrades over the past 5-6 years.

Finally, on your hypothetical example of executing a double-spend attack on the Peercoin network:

  • you assume an attacker with 4.5% to 9% of total coins will execute the double-spend. If that is the case, they would be jeopardizing the market value of that stake by attacking the network.
  • your costOfAttackingAlts.js script has a couple values which are off:

var attackerFraction = .09

^^ i have no idea where this probability of minting a block comes from.

var avgCoinAge = Math.floor(365*2/3) // days

^^ the max coin age in Peercoin is 90 days. You have a 244 coin day age.


#4

as of v0.6 , synchronized checkpoints are opt-out by configuration/node setting

Ah ok. Is there somewhere I can go to verify that and other things like that? One major problem I had with comparing to peercoin is that there is no reasonably full spec that I can find, much less an up to date one. The white paper is old and leaves a ton of critical details out.

stake grinding is mitigated by the fact that coin minting burns coin age, which takes the coins out of contention for about 3 days.

I don’t claim that peercoin is susceptible to stake grinding.

You have a pure falsehood questioning the using up of “coin age”.

Which falsehood is that? I think you may have misunderstood me.

“prediction attacks” are avoided due to both the hybrid PoW/PoS system

Ah, good point. I’ll update the paper about that.

the last sync checkpoint was 2 weeks ago, not a few per day

I’ll include that info too, thanks!

This is wrong - for a while now about 1 or 2 in every 10 blocks is proof-of-stake. So it is not true there is a lack of incentive to mint proof-of-stake.

Hmm, I actually don’t remember what I meant when I said “very little of the fees are going to minters now”. Maybe I assumed that only miners (and not minters) got coinbase rewards, in which case minters wouldn’t receive anything. But let me ask you: do minters get coinbase rewards just like miners (is it called a “coinstake reward”)?

Arguing for a higher interest rate in your own coin is a different matter of economics.

I think you’re responding to my statement that “higher inflation will be needed to give minters the necessary incentive to mint.” What I meant by that is that because fees are being destroyed rather than being given to minters, proportionally higher coinbase(/coinstake?) rewards will be needed to offer the same incentive. Taking a second thought about this, I suppose what this means is that rather than being more inflation, these effects will largely cancel out: the coinbase reward would be on average bigger such that it would have the same effect that giving the fees to the minter would have had. So rethinking this, I think its an additional complication that doesn’t accomplish anything, but also doesn’t have any major downside.

Peercoin has also had protocol upgrades over the past 5-6 years.

I would hope that coins keep and publish up to date specifications. I know some coins do that.

If that is the case, they would be jeopardizing the market value of that stake by attacking the network.

Yes. That is a risk the attacker would have to be willing to take.

[.09] i have no idea where this probability of minting a block comes from.

That is an input that the code finds out the likelihood of an attack for. I found that number basically by trial and error while searching for a fraction that would allow the attacker an opportunity once per year.

the max coin age in Peercoin is 90 days. You have a 244 coin day age.

Hm, I didn’t realize there was a maximum. I couldn’t find statistics on average coin age used up per block, so I checked a block explorer and averaged the “coin age” it reported for about 20 blocks. This would change the calculations quite a bit, so let me clarify. When you mint a peercoin block, you’re saying that only 90 days of that coin age is used up at maximum? Or are you saying that only up to 90 days is used in the difficulty calculation and that the full coin age is destroyed upon minting?


#5

Peercoins go for 30 days without having any chance to mint, then 30 days building mint chance quickly, then 30 days building mint chance slowly, then at 90 days total they have reached maximum maturity, and their mint chance is constant. Your mint reward is proportional to your total coindays, no matter what the mint chance is. As your calculations are based on mint chance rather than reward amount, and you have failed to take into account the 30/60/90 day rule, your calculations are indeed quite off.

As for giving fees to minters, minting does not cost money like mining does. Using fees instead of a block reward would just make the system more like a lottery, which implies economic inefficiency compared to giving everyone their fair share.

There are a lot of issues with your analysis, pretty much every bullet point is incorrect or misrepresented.


#6

Thanks for the info Nagalim!

This is because I still haven’t been able to find a specification for peercoin. The information I’ve been able to find about how PeerCoin works (the “whitepaper” and the analysis by Bitfury) are clearly out of date or incomplete. Where can I verify the information you’ve told me?

30 days without having any chance to mint, then 30 days building mint chance quickly, then 30 days building mint chance slowly, then at 90 days total they have reached maximum maturity

Interesting. Are there statistics I can find about how often blocks are minted by coins of different ages?


#7

https://mintr.peercoinexplorer.net/chart has nice charts, not sure if it has exactly what you are looking for tho


#8

The Whitepaper will probably be kept as it is for historic reasons.
The paper from Bitfury and few others that are floating around and often quoted on internals of Peercoin were never correct really. It’s more like how author thinks Peercoin works, over how Peercoin actually works.


#9

The Whitepaper will probably be kept as it is for historic reasons.

You can keep historical versions of the whitepaper while still publishing up to date specifications of the protocol.

It’s more like how author thinks Peercoin works, over how Peercoin actually works.

Is it any wonder people get things wrong about peercoin when there isn’t and has never been an up to date spec?


#10

@irritant Thanks for the link : ) I don’t think those stats have what I want tho. I’ll have to take another sample from recent blocks probably.


#11

This forum is ancient and there are tonnes of gold a search away, this legendary thread may be of use to you: Pillow's Peercoin Myths