The Removal of Checkpointing

When trying to get others to try Peercoin I constantly see a rather good point, that the coin currently uses a checkpoint pulse, rather than checkpoints being chosen by the wallet. Are there any recent updates on the removal of this feature other than “soon”? It’d be easier to advertise Peercoin without anyone deciding which blocks count and which ones don’t.

Me and Sentinelrv have written questions for the upcoming Sunny King interview about this issue.

If you want to see what happens with no checkpointing with a low difficulty level on a PoW coin turned PoS, check out SHACoin

That coin is forking all over the place. People are syncing on multiple SHACoin chains, not able to transfer coins to each other, exchanges are putting SHACoin on hold, it’s a complete mess.

The point about Sunny’s checkpointing is that it is not centralized. The checkpointing can happen from a decentralized point. Sunny King can be anywhere on the network, connected to any peer grouping, sign a checkpoint, and the network will see it.

So checkpointing does not really mean centralization.

Go look at SHACoin like I mentioned. Read the bitcointalk’s SHACoin thread.

I hope Sunny King keeps checkpointing in longer “just in case”.

[quote=“ppcman, post:3, topic:2121”]If you want to see what happens with no checkpointing with a low difficulty level on a PoW coin turned PoS, check out SHACoin

That coin is forking all over the place. People are syncing on multiple SHACoin chains, not able to transfer coins to each other, exchanges are putting SHACoin on hold, it’s a complete mess.[/quote]

Central checkpointing is a very rickety way of solving this, especially when it scares people away. Checkpointing doesn’t even stop the blockchain from forking, it just gives us a block to go back to. That could easily be like the other coins, hardcoded in the wallet, not bequeathed by Sunny King.

[quote=“ppcman, post:3, topic:2121”]The point about Sunny’s checkpointing is that it is not centralized. The checkpointing can happen from a decentralized point. Sunny King can be anywhere on the network, connected to any peer grouping, sign a checkpoint, and the network will see it.

So checkpointing does not really mean centralization.[/quote]

That is exactly the definition of centralization. We’re relying on entirely one entity (Sunny King) who acts as a single point of contention. While I don’t personally think Sunny is interested in destroying PPC by running around double spending, it defeats the purpose of cryptocurrency, which is no trusted third party who can actively modify your transactions by redacting them in a checkpoint.

How is it a very “rickety” way of solving this? Seems to have been working fine for almost 2 years now. The reason it scares people away is because they aren’t educated on the reason for it, or the necessity of it. Greater education will calm people’s nerves.

Hardcoded checkpoints in the wallet require you to re-download the wallet to obtain the newest checkpoints. If you want to talk about a “rickety way” of doing it, it is simply that…

Are you suggesting that any github project owner of any coin “bequeathes” their releases, even those with hardcoded checkpoints? If anything, Peercoin’s dynamic method of live checkpointing for network health is something to be considered by other coins.

Centralization arguably happens with releases from a github project owner. Here you’re relying on entirely one entity too. Your point?

No one is modifying signed transactions here.

Checkpointing is simply used during an attack on the network, causing a forked chain, by excessive block creation “if” it happens. It all happens before the 520 block confirmation, which is part of the protocol. Why do you think we have that many confirmations required for a block? 520 was chosen on purpose to give room for checkpoints to work.

Your signed transactions still hold their integrity, it is just a matter of which block they are included on…

Your arguments are the type of thing that needs to be addressed educating the public about this sort of thing. People have taken the time to form their own conclusions, because at face value checkpointing looks like a problem. It really isn’t. Look how healthy the Peercoin network currently is from a functional standpoint.

Now take a look around at all the altcoin spin offs who are copy/cat clones without real devs, and see how many of them crash and burn when their blockchains go awry.

Sunny King should NOT be demonized for his choice to include checkpointing in this manner. He should be praised. To prove it, look at the history of Peercoin’s network. It is stable.

What if Sunny gets run over by a car tomorrow? Or worse, someone else manages to pulse out their own checkpoints. That is rickety.

People choose whether to download wallets or not. They don’t choose whether to receive a checkpoint pulse.

