My understanding is that all miners are feeded with transactions published by full node servers, but I didn't understand why they end up with exactly the same transactions in their created blocks ? Why miner A doesn't produce a block with saying 4 transactions and miner B produce a block with, for instance again, 3 transactions ?
1 Answer
Nodes will relay all transactions to each other, true. But, how do you know all miners have the same block if only one is actually published? In any case, miners are incentivized monetarily to include the transactions with the highest fee rate (fee/kB) because the miner gets all of the transaction fees. So, it would not be surprising if miners had similar blocks since they all would presumable try to maximize the transaction fees.
-
I get your point and you perfectly answered to my misunderstanding. But "if only one is actually published" : it is totally true ? I mean, sometimes several blocks exist during a short period of time; a subset of the network see blockchain A and another subset see blockchain B. Even if at the end, of couse, everyone see the same (that why several block confirmations is required) Commented Aug 28, 2019 at 23:40
-
1Theoretically multiple blocks could be mined at nearly the same time in different parts of the network, but the blocks are relayed very quickly so that window is very short. Furthermore, you will never know multiple blocks exist unless you happen to have nodes in different parts of the network that happen to witness that event because 1 of the blocks will be discarded and only 1 will eventually be added to the chain (because the others would contain some transactions that exist in the other block, making them double spends -> invalid)– JBaczukCommented Aug 28, 2019 at 23:49