For example,
100 -> 101 -> 102 -> 103 (main chain)
\ 101a (side chain)
- invalidate one block at a time from the tip works.
$ getbestblock
{
hash: HASH_OF_103
height: 103
}
$ invalidateblock HASH_OF_103
$ invalidateblock HASH_OF_102
$ getbestblock
{
hash: HASH_OF_101
height: 101
}
- However, even if we invalidate block 101, the main chain doesn't reorg properly to block 101a
$ invalidateblock HASH_OF_101
$ getbestblock
{
hash: HASH_OF_101a
height: 101a
}
$ getblock HASH_OF_101a
block HASH_OF_101a is not in the main chain
- invalidate more than one block at a time cause lbcd goes rogue. Starting to exhaust CPU and memory.
$ getbestblock
{
hash: HASH_OF_103
height: 103
}
$ invalidateblock HASH_OF_101
(lbcd goes rogue...)