Again, everyone chooses that developer. One bad developer won’t ruin Bitcoin, but there is now a built in system that links Peercoin to Sunny.

There is more than one Bitcoin wallet and more than one Bitcoin wallet developer.

There is someone actively deciding if they count or not, and it isn’t miners.

There are plenty of things in life that have a “good” purpose but their misuse can be much more worse than the problem they were designed to solve.

Which is decided by a centralized authority. The opposite of what happens in other cryptocurrencies.

“It doesn’t matter that there is a kill switch, no one has pressed it yet, so we’re good!”

Irrelevant.

This sounds frighteningly cultish. No one is above criticism.

Checkpoints are coded by a private key that only Sunny holds, so no one can “pulse out their own checkpoints”, sorry. That key is equally as difficult to decode as any wallet’s private key. If keys were easily obtained, some one would have stolen the silkroad bitcoins already. Checkpoints are already in the planning stages of being removed anyway.

If Sunny gets run over by a car tomorrow, the network would fend for itself, which it could plausibly do at this stage - It has aged enough, but more aging is even better. There is no need to rush into removing checkpointing yet. While we still have Sunny here, let’s use him the best way possible.

Your kidding right? Anyone can choose whether or not to comment out the checkpoint code in their own wallet source code and recompile.

The more time you spend trying to win a debate, the worse your points become. People have chosen Peercoin and Sunny King as a synergistic relationship that compliment each other and have chose to accept him as a good developer. Sunny King has already stated he wants this project to start accepting more developers and he’s on track to do that…

So you’re arguing a moot point. Why is that?

There is nothing preventing from someone creating a new Peercoin wallet that makes use of the Peercoin network.

Where are you going with any of this? Now it sounds like your arguing for the sake of arguing?

There is someone actively deciding if they count or not, and it isn’t miners.[/quote]

What? “If they count” ? You mean if the transactions actually make it to their destination? The transactions eventually make it to their destination irregardless of whether or not a coin chain forks, and then due to a checkpoint reverses that fork and follows a different chain.

You do realize that blocks are nothing more than transport mechanisms for transactions. They are not considered valid until 520 block confirms. If a bad fork appears to be spreading, a checkpoint stops the fork and stops that chain and gets every one to revert back to the original block.

The transactions on that fork still get sent, but on the main chain instead. You seem to think that Sunny can invalidate transactions. He can’t.

Your speaking in generalities here. That serves no purpose. I can’t answer Confucius says… idealogy without a reference point.

Which is decided by a centralized authority. The opposite of what happens in other cryptocurrencies.[/quote]

THE TRANSACTIONS THEMSELVES ARE FINE - THE NEW BLOCKS CREATED WHICH TRANSPORT TRANSACTIONS ARE WHAT ARE CHECKPOINTED.

(I’ve said this already, but maybe if it is caps, you can read it easier).

This means the transactions are safe, irregardless of what Sunny or checkpoints do…

Whew! You’re so determined be right, you’ve lost all sense of what you’re talking about.

I think we’re done here.

You can have the last word.

Any one reading this thread, if you want to engage this person, please do so. I’m done. They have obviously made up their mind even before we started discussing things, it appears to be a wasted effort in reasoning with him/her.

There is no known secure replacement for advanced checkpointing.
Net of trust, autonomous agents, … there will be something.

Bruteforce is not the only way to acquire keys.

This is irrelevant and dodging the point. Ripping the bandaid off now would be better than kicking the can down the road.

No, not anyone can do that. Believe it or not there are some people who aren’t programmers, namely, the people not using Peercoin.

[quote=“ppcman, post:7, topic:2121”]The more time you spend trying to win a debate, the worse your points become. People have chosen Peercoin and Sunny King as a synergistic relationship that compliment each other and have chose to accept him as a good developer. Sunny King has already stated he wants this project to start accepting more developers and he’s on track to do that…

So you’re arguing a moot point. Why is that?[/quote]

Kicking the can down the road again. You seem to think the answer to every problem is procrastination.

Yet that hasn’t happened.

