A Bitcoin nodes run series of checks on a transaction as it arrives before it is verified. Nodes are built to own transaction pools to verify transactions. The conditions for verification can change from time to time. However, they typically fall within the points listed below.
What Do Bitcoin Nodes Check Before Verifying a Transaction?
1. They check to see if the data structure and the syntax of the transaction are correct.
2. They check to see if the transaction is above 1 MB.
3. They confirm that the outputs and inputs have values are not be more than 21 million or less than 0.
4. They check the locktime to confirm that it is less than the number allowed.
5. They confirm that the unlocking scripts for the inputs are verified against that of the output.
6. They check to see if the transaction size is more than or up to 100 bytes.
7. They reject any transaction when the value is too low for an empty block.
8. They reject the transactions if the input value is not as high as the output value.
9. They confirm that the input value falls within the required range.
10. They make sure that all Coinbase transactions have a maturity of at least 100 confirmations.
11. The output for each input must exit. If it has been spent, the transaction will be rejected.
12. They confirm that the locking script and the standard format match.
13. They confirm that a matching script exists.
14. The Bitcoin nodes make sure that the signatures are not above the signature limit.
15. They verify that the script for unlocking can push numbers onto the stack.
16. They throw any transaction that is missing into the orphan transaction pool.
The Bitcoin nodes ensure that fraudsters do not infiltrate the system by making sure each transaction meets all the requirements before it is verified. Any transaction that doesn’t meet the requirements is rejected.