How Does Bitcoin Verify a Transaction?
Disclaimer: This article is for informational and educational purposes only and simplifies underlying cryptographic concepts for clarity. It is not financial, investment, or security advice.
In a traditional financial system, authorization is straightforward. You instruct your bank to transfer money, and the bank checks whether you're authorized to make that payment. The bank maintains the account, knows the account holder, and enforces the rules governing the transaction.
Bitcoin has no equivalent central authority. Instead, it uses public-key cryptography and digital signatures to establish that a transaction was authorized by the person controlling the relevant cryptographic key.
Which raises the important question this article answers: how can the Bitcoin network verify that you authorized a transaction without ever receiving your private key?
In This Article, You'll Learn
- ✓ How a wallet turns a recovery phrase into keys and addresses
- ✓ Why a public key can be shared but a private key never can
- ✓ How a wallet creates a digital signature over a transaction
- ✓ Exactly what Bitcoin nodes check before accepting a transaction
- ✓ Why signature verification is only half of what makes a transaction valid
1. Your Wallet Starts With a Recovery Phrase
When you create a Bitcoin wallet, you may be given a 12- or 24-word recovery phrase. This phrase is not itself a Bitcoin address or a private key. Instead, it's used to generate a cryptographic seed, from which the wallet can deterministically derive every key it uses.
The recovery phrase is therefore the backup that lets your wallet regenerate its keys if you lose access to your device. Everything downstream, every private key, every public key, every address, traces back to it:
For example, a wallet might generate a phrase like apple river mountain orange bridge … (illustrative only; a real phrase is generated from a standardized word list), which produces a seed that, in hexadecimal, might look like 9f3a7c12e8b4d6…a91f.
2. Private Keys, Public Keys, and the One-Way Street Between Them
Your wallet uses the cryptographic seed to deterministically derive one or more private keys. A private key is a cryptographic value that gives you the ability to authorize transactions on the Bitcoin associated with it. It must remain secret. It is never shared with the network or included in a transaction.
A public key is then mathematically derived from the private key. The relationship between the two has one critical, non-negotiable property:
Bitcoin doesn't actually use RSA or factoring. It uses elliptic-curve cryptography based on the secp256k1 curve, where the underlying math problem is different. But the same fundamental principle applies: easy in one direction, infeasible in reverse. That one-way relationship is what allows a public key to be shared openly for verification without ever exposing the private key.
3. From Public Key to Bitcoin Address
A Bitcoin address is derived from the public key in the Bitcoin address format being used. It's what you generally hand someone when you want them to send you Bitcoin. Each of the three values plays a different role, and only one of them ever needs to stay secret:
| Value | Role | Confidential? |
|---|---|---|
| Private key | Authorizes spending | Yes |
| Public key | Used for cryptographic verification | No |
| Bitcoin address | Identifies a destination for receiving Bitcoin | No |
This split is what lets Bitcoin separate authorization (only you can do it) from verification (anyone can check it).
4. Creating a Transaction: Everything Gets Hashed
Suppose you want to send 0.6 BTC to another address. The transaction includes, among other things, the Bitcoin being spent, the recipient's address, the amount, and a transaction fee for miners.
Once that data is prepared, the wallet generates a cryptographic hash of it, a fixed-length digital fingerprint of the underlying data. The same input always produces the same hash, but changing even one detail produces a completely different one:
5. Signing the Hash With Your Private Key
The wallet now uses the private key to create a digital signature over the transaction hash, cryptographic evidence that the holder of a particular private key authorized this specific data. The private key is used to generate the signature, but it is never included in it and never transmitted to the network.
6. Broadcasting the Transaction
Once the wallet has the transaction and its signature, it broadcasts three things to the network: the transaction data, the digital signature, and the public key. The private key and recovery phrase are never included.
At this stage, the transaction has been created and broadcast, but it has not yet become part of the blockchain.
7. How a Node Actually Verifies the Signature
When a node receives the transaction, it needs to determine whether the signature was created using the private key that corresponds to the broadcast public key. It first reconstructs the transaction data and independently recalculates the transaction hash. This recomputed hash should match the one that existed when the transaction was signed; if it doesn't, the data has changed since signing.
The node then feeds three things into the signature verification process:
The important point: the node performs this entire check using only the transaction, signature, and public key. It never needs, and never gets, access to the private key or recovery phrase. That verification gives two guarantees. First, authorization: someone holding the private key signed this. Second, integrity: the signed data hasn't been altered since, because altering it would change the hash and break the signature check.
8. A Valid Signature Isn't the Whole Story
A valid digital signature establishes that the transaction was authorized by the holder of the relevant private key. It does not, by itself, make the transaction valid. Nodes also check whether the Bitcoin being spent exists and hasn't already been spent, whether spending conditions are satisfied, and whether the amounts, fees, and everything else comply with Bitcoin's consensus rules.
9. Putting It All Together
The whole system reduces to three stages: setting up your keys, signing a transaction, and having the network check that signature. No bank, no account manager, no central authority. Just math that's easy to run forward and infeasible to run backward.
This is what allows Bitcoin to establish authorization without a central authority. Once a transaction has been verified and accepted as valid, another question emerges: who takes those transactions and turns them into the blocks that form the Bitcoin blockchain? That's the job of Bitcoin miners, and the subject of the next article.
Key Takeaways
- Your recovery phrase generates a seed, which deterministically derives every private key, public key, and address your wallet uses.
- Public keys can be derived from private keys easily, but the reverse is computationally infeasible. That one-way property is the foundation of Bitcoin's security.
- A transaction is hashed, and the wallet signs that hash with the private key to produce a digital signature. The private key itself is never transmitted.
- Nodes verify the signature using only the transaction, signature, and public key, confirming both who authorized it and that the data hasn't been altered.
- A valid signature alone doesn't make a transaction valid. It must also pass Bitcoin's separate consensus rules before a node will accept it.