Different chains contain different transactions. That’s pretty basic information.

A block chosen by one single authority.

There are no transactions without blocks. Also, there is no need to be rude.

Quite rude.

Oh good, my transaction has been confirmed in the most recent block, oh wait, that block got cut off by a checkpoint someone pulsed. Guess my transaction no longer exists. I think you mean my coins are safe. Yes, the checkpointing doesn’t affect my coins, but it does affect my transactions.

[quote=“ppcman, post:7, topic:2121”]Whew! You’re so determined be right, you’ve lost all sense of what you’re talking about.

I think we’re done here.

You can have the last word.[/quote]

Plugging your ears up must go hand and hand with procrastination, I suppose.

Walk away if you must, but don’t walk too far, your pedestal might not be as wide as you’d hope.

[quote=“OrderAmongChaos, post:9, topic:2121”][quote=“ppcman, post:7, topic:2121”]The more time you spend trying to win a debate, the worse your points become. People have chosen Peercoin and Sunny King as a synergistic relationship that compliment each other and have chose to accept him as a good developer. Sunny King has already stated he wants this project to start accepting more developers and he’s on track to do that…

So you’re arguing a moot point. Why is that?[/quote]

Kicking the can down the road again. You seem to think the answer to every problem is procrastination.[/quote]

Well I think keeping a nuclear option when the coin is young is OK. The existence of check pointing probably has scared most serious attackers away. Sunny has said Check Point for XPM and PPC will eventually be phased out. Parents make some of the choices for a child before the child is 18. That is a tried and true method to raise a child. Is that kicking the can down the road?

[quote="ppcman, post:7, topic:2121"]What? "If they count" ? You mean if the transactions actually make it to their destination? The transactions eventually make it to their destination irregardless of whether or not a coin chain forks, and then due to a checkpoint reverses that fork and follows a different chain.[/quote] [quote="ppcman, post:7, topic:2121"]THE TRANSACTIONS THEMSELVES ARE FINE - THE NEW BLOCKS CREATED WHICH TRANSPORT TRANSACTIONS ARE WHAT ARE CHECKPOINTED.[/quote]

I also didn’t realize (but now it seems obvious) if there is a fork, all transactions after the fork will be included in both braches. Maybe OrderAmongChaos didn’t realize this.

Oh good, my transaction has been confirmed in the most recent block, oh wait, that block got cut off by a checkpoint someone pulsed. Guess my transaction no longer exists. I think you mean my coins are safe. Yes, the checkpointing doesn't affect my coins, but it does affect my transactions.

All coins have checkpoints, that has not stopped attacks from occurring.

Checkpoints are used to pull back the blockchain. If your transaction is in block 2 and block 1 is a checkpoint, the chain can be pulled back to 1 and make it like your transaction never happened. You’d have to broadcast it again. Again, coins themselves are safe, you can’t use checkpointing to steal coins, but you can attack the chain without needing 51% of anything.

Sunny can indeed create a checkpoint and a new blockchain with all the transactions up to the last checkpoint removed (maybe more, I’m not sure). Then all these transactions are back to 0 confirmations.

But I don’t see anything in the code that would prevent you or anyone from publishing these old discarded transactions in a new block on this new blockchain.

I don’t think it would be done automatically in the current implementation though. Someone may have to read the old blocks and broadcast the transactions again.

Sunny can also create a fork with all (or most of) the transactions kept, but I guess you’re talking about extreme situations here.

It breaks one of pure PoW fundamentals where protocol itself chooses best chain. Thus we cannot use “In protocol we trust” but maybe “In network we trust”, it doesn’t defeat the purpose but changes accents. During maturation of network( more nodes and active stake), there is surely need for strengthening community to the point where it will be able to replace in reasonable time SK with other entity and propagate new client code. Before certain level of network development there is no way for checkpoint replacement imo, probably any solution would be easily breakable.

Are you sure about re-broadcasting? Not casual chain reorg?

