Bitcoin wallet Verifying Blocks

One of the most interesting ways in which bitcoin was designed is how thin clients were thought of from the very beginning. Satoshi saw from the white paper exactly the need to have a wallet that didn’t need to have the entire blockchain. He saw how expensive carrying the entire blockchain would be and the eventual importance of thinner clients.

The main mechanism for making thinner clients possible (that is, clients that don’t need the entire blockchain) is called Simplified Payment Verification. To understand SPV, however, we must first understand something called Merkle Trees.

The blockchain is a collection of blocks and blocks are a collection of transactions. Within each block are some metadata which includes something called the Merkle Root. The Merkle Root is computed from the hashes of the transactions in a particular way:

  1. To start, every transaction hash is laid out in some order and given an index.
  2. If there are an odd number of transactions, we simply add another transaction hash at the end that is a duplicate of the last one.
  3. We take each pair of hashes (indices 2n, 2n+1 for 0

Bitcoin wallet download Blocks

Bitcoin wallet definition

Bitcoin QT Verifying Blocks

Bitcoin wallet for Windows 8

Litecoin wallet unlock