Subject: [bitcoin-dev] SPV Mining reveals a problematic incentive issue.

From: Nathan Wilcox <[email-masked]>
Date: Sat, 11 Jul 2015 01:05:25 -0700

Thesis: The disincentive miners have for verifying transactions is
problematic and weakens the network's robustness against forks.

According to the 2015-07-04 bitcoin.org alert [1]_ so-called "SPV Mining"
has become popular across a large portion of miners, and this enabled the
consensus-violating forks to persist. Peter Todd provides an explanation
of the incentive for SPV Mining over in another thread [2]_.

.. [1] https://bitcoin.org/en/alert/2015-07-04-spv-mining#cause

.. [2]
https://www.mail-archive.com/[email-masked]/msg00404.html

If there is a cost to verifying transactions in a received block, then
there is an incentive to *not verify transactions*.  However, this is
balanced by the a risk of mining atop an invalid block.

If we imagine all miners verify all transactions, except Charlie the
Cheapskate, then it's in Charlie's interest to forego transaction
verification.  If all miners make a similar wager, then in the extreme,
no miners verify any transactions, and the expected cost of skipping
transaction verification becomes very high.

Unfortunately, it's difficult to measure how many miners are not
validating transactions, since there's no evidence of this until they
mine atop on invalid block. Because of this, I worry that over time,
more and more miners cut this particular corner, to save on costs.

If true, then the network continues to grow more brittle towards the kind
of forking-persistence behavior we saw from the July 4th (and 5th) forks.

This gets weird.  For example, a malicious miner which suspects a large
fraction of miners are neglecting transaction verification may choose to
forego a block reward by throwing an erroneous transaction into their
winning block, then, as all the "SPV Miners" run off along a worthless
chain, they can reap a higher reward rate due to controlling a larger
network capacity fraction on the valid chain.

Can we fix this?

--
Nathan Wilcox
Least Authoritarian

email: [email-masked]
twitter: @least_nathan

Standard Disclaimer: I'm behind on dev archives, irc logs, bitcointalk,
the wiki...  if this has been discussed before I appreciate mentions of
that fact.