Decentralization can have multiple dimensions, Chris Odom perfectly pointed most valuable purpose of decentralization - censorship resistance. On that field, with future ability to have infrequent p2pool blocks, Peercoin is orders of magnitude :wink: better than all PoW coins (referring even to current IRS<->mining pools concerns). It won’t convince PoW purists/winners but hey, we don’t have to satisfy everyone :slight_smile:

I am only half-following this interesting discussion: Can someone please explain:

  1. Is checking-pointing necessary for the present defence and security of peercoin?

  2. Is Sunny the only person who can implement checking-pointing in an emergency situation to defend peercoin?

  3. If checking-pointing is undesirable, is it possible to phase it out without compromising the security of peercoin? If so, what will replace checking-pointing?

  4. Is Sunny the only person with the access to make the changes referred to in 3)

[quote=“RobertLloyd, post:14, topic:2121”]I am only half-following this interesting discussion: Can someone please explain:

  1. Is checking-pointing necessary for the present defence and security of peercoin?

  2. Is Sunny the only person who can implement checking-pointing in an emergency situation to defend peercoin?

  3. If checking-pointing is undesirable, is it possible to phase it out without compromising the security of peercoin? If so, what will replace checking-pointing?

  4. Is Sunny the only person with the access to make the changes referred to in 3)[/quote]
    Quick answers…

  5. better to be safe than sorry right?? better to have a condom and not need it than not have a condom and need it right?
    I don’t know the stats or any results from Sunny Kings checkpointing if he has had to prevent any attacks or anything, guess this could be interesting question for the interview. The attacks and threats to many of the scrypt coins atm is testament to the safeguard and insight that this checkpointing provides. As I say I am not sure how many times if any the checkpointing has “saved” the Peercoin network, if any at all. These safeguards are not necessary when everything is working fine and no threats, but I bet you if it was removed right now there would be someone who would try exploit such a loophole… is human nature

  6. Sunny and perhaps his original developers are the only ones who know the secret key needed to perform such checkpointing

  7. Sunny has said right from the start that the plan is to phase out the checkpointing without compromising the security of Peercoin, and with each release and update from Sunny he seems happy with the way things are progressing and has never turned round and said the checkpointing can Not be removed. Possibly will be done in everyones clients is my understanding so all nodes agree with each other, just need more network distribution and mainframe.

  8. Its possible for anyone to implement the code necessary but would need to be pulled into master repo and most likely a mandatory upgrade like 0.4 will be.

Fuzzybear

Its possible for anyone to implement the code necessary but would need to be pulled into master repo and most likely a mandatory upgrade like 0.4 will be.

Or, enough of the nodes would need to agree to voluntarily update to a new branch of code, affecting a hard-fork from the current ppcoin/ppcoin:master branch. That’s not an easy proposition, but one that the community could employ, if there was a very good reason to.

Fuzzy, Ben

Thanks for the responses. I have suggested the following two questions for the forthcoming interview with Sunny. Let me know if there the questions already have answers, or if the questions misunderstand the issues.

  1. As I understand it, check-pointing is necessary to protect Peercoin. What provision is in place to ensure that the “keys” that enable check-pointing are stored with a neutral third party (e.g. a solicitor) for release to trusted peercoin supporters/developers, in the event of you (Sunny) having an accident, or suffering serious illness, etc.

  2. I understand that the phasing out of check-pointing is the eventual aim. If check-pointing is removed, what will replace it to protect Peercoin?

My problem with the actual checkpointing approach is that it adds a possible attack vector: let’s call it the “CheckpointPrivateKey hack attack”.

Any malicious individual which hacks the computer of the private key holder can control the network and double-spend. Even worse, the computer with the private key must be connected to the Internet to send the checkpoints, so this key cannot be stored in offline cold storage (except if Sunny has some kind of brainwallet mechanism).

I have no doubts that Sunny’s “checkpoint sync computer” is very well secured. But we have seen several successful hacking attacks on Bitcoin exchanges that also (very probably) had strong security measures, so we can assume that there are now some highly-skilled cybercriminals specialized in cryptocurrencies. As Peercoin is a multi-million dollar business now, the attractivity of a “checkpoint PrivKey hack attack” will rise. Probably it’s still not attractive enough because of the difficulty to sell PPC worth millions of dollars, but if the value continues to grow someone probably will give it a try.

