7
1
Consider the following scenario:
January 2016 block A gets submitted. Its hash is
0001010.January 2017 block B gets submitted. Its hash is also
0001010(collision).10 minutes later, block C gets submitted and the previous field points to the hash
0001010.
Is it still possible to determine that the previous block is block B and not block A?
Note that while this is unlikely, there are not 2^256 possibilities a block hash can be. Every block hash has to start with zeroes which decreases the amount of possibilities. In this scenario there are only 2^4 possibilities even though the hash has 7 bits which would theoretically allow 2^7 possibilities.
The regular Democracy of majority is applied – Ivan Cantarino – 2017-09-20T18:23:31.977
I have no idea what you're trying to say, Ivan. – Pieter Wuille – 2017-09-20T18:25:49.690
@pietier What do you mean "one of which is valid, and the other is invalid' ? why wouldn't both be valid ? – franck – 2018-03-30T15:45:21.657
@franck That is the premise I'm starting from: it would be possible to create two blocks with the same hash, only one of which is valid. It's also possible to have two valid blocks or two invalid blocks with the same hash, but that isn't what I'm talking about. – Pieter Wuille – 2018-03-30T23:18:25.537
@PieterWuille thanks just wanted a confirmation. Did you check the code to be certain of this thing ? That would mean there's no timeout in some "invalid blocks list" – franck – 2018-04-02T14:07:19.027