— —
Follow on X
HOW-TO'S

Verify a download before you install it

Compute the hash of a download, compare it with the developer's signed list, and check the signature with the developer's public key. Sparrow and Bitcoin Core as the worked examples.

7 MIN READ
Five steps to verify a software download.
LEVEL · Intermediate
Before you start: A computer and a wallet or node download you are about to install.
IN THIS LESSON · 7 OF 13
BY THE END YOU WILL BE ABLE TO ANSWER
  • What does a matching SHA-256 hash prove on its own?
  • Why check the PGP signature on the manifest as well as the hash?
  • What is the right response to a "BAD signature" result?
  • Run the hash command on any file on your computer. How many hexadecimal characters long is a SHA-256 hash?

Then prove it: a 3-question quiz · a challenge. The lesson marks itself complete at 100%.

After this lesson you can: prove that the wallet or node software on your computer is the file the developers released, not a copy someone swapped on the way.

Why

Malware that targets bitcoin users often arrives as a fake wallet download: a look-alike site, a poisoned search ad, a modified installer. The developer signs every release; checking that signature takes ten minutes and makes the whole attack class fail. Lesson 3 showed what malicious firmware can do; the same discipline applies to the software on your computer.

Two checks, in order

Flow: download, hash the file, compare with the signed manifest, verify the signature with the developer key, install.
Hash proves the file matches the list; the signature proves whose list it is.

  1. Hash. A SHA-256 hash is a fingerprint of the file. The developers publish a list of the fingerprints of every release file. If your file's fingerprint matches, you have their file byte for byte.
  2. Signature. But the list itself could be swapped along with the file. So the developers sign the list with a PGP key, and publish the key's fingerprint in several places. Check the signature with their key, and the chain is closed.

Steps (Sparrow as the example)

Bitcoin Core follows the same pattern with SHA256SUMS and SHA256SUMS.asc, signed by several developers; the download page at bitcoincore.org explains it step by step. The Running a node course walks through it when you install Core.

Scene: attacker swaps the download on the way; the developer signature does not match.
What verification catches: a swapped file, or a swapped file plus a swapped hash list. The signature cannot be forged.

How To Use Sparrow Bitcoin Wallet - In Depth Tutorial (see the Verifying Software chapter) · BTC SessionsWatch on YouTube ↗
MINI CHALLENGEHash it

Run the hash command on any file on your computer. How many hexadecimal characters long is a SHA-256 hash?

characters
CHECK YOURSELF
1/3 What does a matching SHA-256 hash prove on its own?
2/3 Why check the PGP signature on the manifest as well as the hash?
3/3 What is the right response to a "BAD signature" result?
pick an answer for each question

SOURCES

  1. Sparrow Wallet: download and verify
  2. Bitcoin Core: download and verify
Progress is saved in this browser only.