That’s why I think that still in 2014 checkpoints first should be maken voluntary and then removed entirely. Perhaps the PPC devs can use some of the mechanisms of Nxt, they seem to have managed securing a PoS blockchain without centralized checkpoints.


If you are an overly sensitive individual who gets insulted by sarcasm and rants, don’t read any further. This constant worry about checkpointing is driving me nuts and I have to rant about it. I’m not going to debate how I feel. I am simply sharing my thoughts.

----- rant mode on ------

Peercoin has been running fine since 2012, but all of a sudden we have people obsessed with checkpointing. It’s a safety mechanism that keeps us safe. But people want that safe guard off as soon as possible.

Be careful of what you wish for, because it just might come true.

(In other words, all this precious debate about removing checkpoints too early might really damage the Peercoin network, is that what you all really want? Seriously?)

I think what should be done, is for someone to fork Peercoin and have no checkpointing in it whatsoever.

We’ll call it NCPC (No checkpoint Peer Coin)

[size=14pt]NCPC COIN[/size]

Let’s all buy those coins and then watch the roller coaster ride while the chain forks a billion times while the coin is young.

We can sit there with stupid smiles on our faces when these NCPC transactions don’t complete, and while the network gets fragmented with 100 chain forks all running at the same time.

NCPC holders can sit in a circle and sing happy songs as they pat each other on the back for not needing Sunny King or his checkpoint system.

It’s utterly ridiculous that people accept Sunny King as the creator of a stable and innovative coin, yet we all get to sit here at nickpick at something that is working to our benefit. When it is time he said he will remove it. Why are we rushing him to do something that might ruin your holdings? Why?

Why this isn’t enough for some people, I don’t know.

I really hopes Sunny turns a deaf ear to people who want checkpointing out asap. Instead, take my advice and create NCPC coin with no checkpointing, so I can say “see? I told you so. should have went with the checkpointing system”

LIST OF PEOPLE WHO WANT CHECKPOINTS REMOVED ASAP:

a) Botnet owners

b) People who have no PPC and hold other coins (other than Peercoin) and want to see Peercoin “go away” so their marketcap increases.

c) Hackers and evil minded people who thrive in chaos situations and want to cause trouble on Peercoin’s network.

d) Innocent question-asking Peercoin fans that think putting pressure on Sunny in this area is of upmost importance before any other facet of Peercoin because of the rumors of how centralized Peercoin is… It’s been debunked numerous times, but people insist it’s a do-or-die situation, which it really isn’t. The rumors are so thick and dense it becomes a non-winnable debate like abortion. You’re either for checkpointing, or against. There is no inbetween, and there are no converts to the other side irregardless of whether or not there is logic involved.

Sunny will tell us the most appropriate time to remove checkpoints. He hasn’t done that yet, so it must not be time. Even if you think you’re being helpful to the market acceptance of Peercoin, prematurely removing them is a bad idea, so let’s talk about some thing more constructive shall we?

Oh, if any one does create NCPC coin without checkpoints, don’t tell me. I won’t mine any or buy any.

------ rant mode off -------

Calm down everyone ::slight_smile:

Checkpointing is an important topic and needs to be understood. I have learnt several new things from the above discussion

It seems to me that checkpointing is necessary for peercoin, at least in the short term, but that it carries certain risks owning to its centralised nature. These are:

  1. the key to the checkpoint facility being lost, due to Sunny having an accident, etc
  2. the key being compromised by a malicious attacker, as suggested by d5000

The first risk is within Sunny’s power to control, hence my proposed question to him. The second is probably a low risk at the moment and Sunny can control it up to a point - but I agree that, if PPC’s value rises, PPC will be targeted

Since no-one is saying that checkpointing should become a permanent feature of peercoin, I am interested in knowing how we expect things to develop. In particular, do we know what changes Sunny intends to make, so that peercoin outgrows the need for checkpointing?