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