# How many nodes need to validate a newly created block?

It must be impossible for a newly created block to be propagated and validated by every node in bitcoin network considering offline nodes and the ones with poor Internet connectivity.

How many validations is sufficient for a newly create block to be added as the latest block?

Every node in the Bitcoin network acts independently. When a node hears about a new block, it will perform a series of checks to see if it is valid according to the network's rules.

If the block is valid, the node adds it onto it's local copy of the blockchain, and broadcasts the block to the other nodes its connected to.

If the block isn't valid, the node will reject it, and not broadcast it.

So by following the network's rules, even though each node acts independently, together the network is able to remain in consensus regarding the blockchain history.

First off, it is not impossible. Bitcoin nodes are not validating thousands of transactions per second. They are actually processing less than ten per second, which is perfectly reasonable for even slower computers.

Second, not all Bitcoin nodes validate all transactions. What you are likely referring to are "full nodes", which are basically nodes that validate and relay transactions as they receive them. The network does not operate on a principal of how many nodes have validated a transaction. It operates on a principal of how much work nodes have done on top of a block containing a transaction. This work is not done by full nodes, however, but rather "mining nodes". These are the nodes that perform the proof-of-work algorithm on top of blocks, which are sets of transactions. If a mining node finds a nonce for a block that contains a transaction, that transaction is now fully confirmed. It doesn't matter how many other nodes have seen that transaction.

Of course, when the block is broadcast, other nodes will check the mining node's work to ensure that a block contains only valid transactions (transactions that are properly formed and don't double-spend or create new coins) and an acceptable nonce. This is a considerably less intense computational effort, and full nodes will perform this check prior to relaying a block. Since bad blocks aren't relayed, they won't propagate through the network, and miners don't waste their resources attempting to cheat the system.

• Thank you for your answer. :) Let’s say a miner broadcasts a new block to other full nodes in the network. This propagation is either rejected(e.g. invalid nonce or digital signatures) or accepted & relayed. My question is, in the latter case, at what point it’s safe to say that this new block is a part of the true chain. For example, isn’t possible that there are two miners broadcasting their blocks at almost the same time? In this case, how do we decide which one will be included in a block? Commented Dec 14, 2018 at 6:28
• First, if you use bitcoin, then you are running a node of some kind. Nodes decide which blocks are in the chain. For you, your node decides...and no others matter. However, there is the case of more than one valid block being broadcast at the same. This is called a chain fork, and it will be resolved when the next block is broadcast. Basically, all nodes respect whichever version of the chain has had more work put into it. Your node will see this and respect the longer chain as well. Commented Dec 14, 2018 at 15:27

From a block propagation-time POV, the longer a new block requires to propagate, the likelier reorgs will occur, as competing branches will take longer to resolve.

So in that sense, I am not sure there is a definitive answer to your question. A block may be added as the latest block by many nodes in the network, yet there is a probability that a competing branch with more POW can overtake it. The probability of a reorganisation decreases over time.

Therefore, in an attempt to answer your (good) question, perhaps it's less about the number of validations, but rather the propagation time which matters. A higher propagation time will cause a validator to require more confirmation to ensure that the block in question will not be reorg'ed out.