What is the need of validating and authorizing a BTC transaction. Say, for eg, A have 5 BTC in its wallet and he wants to send 3 BTC to B. What is the need to validate such a transaction? And in case A wants to send 7 BTC to B, he simply cannot because he doesnt have the sufficient balance. What is the need to validate then. Why cant it be possible that the transactions are automatically added as a next block on the blockcahin on all the nodes?


Welcome to Bitcoin.SE!

It is necessary to validate all transactions since it is possible otherwise for A to just broadcast a transaction sending 7 BTC to B even if he does not have enough. A could easily write his own program to do so.

Validating all transactions and the entire blockchain is necessary for Bitcoin to have any value and to ensure consensus rules are followed.

  • No, A can't send more money that he/she has in a wallet, and we don't need miners to validate that. All nodes validate that. Miners don't actually 'validate' anything more than all the other full nodes, this is a common misconception coming from popular news sites. Miners are there to prevent double-spending. When a transaction is included in a block it's called 'confirmed'. – Osias Jota Mar 6 '18 at 11:18
  • @OsiasJota And, because the mempool is not consensus. Without the blockchain, the order of transactions cannot be agreed upon. The blockchain is the record of all transactions, without the miners we do not have a blockchain and there is no way for nodes to decisively know or agree who has what balance. – Willtech Mar 6 '18 at 11:27
  • Unless you think that the OP wonders in the case if all nodes instantly 'mine' any received transaction into a personal blockchain, but then, still no consensus. – Willtech Mar 6 '18 at 11:28
  • This is not about 'to validate', it's about 'to confirm'. – Osias Jota Mar 6 '18 at 11:46
  • 1
    Only valid transactions can be confirmed. – Osias Jota Mar 6 '18 at 11:46

First of all, it must be clear that there isn't just one chain: every node in the network has its own local chain stored locally. Through message exchanges, all the nodes chains would eventually end up synchronized.

Now imagine the situation in which there are no miners and Alice wants to send 1 BTC to Bob. She sends the transaction to a node in the network and the node updates its local chain with the new transaction. In the meantime, Alice sends the very same Bitcoin to Charlie but this time she notifies a different node of the network with a new transaction, and that node will properly update its local chain with the new transaction. Now both nodes have two different transactions in their local chain. They start sending messages to their neighbour nodes telling that new transaction have been arrived. The nodes will receive updates from both the nodes but will not be able to discriminate which is the legit spending.

Mining is there because in this way all the nodes can agree on the same set of transactions: finding a solution to the hashing problem will guarantee (at least, most of the time) that all the nodes chains agree on the same set of transactions. This happens because only the one who finds the Proof of Work can add and propagate a block in the network. Finding the Proof of Work is a hard task, and due to its randomness nature it is probable that only one miner will find a Proof of Work.

By the way, this question has been asked several times, i suggest you to take a read from the official Bitcoin Wiki that will enlight you on the features of a blockchain.

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