The fact that some implementations ban an invalid block hash and some do not, suggests that it’s not a pure p2p protocol issue. A pure p2p split should be unified by a bridge node. However, a bridge node is not helpful in this case. Banning an invalid block hash is an implicit “first seen” consensus rule.
jl2012 > On 18 Nov 2016, at 01:49, Eric Voskuil <[email protected]> wrote: > > Actually both possibilities were specifically covered in my description. > Sorry if it wasn't clear. > > If you create a new valid block out of an old one it's has potential to cause > a reorg. The blocks that previously built on the original are still able to > do so but presumably cannot build forever on the *new* block as it has a > different tx. But other new blocks can. There is no chain split due to a > different interpretation of valid, there are simply two valid competing > chains. > > Note that this scenario requires not only block and tx validity with a tx > hash collision, but also that the tx be valid within the block. Pretty far to > reach to not even get a chain split, but it could produce a deep reorg with a > very low chance of success. As I keep telling people, deep reorgs can happen, > they are just unlikely, as is this scenario. > > If you create a new invalid block it is discarded by everyone. That does not > invalidate the hash of that block. Permanent blocking as you describe it > would be a p2p protocol design choice, having nothing to do with consensus. > Libbitcoin for example does not ban invalidated hashes at all. It just > discards the block and drops the peer. > > e _______________________________________________ bitcoin-dev mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
