Subject: Re: [bitcoin-dev] Fork of invalid blocks due to BIP66 violations

From: Peter Todd <[email-masked]>
Date: Fri, 3 Jul 2015 23:30:16 -0400

On Sat, Jul 04, 2015 at 03:17:17AM +0000, Gregory Maxwell wrote:
> On Sat, Jul 4, 2015 at 3:11 AM, Raystonn <[email-masked]> wrote:
> > We need some analysis on why this has happened.  It appears the larger hashrate is violating BIP66.  Thus it appears the network is rejecting this BIP, though potentially accidentally.  If this is an accident, how is such a large portion of hashrate forking, and what can we do to avoid this in the future?
> 
> A near majority of the hashrate on the network appears to be SPV mining.

As for what "SPV mining" is:

While blocks are propagating throughout the network, frequently it's
possible for miners to get the header of the block before they get and
fully validate the block itself. This is just a few seconds to tens of
seconds, but that's a big deal for profitability. So miners have been
running custom patches that mine on top of the longest chain they know
about, even if they haven't actually verified the blocks in it due to
propagation delays.

Unfortunately the Bitcoin protocol lets you do that, and the extra % of
revenue makes a big difference when you take into account the low profit
margins of mining these days. BIP66 happened to trigger this issue this
time, but actually *any* miner creating an invalid block for *any*
reason would have done so with the software miners are running right
now.

-- 
'peter'[:-1]@petertodd.org
00000000000000001242e0216eb113f1c50e4c18ecfbc8b9c0224ec82ec391d6