There is an allegation on /r/bitcoin that concerns me

The below thread on /r/bitcoin involves a discussion about proof of stake and checkpointing and the conversation boils down to this following paragraph by a peercoin supporter:

“” I see you mean in a different chain as in fork not as in there being 2 chains making up PPC. Ok, yes I see how you need to have all the history to evaluate proof of stake and having checkpoints makes this easier. I don’t see why you would want fresh stake minting blocks anyway since there would be no “cost” to attack since if its burned or locktimed (a proposed way of dealing with stake holders who submit multiple chains to the network since its so easily detectable) then that would not effect them since the stake would only exist on the rejected chain and not on the accepted one. Thank you for explaining the problem in more detail than I have seen it before, I’ll have to spend more time thinking about the implications. I still don’t see an attack from stakeholders as being very likely since they would be shooting themselves in their own stake but if thats only held in place by the checkpoints then its a big concern not least of all if when I’m done walking through the code and it turns out your right and its enforced by default and what that says about the honesty of the dev team.""

Can we ask that Sunny or somebody that is familiar with the code speak to the allegation that the proof of stake is held together by checkpointing and/or propose why it doesn’t matter?? Also would be good to know when checkpointing will be finished.

Glad someone posted this. Some answers would put minds at ease.

Indeed, I am also very interested in clarification.

Regards

That quote is hard to follow, especially for someone not familiar with programming and crypto-currency protocol, like myself, so a simplified explanation would be great.

Thanks.

I believe what they are saying, from the thread, is that proof of stake won’t work once checkpointing is removed because the system won’t know who does or doesn’t have stake. I think.

At the very least the individual with an opposition to peercoin convinced a peercoin defender that there was an inter-dependency between proof-of-stake and checkpointing.

[quote=“hammyburger, post:5, topic:1384”]I believe what they are saying, from the thread, is that proof of stake won’t work once checkpointing is removed because the system won’t know who does or doesn’t have stake. I think.

At the very least the individual with an opposition to peercoin convinced a peercoin defender that there was an inter-dependency between proof-of-stake and checkpointing.[/quote]

That clears it up a bit, thanks.

Its very possible its all FUD spread by litecoiners or other competitors. But we should be able to refute arguments if that’s the case.

Or, if it is a legitimate concern, to get that out in the open right now so we can discuss what that means to the network in the future.

JohnnyLatte said this in chat…

“So, according to nullc every block that comes in is checked against centralized checkpoints and there is no way to turn them off. They are not off by default and then user accepted. This contradicts the sunny quote on peercoin.net

Also, I remember Warren from Litecoin saying something similar about Sunny not being able to remove checkpoints because it would reduce the stability of the network. It’s in this link, a couple posts down. Not sure if it relates or not…

https://litecointalk.org/index.php/topic,7142.msg54677.html

fuzzy@anonymized.invalid

Fuzzy: That is an example of a “hardened” checkpoint in the code. Yes, Bitcoin, Litecoin, Peercoin, and most “established” coins have hardened checkpoint blocks pre-coded in checkpoint.cpp. It’s even commented in the code as being “hardened” which means hard-coded.

There is also a central checkpointing feature Sunny King has added to peercoin which relies on a “MasterPrivKey” which in all default installations is listed as null and not defined.

CSyncCheckpoint::strMasterPrivKey = “”;

Should the network undergo attacks in the early phases on Peercoin’s network, Sunny, the holder of the MasterPrivKey could nullify a long orphan chain if it was under attack by someone with a huge amount of hash power for proof-of-work (without having any proof-of-stake)

As more coins are created, and distributed (and stake as well), and as more peercoin wallets remain online and verify the network, the central checkpoint feature is no longer needed. Sunny himself has said publically he plans to remove that feature in 0.5. He might do it earlier in 0.4, we don’t know.

Either way, the central checkpointing that is in it, is a very good thing while the network is young. But Peercoin adoption has been growing in leaps and bounds, so Sunny will soon determine to remove that added feature (and it is a feature)…

