How does longest chain propagation take place in bitcoin? Let's say the valid blockchain that Node A has is: B1-&gt;B2-&gt;B3
Now, I am gonna cheat since I have lots of  computing power. What I do is I download the above blockchain that Node A has and start cheating. Before I do that, I make a transaction to buy a motorbike. so,
valid blockchain now looks like this (B1-&gt;B2-&gt;B3-&gt;B4). B4 has my bike transactions. In my local copy, I didn't put that transaction . Now, because I want to have a longest chain, I work so fast and let's say after a while Node A's chain and mine looks like this:
Node A - B1-&gt;B2-&gt;B3-&gt;B4-&gt;B5
Mine - B1-&gt;B2-&gt;B3-&gt;O1-&gt;O2-&gt;O3-&gt;O4
Now, I want to broadcast my chain.
What do I broadcast? The whole chain (B1-&gt;B2-&gt;B3-&gt;O1-&gt;O2-&gt;O3-&gt;O4) or only O1-&gt;O2-&gt;O3-&gt;O4?
A) If I broadcast only O1-&gt;O2-&gt;O3-&gt;O4, how does node A figure out that it has to remove B4-&gt;B5 only from its chain and append O1-&gt;O2-&gt;O3-&gt;O4 to B3? Does it first get O1's prev hash and then in its local blockchain, it searches the block with that hash and if it finds that hash, it removes every block after it and appends the newly copied O1-&gt;O2-&gt;O3-&gt;O4 from my chain? If so, it would also account for if the new one is the longest one (so the count of the removals of the blocks should be less than the count of new copied blocks). Am I right ?
B) of course, broadcasting the whole chain is out of question since it's so huge.
An attack that attempts to outpace the mining power of the whole network by itself is called a majority-attack or &quot;51%-attack&quot;. Concretely, your example is a doublespend attack by means of a majority attack. When the attacker publishes their chain-tip, each node performs a chain-reorganization to switch to the best chain.
Concretely, the blocks B4 and O1 both share the hash of B3 as their prevHash. Once the attacker announces the blocks O1-&gt;O2-&gt;O3-&gt;O4, other nodes will notice that this chain-tip has more total work, find the last shared ancestor in the blockchain (B3), revert all blocks up to the shared ancestor, and then apply the new blocks to converge on the best chain-tip.
A blockchain-fork and chain reorganization can also happen benignly when two miners happen to find a block at the same moment. At that point the network's nodes are split in opinion what the best chain is, since each node considers the block it first saw to be the correct one. Once another block extends one of the two chain-tips, the network converges on the best chain as the nodes hear about the new block.