i need an expert to clarify is my understanding correct to block reorganization. I can't find answer can persuade me, sound like only i dunno what is block reorganization :(.
say my bitcoin network has total 10 nodes, and 10 of 10 are all miners
say i had successfully mined a block#10, and that is another competitor also mined a same height of block at the same time and then i shut down my node.
after few days, i restart my node, so now what event will be trigger in my bitcoin program? i imagine possible steps would be like this. below "I" refers to my bitcoin node.
i found my largest chainwork is block#10 with hash 0000123.
i broadcast getheader message to all my peers, with max query blocks = my block height + 100 to grab next 100 block headers after my block.
say 5 of my peers return me result. i wonder now is bitcoin performs PBFT on returned result? say at least 3 peers return me same result, then i assume that this result is correct.
ok, now result return from point 3 told me that there no longer got block added after my blockhash, i know my block has been orphaned.
next, i lower my block height to 9, then i ask my peers again, and peers response me yes that is block#10 which hash is 0000456 and prevhash same to my hash in block#9.
before start to download all blocks start from hash 0000456, i need orphan my block#10, so i remove it from chain and revert the transaction to mempool.
and now i feel safe to keep download until meet most chainwork block.
i need your clarification. thanks.