How do we reach consensus if a faulty block is suggested?

+1 vote
To be clear, I know it won't get accepted by the rest of the nodes and added to their blockchain because it won't pass the verification checks. I also know that in a permissioned network we're really not meant to deal with Byzantine nodes -- let's assume that this is a block that got corrupted in transit.

Now let's say that the block period is 10 seconds, and this block was broadcasted by miner A at time t=30 seconds.

1. Do the rest of the nodes (B, C, D) add no blocks during that period and wait another 10 seconds for the next "good" block to be mined?

2. Do the nodes realize the error, then one of them (B, C, or D -- provided they are allowed to mine, see mining diversity)  immediately goes ahead with the proposition of a "proper" block?

3. And if this is indeed a block that got corrupted in transit -- A's blockchain now has a different most recent block than B, C, D. How will these blockchains converge?
asked Feb 20, 2016 by anonymous

1 Answer

0 votes
1 and 2. A faulty block doesn't affect nodes' mining behavior, so they will continue with their process of trying to generate a good one at the right time, as if the faulty block didn't exist.

3. It's not really possible for blocks to get "corrupted in transit", because the block hash also acts as an identifier. In any event, any blockchain fork works exactly in the same way as in bitcoin: (a) nodes are aware of the alternative chains out there, and (b) the longest chain wins.
answered Feb 20, 2016 by MultiChain