On Wed, May 13, 2015 at 11:31 AM, Alex Mizrahi <alex.mizrahi@gmail.com> wrote:

But this matters if a new node has access to the globally strongest chain.

A node only needs a path of honest nodes to the network.

If a node is connected to 99 dishonest nodes and 1 honest node, it can still sync with the main network.

In practice, Bitcoin already embraces "weak subjectivity" e.g. in form of checkpoints embedded into the source code. So it's hard to take PoW purists seriously.


That isn't why checkpoints exist.  They are to prevent a disk consumption DOS attack.

They also allow verification to go faster.  Signature operations are assumed to be correct without checking if they are in blocks before the last checkpoint.

They do protect against multi-month forks though, even if not the reason that they exist.

If releases happen every 6 months, and the checkpoint is 3 months deep at release, then for the average node, the checkpoint is 3 to 9 months old.

A 3 month reversal would be devastating, so the checkpoint isn't adding much extra security.

With headers first downloading, the checkpoints could be removed.  They could still be used for speeding up verification of historical blocks.  Blocks behind the last checkpoint wouldn't need their signatures checked.

Removing them could cause a hard-fork though, so maybe they could be defined as legacy artifacts of the blockchain.  Future checkpoints could be advisory.