I have 3 questions:
- Parallel Processing of Candidate Blocks:
I read that every 10 mins, the miner would fetch tx from the tx_mempool, process them,create a candidate block, do the proof of work and then broadcast it to the network.
Does this mean that once the next batch of tx will be fetched after 10 mins?
Or can the multiple candidate blocks be processed by the miner concurrently so it keeps fetching from the tx_pool?
Even if we do mine multiple blocks within the 10 min window, if only one is going to get selected by the network then a lot of computation has been wasted for nothing.
- Time sync between nodes:
If multiple nodes start at different points, so do we need to sync the nodes so that they are operating at the same time; like say node A starts at time t1 , node B starts at time t2.. so we sync node B with node A’s clock. Something like this…
But this would be impossible to do in a huge network tho
Because its said that bitcoin network mines a new block every 10 mins, so does this mean the ledger of each individual node gets updated 10 mins? So regardless of when the individual nodes start, their ledger would get updated within their 10 min time window.
- When exactly does the miner get their reward via the coinbase tx?
Say I am a miner and i have mined a block. I broadcast it to peers A,B,and C and they then broadcast it to their peers and so on. When do i get my reward? When A’s chain accepts my block as the most recent one?