Here's my understanding of the execution flow of blockchain:
Consider two nodes, node1 and node2. Let's say there are 10 users on node1. They're making transactions, but none of these are actually carried out since no block is mined.
When a block IS finally mined, these unconfirmed transactions are put into the block and executed - and the block is added to node1's blockchain. Then, through the consensus protocol, node1's blockchain in "synced" with node2's blockchain so that they both carry the same copy.
My question is: how does this "syncing" take place? Do you just supply node2's blockchain with the blocks it doesn't currently have? Or do you pass node1's blockchain by reference like this: node_2_blockchain = node_1_blockchain?