3
This wiki page says invalid blocks aren't counted towards determining chain length and that make me want understand how invalid blocks are treated.
- Can an valid block be added to an invalid one.. and have it accepted by one or more clients?
If so...
- Do miners of invalid blocks receive a reward for the block? Are the Tx's valid? Are there any examples?
Suppose an invalid block is created and valid block is added to that invalid one. Both blocks are added to the primary chain. ( assume the attacker has 25% compute and has a custom client that pushes both transactions to all peers)
Since every block has a reward, is the reward in the invalid block counted?
Are the transactions within an invalid block still considered valid?
I'm interested in tracing the transactions the occur from these "broken" blocks and to see if my hand-coded client processes the transactions correctly.
4By definition, a block is only valid if it's added to a valid block. Therefore, it is impossible to have a valid one added to an invalid one. Sorry, I can't just go with you on that one... – Highly Irregular – 2012-12-20T01:36:52.683
@HighlyIrregular I updated the scenario with details. According to the wiki, clients will accept invalid blocks but won't relay them. If an attacker crafts and relays both blocks... what happens? Less than 51% of CPU is needed for this to happen. – goodguys_activate – 2012-12-20T01:39:21.520
@makerofthings7 Clients don't accept invalid blocks. – theymos – 2012-12-20T01:51:25.947
1For the record, I still think this is a good question, even if the underlying assumptions happen to be incorrect, so I've upvoted it. A better question though might be "Is it possible for a valid block to be added to an invalid one, and have it accepted by another client" – Highly Irregular – 2012-12-20T03:39:30.787
@HighlyIrregular Revised... I was getting ahead of myself there. – goodguys_activate – 2012-12-20T04:00:24.843