1

So, miners, if I got it right, before inserting a transaction into the Mempool, will request an arbitrary number of confirmations of full nodes that will search the entire blockchain to see if a wallet has credits to perform that transaction. But, being this process not required, could a miner simply create valid blocks with invalid transactions without any problem?

1 Answer 1

1

No, you don't have it right.

Nodes (which include miners) do not ask other node to do anything other than to give them data. There is no "confirmations of full nodes". Nodes will receive transactions and verify them themselves using the rules that are programmed into their software. If the transaction is valid (and also passes some other non-consensus rules), it will be stored in the mempool to be used in block creation.

Bitcoin is not an accounts based model so there are no wallets or accounts in the blockchain itself. As such, wallets do not have "credits". Rather validation requires searching for Unspent Transaction Outputs (UTXO) that are specified in a transaction's inputs. These UTXOs contain an amount and a script. The node will check that the sum of the input amounts is greater than or equal to the sum of the output amounts. Then it will execute the scripts for those inputs, and the scripts must return a result indicating success.

A miner cannot create a valid block with invalid transactions. Such blocks are, by definition, invalid. A block can only be valid if all of the transactions contained within it are valid. Other nodes will only accept a block if it is valid. Those other nodes do not just blindly trust miners - they will verify that all of the transactions in a block are valid.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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