Subject: Re: [Bitcoin-development] Auto-generated miner backbone

From: Peter Todd <[email-masked]>
Date: Mon, 4 Nov 2013 10:46:39 -0500

On Mon, Nov 04, 2013 at 10:25:19AM -0500, Ittay wrote:
> Peter - how can you guarantee that the majority mines on the non-selfish
> block?

Feedback basically. So suppose the hashing power is split exactly 50:50,
with half the hashing power hearing about one block first, and half the
other. Also suppose the near-target threshold is 1/64th, that is a block
header that means a target with difficulty 1/64th of the actual
difficulty will be broadcast around the network by nodes. With a 10
minute block interval, near-target block headers will be found on
average every 9.4 seconds.

Eventually one of the two halves will find a near-target PoW solution,
and the corresponding block-header will be broadcast on the network. Now
if you are a miner, and you receive such a PoW solution, that's evidence
that whatever block that block header built on has more hashing power
than other competing blocks. Thus you would be rational to switch, and
start mining to extend that block if you aren't already. Once miners
start doing that, very soon another near-block solution will be
generated, giving even more certainty about what block the majority are
mining on.

Of course, it may be the case that competing near-block headers are
found, but no matter: as long as miners switch to the block with the
most hashing power, this forms a feedback effect that quickly brings
everyone to consensus. With everyone mining to extend the same block,
there's nothing the selfish miner can do; there's no disagreement to
exploit.

-- 
'peter'[:-1]@petertodd.org
000000000000000771e068338fef7e2285b8a6db582e37473f42b76573677adf