Where can I find a description (preferably a diagram like below) showing the block structure in an Ethereum blockchain?

Diagram showing how Bitcoin transactions can be verified

Credits: Wikipedia

  • Correct me if I am wrong but this is not only relevant to Proof of Work, the Proof of stake will still use the same Merkle Tree right?
    – Cyberience
    Jun 27 '18 at 7:03

Here's my interpretation, based on the yellow paper:

enter image description here

...the Tries should look more like this:

enter image description here

  • 5
    Hi @atomh33ls, do you mind sharing the source file for the illustrations (in whatever software format you used to create them). I would like to create an illustration for transactions trie. It will look almost the same as state trie except some details will be changed. Thank you! Oct 26 '17 at 10:29
  • Explain them to us in simple english
    – NaN
    Nov 27 '17 at 12:36
  • @atomh33ls I would also be interested in the source files. I really like this amazing overview! What software did you use?
    – kn1g
    Jun 8 '19 at 17:13

Lets first start with my adaptation of this figure illustrating the Bitcoin block structure:

Boitcoin Blockchain architecture

So far so good. All fairly basic.

Enter Ethereum and things get a wee bit more complex. After reading through this and this, and as per @eth 's recommendation this, my best interpretation is the figure below:

![Ethereum Blockchain Architecture

The header field definitions are available in section 4.3 of the yellow paper.

  • 2
    Uncles is a hash (of a list of uncles), Yellow Paper has: "The Keccak 256-bit hash of the ommers list portion of this block". Codehash is just a hash since contracts are immutable. The pointers point to "hash of whole block header" (the Keccak-256 hash of all the bytes in the block header). To have a full diagram, should really consult the Yellow Paper...
    – eth
    Jan 29 '16 at 22:53
  • Updated response after consulting the YP. Starting to get clearer now. Thanks!
    – zanzu
    Feb 1 '16 at 12:34
  • Why are the transactions from block N linked to those of block N+1?
    – Sebi
    Jun 10 '16 at 8:31
  • 3
    These links correspond to contract state that has not changed in between blocks. Referencing the state from the previous blocks instead of replicating is more efficient from a block size perspective.
    – zanzu
    Jun 10 '16 at 9:49
  • 1
    You forgot the difficulty in bitcoin headers.
    – Jus12
    Sep 23 '16 at 16:52

Here is a complete structure of a block and where it plays its role in Ethereum's blockchain.

Ethereum Block Structure

You asked for a diagram but i think this would be more explanatory.


The description can be found in the Yellow Paper which is the formal specification of the Ethereum protocol.

Here are the main pieces of a block:

4.3. The Block. The block in Ethereum is the collection of relevant pieces of information (known as the block header), H, together with information corresponding to the comprised transactions, T, and a set of other block headers U that are known to have a parent equal to the present block’s parent’s parent.

No diagram though (an opportunity for the community).

  • ComeonI though you guys would do better at this explanation
    – NaN
    Nov 27 '17 at 12:37

Here's a picture from V's article regarding data structures for light clients:


enter image description here

  • 4
    The above is an abstraction of a Merkle tree. I'm rather looking for the Ethereum block structure (including all the actual header fields).
    – zanzu
    Jan 22 '16 at 8:57

Vitalik Buterin gives a compact answer:

Every block header in Ethereum contains 3 trees for three kinds of objects: Transactions, Receipts (essentially, pieces of data showing the effect of each transaction), State.

You can read a longer version with pictures here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.