I can see how someone with less knowledge about cryptocurrency would run around causing FUD / unnecessary fear to try and sway investors into another coin, by playing on the naivety of people. It’s just sillyness.

Disclaimer: I believe the foregoing to be true based on what I’ve read in the code, I could be wrong.

Excellent posts @ FuzzyBear and ppcman.

Not only did I learn a lot about the technical details of Peercoin (especially what these checkpoints are all about), but I also continue to think Peercoin is a great idea. Since Peercoin and cryptocurrency as a whole may be new to a lot of users (myself included) it is even more important to have a group of skilled and competent people around which are able to clarify if questions arise! :slight_smile:

Btw you should add your answers to the corresponding reddit threads (http://www.reddit.com/r/Bitcoin/comments/1uoq6e/what_do_you_guys_think_of_proof_of_stake_mining/ ), I am sure they will enlighten a few more users as well!

I don’t use reddit and don’t want to… :slight_smile:

If someone wants to repost my stuff once the community has verified what I’ve written to be true, then go ahead.

However, I think a re-post should wait 24-48 hours for the Peercointalk forum community to examine what I’ve written first.

Did you guys actually read the discussion between Nullc and JohnnyLatte on Reddit before posting your answers here? Not accusing, just wondering. The point of this thread is that the discussion on Reddit caused JohnnyLatte to rethink things. I think we should be analyzing that discussion here.

It’s important that we’re not just giving out stock answers to questions without reading and understanding people’s arguments first. We don’t want to glance over anything that could potentially be problematic for Peercoin in the future. We’d only be shooting ourselves in the foot.

No I didn’t, because I normally don’t like reddit discussions. They are often biased, argumentative, and don’t carry a lot of truth.

However after your message, yes, I went and read the thread.

nullc posted this:

Not really. Peercoin's security comes from the developer of the system signing every block

Which appears to be a false statement. The only time the developer of the system [Sunny] signs a block, is when he hops on the network, with a client containing a MasterPrivKey, and signs a checkpoint block, and sends it out for the network to sync it against the genesis block.

Reading my debug.log, I’ve not seen one of those happen yet. The mere fact that the code allows this central checkpointing to take place in the event of a massive attack has kept the true attackers with massive hashpower to stay away and attack other coins that are more vunerable.

JonnyLatte then said:

This means the developer responsible for the checkpoint must gain community consensus before using them, developer cannot arbitrarily force a block chain reorganization onto the users

Which appears to be a false statement. The community would have to modify their own client code to reject a signed centralized checkpoint block. Since most people run stock code from the git repository, automatically the central checkpoint block would be verified and be accepted by most clients on the network. But only the holder of the MasterPrivKey could sign those blocks. Saying that the developer could not force a block chain reorganization is false, unless you believe more than 51% of the users would run butchered up / self-modified versions of the client code.

The result?

On reddit, nullc and jonnylatte are arguing in public, and both of them are making false statements to each other about how Peercoin works. It’s just silly.

I’m glad hammyburger came to the right place (peercointalk forums) to get the right answers about how Peercoin works. Perhaps johnnylate and nullc should join the forums here instead.

[b]So Sentinelrv, in answer to your question, this is why I don’t read Reddit. In my opinion, reddit often is nothing more than a slower “trollbox” like btc-e has for their trollbox chat.

I don’t like reading mistruths that continually appear on reddit’s “flame wars” about crypocurrency by biased people on there. I prefer to talk openly on peercointalk instead. That is my option and I’m taking it. :slight_smile:
[/b]

Thanks for actually going through it. Even if we don’t like it though, I think it’s important to post our arguments or else other people will be influenced by misunderstandings or things that aren’t true. This is less work we have to do in the future when educating people on Peercoin.

[quote=“ppcman, post:15, topic:1384”][quote=“Sentinelrv, post:14, topic:1384”]Did you guys actually read the discussion between Nullc and JohnnyLatte on Reddit before posting your answers here? Not accusing, just wondering. The point of this thread is that the discussion on Reddit caused JohnnyLatte to rethink things. I think we should be analyzing that discussion here.

It’s important that we’re not just giving out stock answers to questions without reading and understanding people’s arguments first. We don’t want to glance over anything that could potentially be problematic for Peercoin in the future. We’d only be shooting ourselves in the foot.[/quote]

No I didn’t, because I normally don’t like reddit discussions. They are often biased, argumentative, and don’t carry a lot of truth.

However after your message, yes, I went and read the thread.

nullc posted this:

Not really. Peercoin's security comes from the developer of the system signing every block

Which appears to be a false statement. The only time the developer of the system [Sunny] signs a block, is when he hops on the network, with a client containing a MasterPrivKey, and signs a checkpoint block, and sends it out for the network to sync it against the genesis block.

Reading my debug.log, I’ve not seen one of those happen yet. The mere fact that the code allows this central checkpointing to take place in the event of a massive attack has kept the true attackers with massive hashpower to stay away and attack other coins that are more vunerable.

JonnyLatte then said:

This means the developer responsible for the checkpoint must gain community consensus before using them, developer cannot arbitrarily force a block chain reorganization onto the users

Which appears to be a false statement. The community would have to modify their own client code to reject a signed centralized checkpoint block. Since most people run stock code from the git repository, automatically the central checkpoint block would be verified and be accepted by most clients on the network. But only the holder of the MasterPrivKey could sign those blocks. Saying that the developer could not force a block chain reorganization is false, unless you believe more than 51% of the users would run butchered up / self-modified versions of the client code.

The result?

On reddit, nullc and jonnylatte are arguing in public, and both of them are making false statements to each other about how Peercoin works. It’s just silly.

I’m glad hammyburger came to the right place (peercointalk forums) to get the right answers about how Peercoin works. Perhaps johnnylate and nullc should join the forums here instead.

[b]So Sentinelrv, in answer to your question, this is why I don’t read Reddit. In my opinion, reddit often is nothing more than a slower “trollbox” like btc-e has for their trollbox chat.

I don’t like reading mistruths that continually appear on reddit’s “flame wars” about crypocurrency by biased people on there. I prefer to talk openly on peercointalk instead. That is my option and I’m taking it. :slight_smile:
[/b][/quote]

I don't like reading mistruths that continually appear on reddit's "flame wars" about crypocurrency by biased people on there. I prefer to talk openly on peercointalk instead. That is my option and I'm taking it.

Yeah but if you responded on Reddit , I could ALTcointip you PPC for helping to clarify and debunk the issue :slight_smile:

ppcman, I added your post to Reddit, since you don’t have an account.

I agree with Sentinel. While I don’t understand the technical aspects of Peercoin to the same level as some of you, it’s still important to rationally debate our merits. There are already too many snakeoil coins floating around with shady marketing, we should take pride in being as transparent as possible.

Hey guys,

Yes I was wrong about checkpoints being “not enforced” the reason I was wrong is because thats what it says on peercoin.net under “Frequently asked questions” myth 2

“Checkpoints are like an alert message, clients listen to them but does not enforce the checkpoint by default. Users have the choice to enable the enforcement of checkpoint, but it’s a conscious choice users must take. This means the developer responsible for the checkpoint must gain community consensus before using them, developer cannot arbitrarily force a block chain reorganization onto the users. Generally speaking the checkpoint feature should not be used without 51% attack emergency. The risk of 51% denial-of-service attack on block chain is real, especially to a smaller network. In fact I wouldn’t exclude such a possibility to even bitcoin. Of course such an attack on bitcoin would likely not come from an individual due to the resource required. But it’s irresponsible to say that’s not possible. Just imagine what would happen if bitcoin stops processing transactions for a few days. The advanced checkpoint feature in xpm is specifically designed to deal with this situation. Yes the network would turn into quasi centralized mode by community consensus, however that’s obviously a lot better than admitting defeat and giving up.”

  • Sunny King"

This is false or misleading information.