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

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.

The probable answer: Sunny King referred to Primecoin when he wrote this, not to Peercoin. In Primecoin, checkpoints must be enforced by the users.

This part of the website should be changed.

[quote=“ppcman, post:15, topic:1384”]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.[/quote]

If the most recently signed block is more than 10 days old, the wallet app issues a warning, as you can see in the source code here:

https://github.com/ppcoin/ppcoin/blob/master/src/main.cpp#L2429

You do currently see this warning anytime you install the wallet app and download the blockchain until you are all caught up.

I could have missed it, but I don’t see anywhere in Peercoin’s code where the appearance of a new signed block is logged to debug.log. Maybe this is why you have not seen them reported there.

I think blocks are actually being signed by Sunny on a fairly regular basis. If he were not signing them, you would see the warning in the status bar when you use the wallet app.

Anyways, Greg Maxwell does appear to be wrong. He claimed that if a checkpoint was too old the wallet app would enter safe mode. That doesn’t seem to be the case, it just issues a warning. :slight_smile:

I think Sunny does do it frequently as a safety precaution on purpose. Think of it as good insurance. If he does it frequently, that way, if there ever was a massive attack, the problem could be resolved with very little loss. Let’s say he signs it once per day…so if there was an issue one day, we could go back to the day before and so very little time would be lost as compared to losing 10 days worth of transactions and network activity. Just because he is doing it frequently doesn’t mean Peercoin is insecure in any way, IMO, it just means Sunny is doing a good job of taking care of the network, so that “IF” there ever were to be a problem it the damage done would be minimal.

Just because we are using checkpoints != we need them. Sunny is just taking a cautious approach. I think checkpoints are the responsible thing to do, at this point, and better safe than sorry, I mean we all REALLY want to make sure Peercoin is around long-term. It is important that we remain humble and cautious as opposed to becoming arrogant and over-confident. Peercoin is still very young, and all of these cryptos are still “experimental”. We are not just throwing ourselves out there to let it be catastrophically attacked. Other cryptos have no such backup plan. IMO, I see these checkpoints as overall a good thing.

[quote=“Alertness, post:23, topic:1384”]I think Sunny does do it frequently as a safety precaution on purpose. Think of it as good insurance. If he does it frequently, that way, if there ever was a massive attack, the problem could be resolved with very little loss. Let’s say he signs it once per day…so if there was an issue one day, we could go back to the day before and so very little time would be lost as compared to losing 10 days worth of transactions and network activity. Just because he is doing it frequently doesn’t mean Peercoin is insecure in any way, IMO, it just means Sunny is doing a good job of taking care of the network, so that “IF” there ever were to be a problem it the damage done would be minimal.

Just because we are using checkpoints != we need them. Sunny is just taking a cautious approach. I think checkpoints are the responsible thing to do, at this point, and better safe than sorry, I mean we all REALLY want to make sure Peercoin is around long-term. It is important that we remain humble and cautious as opposed to becoming arrogant and over-confident. Peercoin is still very young, and all of these cryptos are still “experimental”. We are not just throwing ourselves out there to let it be catastrophically attacked. Other cryptos have no such backup plan. IMO, I see these checkpoints as overall a good thing.[/quote]

Solid response, but specifying what you mean by a ‘massive attack’ would provide additional support to your response. Also, I’d like to mention that although Sunny King can use the checkpoint and restore/fix the network, a whole other issue is created. The issue of faith/trust in the system after a ‘massive attack’.

Cheers.

P.S: I’d like to hear some suggestions on what a massive attack may be. :slight_smile:

LOL

[/quote]

Smooth 8)…HAHAHA

[quote=“JetJet13, post:24, topic:1384”][quote=“Alertness, post:23, topic:1384”]I think Sunny does do it frequently as a safety precaution on purpose. Think of it as good insurance. If he does it frequently, that way, if there ever was a massive attack, the problem could be resolved with very little loss. Let’s say he signs it once per day…so if there was an issue one day, we could go back to the day before and so very little time would be lost as compared to losing 10 days worth of transactions and network activity. Just because he is doing it frequently doesn’t mean Peercoin is insecure in any way, IMO, it just means Sunny is doing a good job of taking care of the network, so that “IF” there ever were to be a problem it the damage done would be minimal.

Just because we are using checkpoints != we need them. Sunny is just taking a cautious approach. I think checkpoints are the responsible thing to do, at this point, and better safe than sorry, I mean we all REALLY want to make sure Peercoin is around long-term. It is important that we remain humble and cautious as opposed to becoming arrogant and over-confident. Peercoin is still very young, and all of these cryptos are still “experimental”. We are not just throwing ourselves out there to let it be catastrophically attacked. Other cryptos have no such backup plan. IMO, I see these checkpoints as overall a good thing.[/quote]

Solid response, but specifying what you mean by a ‘massive attack’ would provide additional support to your response. Also, I’d like to mention that although Sunny King can use the checkpoint and restore/fix the network, a whole other issue is created. The issue of faith/trust in the system after a ‘massive attack’.

Cheers.

P.S: I’d like to hear some suggestions on what a massive attack may be. :)[/quote]
Massive attack could be something completely unknown, some new unforeseen vulnerability. My point is that other coins have no hope of to restore their networks, while Peercoin does. The issue of faith/trust will certainly be an issue if something happens, no doubt. All I am saying is that it is utterly irresponsible to not have some sort of a backup plan, in light of how much money is at stake, and how experimental cryptos still are. Cryptos are great, but it is still new technology, and should be proceed with caution and care especially when you are dealing with people’s money. Sunny is the most responsible developer I have seen.