Illustration of how a Bitcoin wallet signs a transaction with a private key and how network nodes verify that signature

How Does Bitcoin Verify a Transaction?

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:

Recovery Phrase Seed Private Keys Public Keys Bitcoin Addresses

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:

It's computationally feasible to derive the public key from the private key, but computationally infeasible to derive the private key from the public key.
A Simplified (RSA-Style) Illustration 17 & 23 391 multiply (easy) factor back (infeasible at scale) Real cryptographic numbers are hundreds of digits long; this is a toy version to show the shape of the problem Private Key → sign stays with you, always Public Key → verify safe to broadcast to everyone

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 keyAuthorizes spendingYes
Public keyUsed for cryptographic verificationNo
Bitcoin addressIdentifies a destination for receiving BitcoinNo

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:

Send 0.6 BTC to bc1q… Hash Function 8f4a…c21d Send 1.0 BTC to bc1q… Hash Function 3b71…9a42 Only the amount changed

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.

Transaction Hash + Private Key (never leaves wallet) Digital Signature (r, s)

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.

Your Wallet Tx Data + Signature + Public Key broadcast Node A Node B Node C Each node independently validates

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:

Transaction Hash (computed by node) Digital Signature (r, s) Public Key Verification Calculation Calculated Value vs. r ✓ Valid ✗ Invalid

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.

1. Cryptographic Verification Was this authorized by the holder of the private key? 2. Transaction Validation Does the transaction comply with Bitcoin's rules? Both pass: Accept

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.

1. Wallet Setup Recovery Phrase → Seed → Private Key → Public Key → Address 2. Sending Create Transaction → Hash It → Sign Hash with Private Key → Broadcast 3. Node Verification Receive → Recompute Hash → Verify Signature → Check Rules → Accept / Reject

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.
Share your love

Leave a Reply

Your email address will not be published. Required fields are marked *