2

If not, then why is it often claimed that the blockchain scaling issue is due to the fact that all tx has to be verified by all full nodes?

As long as a mining node found the correct nonce, the tx will be added to the block and the blockchain advances. It does not matter if the tx is not yet verified by some full nodes in the network.

(Yes, it will most probably get verified by all full nodes after it got into the block and the block propagates throughout the network. But this is not relevant as the blockchain already advanced (assuming there is no fork).)

2

Does a transaction always get verified and processed by ALL full nodes in the network before it is added into the block by some mining node(s)?

No, the miners add the transaction to a block by mining the block. The block is then sent to a node, which validates the block, and if it passes, then it broadcasts it to other nodes.

It does not matter if the tx is not yet verified by some full nodes in the nerwork.

The transaction must be validated by all the nodes eventually, or it will become extinct and forgotten. "The longest chain wins" means that the chain with the most blocks will be considered valid. This means that (simplifying) if a block was validated by some nodes, but two blocks were validated by more nodes, the two blocks become the new valid blockchain, and the other is discarded. The whole point of proof of work (mining) is to provide a means to establish consensus on which transactions are valid within the network, so eventually all full nodes who follow the rules of the network must validate every new block.

  • Thanks. I know everything you said here, but still think it doesn't really answer the question. Indeed all tx will eventually get verified, but when there is no fork, blockchain do advance before the latest transactions get verified by all full nodes, right? When there is fork – Danny Nov 8 '18 at 6:59
  • Indeed the blockchain grows for any nodes that know about the new block. But, it does not grow for the nodes who do not know about it. Each nodes stores a copy of the longest blockchain that they know about. – JBaczuk Nov 8 '18 at 12:51
2

Does a transaction always get verified and processed by ALL full nodes in the network before it is added into the block by some mining node(s)?

Technically no, but only because of the way you've phrased the question. In a decentrilized network, there is no way to know what ALL nodes have done.

However, EACH particular full-node (including miners) will verify every transaction in a candidate block before updating their own blockchain state to the new head. Since no one will include the invalid block, it doesn't accomplish anything to produce one.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.