When do we shed checkpoints (not that they're bad)?

Could somebody please ELI5 checkpoints for me? I’ve been vaguely aware of their existence the entire time I’ve been interested in Peercoin and haven’t really questioned the need for them, assuming that at some point they would be removed, and the network would be able to call itself truly decentralized.

The recent forking events involving Peerunity wallet demonstrate it to be useful though.

It’s a commonly lofted criticism against Peercoin by impatient people that PPC isn’t truly decentralized because checkpoints.

Is there a standard of maturity for the Peercoin network that is to be used to assess when it’s ready for checkpoints to be turned off? How far away do you guys suppose the network currently is from that point? What needs to happen before checkpoints can be safely removed?

When ready. (Direct answer to topic Subject.)

The checkpoints are not really part of the peercoin protocol.
You can easily edit the client to ignore the checkpoints.

However, nobody took the time to do this, and the question is how many people will run the checkpoint free client.
The checkpoint system is very transparent, and the community still trusts Sunny enough with this “power”.

When Sunny would maliciously use the checkpoint system, the community would notice this quickly and the checkpoint free client would popup immediately.

So I don’t see it as a “feature” of peercoin. I see it as the community trusting the creator but the community has the ability to ignore the creator once they lose trust.
It is not a centralization issue, it is a democratic decision.
We can vote it out by using a checkpoint free client, but I vote for keeping Sunny :wink:

If you ask me, it is not Sunny that needs to take this decision, the community does and so far we chose to keep it.

Removing checkpoints is important for confidence in the network. While they are good for making sure the thing works, they also give out a negative signal to speculators and some potential users. Imagine that we sell cars, and customer comes around and asks about this checkpoint (remote control in the car). So customers ask why do you have remote control, are the controls broken on this car? And we say, well controls works but lets be sure about it and keep the remote control enabled.
It destroys confidence in the product, our product being PoS algorithm as a mean for consensus.

I am sure that removing the checkpoints will draw more potential users and more speculators to Peercoin.
However, we need much stronger network to get rid of them and maybe few more tweaks on PoS algo.
So, get busy - install Peerbox, set up a full node. Buy coins - mint them. Avoid keeping coins on the exchange.

I would suggest it might bring a few more technical minded users, who have an enhanced understanding of cryptocurrency and program code.

But general layman users, not as much. If we removed checkpoints tomorrow, a month from now, there still wouldn’t be a huge flood of regular users.

While Peercoin still isn’t 1.0 yet, I think checkpoints should remain. We should continue building our network and stop implementing hard forks until the featureset is where it needs to be…

(Think: cold minting is still on the table)

Checkpoints saved us from the last problem as recent as just this year. I’d hope they aren’t removed in the near future. Just my own opinion.

If Sunny was malicious (which he isn’t), he would have done that already. It’s been almost 4 years and he has had plenty of opportunities.

They do serve a great purpose, and right now, the good outweighs the bad.

Keep in mind, if a cryptocoin creator wanted to still do something malicious, even without checkpoints, all they would have to do is introduce a hidden bug in the code. Within a few days, before the bug was discovered they could exploit that bug.

That’s with checkpoints removed even… So while some people focus on checkpoints as being a big deal, I really don’t think it is in this case, at the current time, with the current circumstances.

To prove what I’m saying, look at Primecoin (XPM), the block solve is either a prime number, or it isn’t. That’s quite simple. It’s a great coin, with little adoption. Why?

According to the theory, investors and whales should pick up XPM and run with it as far as they can, because it’s truly trustless based on prime numbers.

https://github.com/primecoin/primecoin/blob/master/src/checkpointsync.cpp

// Primecoin also adopts this security mechanism, and the enforcement of // checkpoints is explicitly granted by user, thus granting only temporary // consensual central control to developer at the threats of 51% attack.

So checkpoints are not mandatory in XPM or Primecoin unless user explicitly enables the use of them.

[quote=“peerchemist, post:4, topic:3931”]Removing checkpoints is important for confidence in the network. While they are good for making sure the thing works, they also give out a negative signal to speculators and some potential users. Imagine that we sell cars, and customer comes around and asks about this checkpoint (remote control in the car). So customers ask why do you have remote control, are the controls broken on this car? And we say, well controls works but lets be sure about it and keep the remote control enabled.
It destroys confidence in the product, our product being PoS algorithm as a mean for consensus.

I am sure that removing the checkpoints will draw more potential users and more speculators to Peercoin.
However, we need much stronger network to get rid of them and maybe few more tweaks on PoS algo.
So, get busy - install Peerbox, set up a full node. Buy coins - mint them. Avoid keeping coins on the exchange.[/quote]

+1

[quote=“peerchemist, post:4, topic:3931”]Imagine that we sell cars, and customer comes around and asks about this checkpoint (remote control in the car). So customers ask why do you have remote control, are the controls broken on this car? And we say, well controls works but lets be sure about it and keep the remote control enabled.
It destroys confidence in the product, our product being PoS algorithm as a mean for consensus.[/quote]

-1

Obviously we’re not selling cars. Your example kind of gives the impression we’re selling cars that are ready for the road.

It’s one of the reasons Sunny King always signs his messages “Have fun”. Peercoin is still in its early stages. That is exactly why the price is, what it is.

Early speculators deserve a big reward if this becomes huge, when peercoin is further developed and the network is the right size to no longer need checkpointing.

What I see though, is a lot of early speculators wanting a big reward now, and if they think checkpointing being removed can bring in huge investment. One of the motives for that is so that they can cash out now.

By encouraging checkpointing to be removed early, is that you could be seen as asking for a ponzi situation where large investment comes in, for a product not fully ready, so the early speculators can cash out.

It’s too early in my opinion for checkpointing to be removed, so you can +1 all you want. It’s not the right time, and morally it isn’t right do it right now.

I don’t know if SK responds to peer pressure to just arbitrarily modify this code to do what everyone thinks they want even at the expense of the network hurt by it, but I hope not.

You want to see peercoin go to the moon? Just wait for it and be patient.

P.S. In the “car” situation, in 1893, the first gasoline powered car was sold in the USA. Four years later, that would be 1897. That’s not a lot of time in the automotive industry to get things right. Think about that for a moment.

In the next major release, users should have the option to turn off checkpoint enforcement, i.e. can receive checkpoint messages but not actually follow it.

Theoretically, exchanges would follow the checkpointed chain.

I can’t see a reason why anyone would want to follow a non-checkpointed fork? It’s almost comical. I must be missing something. :frowning:

https://www.peercointalk.org/index.php?topic=4617.0

;D

The point is that this is a decentralized network and that you are free to follow whatever fork you like. If you have to follow the specific fork that one person commands it is not decentralized.

There is also the argument that since Peercoin is highly experimental technology it is better for it to fail now if it is not sustainable without checkpoints, rather than fail a long time down the road when the person controlling checkpoints is no longer available/benevolent. I don’t know whether this is the case since I don’t feel the issue has been articulated clearly by the developers, or whether it is the case that it is sustainable only when the network has reached a certain size or minting participation, but as it stands I think I would be personally tempted to run a client without checkpoints.

The point is that this is a decentralized network and that you are free to follow whatever fork you like. If you have to follow the specific fork that one person commands it is not decentralized.[/quote]

Yes, if there is a problem with the chain there can be discussion here or in other places. So most people would see the need to temporarily use the checkpoint but nobody had to, all voluntarily. Thats the whole point of decentralized cryptos. I like this news.

The point is that this is a decentralized network and that you are free to follow whatever fork you like. If you have to follow the specific fork that one person commands it is not decentralized.[/quote]

Yes, if there is a problem with the chain there can be discussion here or in other places. So most people would see the need to temporarily use the checkpoint but nobody had to, all voluntarily. Thats the whole point of decentralized cryptos. I like this news.[/quote]

This sounds good. But it may take time to have majority of users turning on checkpoints when an issue happens. Is there any method to have most users quickly turning on checkpoints when needed?

Wow! Thanks for replying sunny, and thanks for the discourse everybody.

I honestly am okay with keeping checkpoints. I was really more curious about what you guys think constitutes adequate network maturity to untick the box (run a different client, whatever), which is not to imply that SK would ever do anything malevolent. It has to happen sometime, right?

Is it going x amount of time without forks?

is it having enough people minting? do we?

if I turn off check pointing as soon as the next version drops, am I guaranteed to fork? I would guess the dev doesn’t feel that way since he made it optional now. Is there really anyway to tell or are we still in trial and error mode?

The problem with checkpoints is not only that Sunny may be malicious (I don’t believe that actually).

But it introduces a single point of failure. If Sunny’s “checkpoint node” is hacked, then the attacker would have a very high degree of control of the chain. I think (and hope) this node is hardened against attacks, but unfortunately there are no “unhackable” computers.

Checkpoints are OK for alpha testing, but I think it’s time to abandon them. That’s why I totally agree with the decision to let the users decide in v0.6. There are many other PoS currencies, among them some PPC clones, out there now that already run without checkpoints.

thats right, I forgot about the flood! if ppc clones are doing fine without it then we should be good.

Nope we’re not. The ppc clones are not running the latest protocol version, neither will they be the ones switching protocols.
Checkpoints are useful right after a protocol change, like with the recent change from v4 to v5.

So as long as protocol changes expected to happen, checkpointing can’t be discarded.

Therefore, the checkpoint following should be enabled by default now, and clients may opt out if they wish to, or when checkpoints get abused.

Nope we’re not. The ppc clones are not running the latest protocol version, neither will they be the ones switching protocols.
Checkpoints are useful right after a protocol change, like with the recent change from v4 to v5.

So as long as protocol changes expected to happen, checkpointing can’t be discarded.

Therefore, the checkpoint following should be enabled by default now, and clients may opt out if they wish to, or when checkpoints get abused.[/quote]

so you’re saying a good standard to follow would be to ask “are any future hard forks necessary?” and if the answer is “no, not for a very long time,” remove checkpoints?

I’m saying, as long as we are fine-tuning the protocol, checkpoints should be kept.