0
It is often said that the major bottleneck of blockchain scalability is that every (honest) node has to process every (valid) transactions. But the progress of a blockchain is how fast it reaches consensus, and this does not seem to require all nodes to verify all transactions as the block containing the longest chain can spread throughout the network before every transactions in the block is verified by all the nodes.
Yes, I was saying that consensus is reached when (the block containing) a longest chain spread throughout all the nodes, not just any block. All node will agree on the longest chain based on its cumulative work.
When a node is validating a block, its acceptance does not require that all transactions in the block must have reached the node beforehand, just that the block and its content follows all the rules. – Danny – 2019-01-22T07:11:22.110
The validity criteria includes that all the transactions in a block are valid. – Anonymous – 2019-01-22T09:29:48.067
@Anonymous , Yes but I am referring to the validation of each transaction when a node receives it, not the one during block validation. (normally each tx is verified twice in the blockchain network) – Danny – 2019-01-22T10:14:23.280
They’re really not. Validation happens once and is cached if not in a block. – Anonymous – 2019-01-22T10:24:58.393
@Anonymous yes but when a block containing the transaction arrives, the node validates all tx in it. – Danny – 2019-01-22T11:45:18.513
2Not necessarily. BIP 152 Compact Blocks allows for blocks to be relayed before they are fully validated. It is possible to have received and then relayed an invalid block because some parts of it were valid. This has happened in the past. If you assume that all nodes have verified all of the transactions in a block before that block is relayed, then yes, when the block has propagated to all nodes consensus has been achieved. There is no need for every node to receive and verify all unconfirmed transactions for consensus to be reached. Bitcoin Core even allows for this by using blocks only mode – Andrew Chow – 2019-01-22T16:38:05.543