How does the Bitcoin Network verify whether the wallet has enough bitcoins for the transaction? How does the Bitcoin Network verify whether the wallet has enough bitcoins for the transaction?

I understand that it is verifiable by scanning the entire blockchain and see whether the wallet has the enough bitcoin in it so that it is possible to make the transaction. 

However isn't it feasible if the size of the blockchain becomes really large? Is there any practical way that the current nodes verify whether the transaction is valid?
How does the Bitcoin Network verify whether the wallet has enough bitcoins for the transaction?


It doesn't. The network doesn't care about wallets or accounts at all. Those are constructs used by other programs to manage bitcoins.

The network just checks to make sure that the inputs a transaction uses are valid.


  However isn't it feasible if the size of the blockchain becomes really large? Is there any practical way that the current nodes verify whether the transaction is valid? 


Nodes keep an efficient index of unspent outputs. They can then check the inputs of a new transaction to make sure they're in the index of unspent outputs. You have to scan the whole blockchain to build this index, but once it's built, accessing and maintaining it is cheap and efficient.

You can think of an account as a key and unspent outputs as locks. The nodes just have to check that the key fits the lock. It doesn't matter what other locks the key might or might not open. The person who holds a key wants to know what locks it will open, but to know if access is allowed, we just have to check if the key fits the lock it's being put in.