• Hash256
  • Hash160
  • Reverse Bytes
  • Hexadecimal
  • Satoshis

Blocks

Collections of bitcoin transactions.

What is a block?

A block is a bunch of transactions that have been added to the blockchain.

How are blocks formed?

Blocks are formed by miners.

Go on…

When you make a bitcoin transaction, it isn’t added to the blockchain straight away. Instead, it is held in a transaction pool (or memory pool).

Transaction Pool

If you are a miner, your job is to gather transactions from the transaction pool in to a “candidate block”, and to try and add this candidate block to the blockchain.

Candidate Block

Block header

You also can give each candidate block a block header, which is basically a bunch of metadata about the block.

Block Header

Miners use this metadata when trying to add a block to the blockchain.

metadata – n. data that describes other data, serving as an informative label.

How are blocks added to the blockchain?

To add a candidate block to the blockchain, you hash the data in the block header and hope that the result is below a certain target value.

Block Hash & Target

The target is calculated from the difficulty, which is a value set by the bitcoin network to regulate how difficult it is to add a block of transactions to the blockchain.

Think of the target as the limbo pole for candidate blocks – the greater the difficulty, the lower the target, and the more difficult it is to find a block hash that is below this value.

Don’t worry, I know this difficulty and target business is a little confusing at first, but it will make more sense over time.

Difficulty
A value set by the bitcoin network that is designed to regulate how quickly blocks are solved. It adjusts every 2016 blocks to try and create an average of 10 minutes between blocks.

The Nonce

I lied. You don’t actually hash the block header on its own. You actually hash it with an extra number.

Block Nonce

This number is called a nonce, and it’s basically a dummy field that miners use to help them get a block hash below the target value.

nonce – an arbitrary number used only once in a cryptographic communication.

If the first nonce doesn’t work (starting at 0), keep incrementing it and hashing the block header. Eventually you’ll find a nonce that returns a block hash that is less than the target value.

Block Nonce Success

I know these hash values contain letters, but you can still think of them as numbers like any other. They’re simply hexadecimal values, and computers love working with them.

Congratulations

Once you’ve found nonce that works, the block is “solved” and all of the transactions in this block are added to the blockchain.

Block Complete

All miners will now head back to the transaction pool and start work on the next candidate block. They will use your successful block hash in their next block header, and the race to add a new block of transactions to the blockchain starts again.

Good work.

By Greg Walker,

Last Updated: 04 Feb 2021
  • 04 Feb 2021: spelling fixes
  • 21 Jul 2020: redirected and renamed files from /guide/ to /technical/
  • 28 Mar 2020: updated html for h1 headers and subheadings - now dynamic from yaml
  • 28 Mar 2020: updated html for h1 headers and subheadings
  • 11 Oct 2019: homepage guide
  • 09 Oct 2019: renamed browser to explorer, glossary to guide, and guide to beginners
Back to Top

Hey there, it's Greg.

I'll let you know about cool website updates, or if something seriously interesting happens in bitcoin.


Don't worry, it doesn't happen very often.