In the past, we had numerous questions about “fake” or “forged” transactions. Such transactions could supposedly be created even without holding any bitcoins, yet would end up in the mempool or even get accepted by the network once they are mined into a block. Other times, the recipient creates a conflicting version of the sender’s transaction, or a majority attacking miner would simply redirect all transaction outputs to themselves.
With this topic I mean to create a canonical question for a topic which is described by the following variants of a questions:
- Why can I not just make up bitcoins?
- Why will fraudulent transactions not get relayed on the network?
- Why can only the owner spend their funds?
- Why can a third party not alter the recipients of a transaction?
- What prevents a miner from taking the funds of your transaction when creating a block?
In other words, let’s comprehensively explain:
What makes a transaction valid, how is a transaction protected against tampering, and how can nodes tell?
Here are some examples of topics that might be redirected here in the future: