9

is there any document / diagram describing Ethereum block structure in similar way as https://en.bitcoin.it/wiki/Block?

I know I can find implementation at https://github.com/ethereum/pyethereum/blob/develop/ethereum/blocks.py but I am still missing some information as bytesize and similar...

q9f
  • 32,913
  • 47
  • 156
  • 395
Visgean Skeloru
  • 681
  • 1
  • 8
  • 17

2 Answers2

7

Yes, the Ethereum Yellow Paper (YP) and related Ethereum block architecture.

Here are the main pieces of a block and the YP has all the sizes:

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.

eth
  • 85,679
  • 53
  • 285
  • 406
6

Here's an illusatration adapted from another answer -> definitions summarised from the yellow paper:

enter image description here

See also Equation (35) of the yellow paper. On github here, Latex format:

The component types are defined thus:
\begin{equation}
\begin{array}[t]{lclclcl}
H_p \in \mathbb{B}_{32} & \wedge & H_o \in \mathbb{B}_{32} & \wedge & H_c \in \mathbb{B}_{20} & \wedge \\
H_r \in \mathbb{B}_{32} & \wedge & H_t \in \mathbb{B}_{32} & \wedge & H_e \in \mathbb{B}_{32} & \wedge \\
H_b \in \mathbb{B}_{256} & \wedge & H_d \in \mathbb{P} & \wedge & H_i \in \mathbb{P} & \wedge \\
H_l \in \mathbb{P} & \wedge & H_g \in \mathbb{P} & \wedge & H_s \in \mathbb{P}_{256} & \wedge \\
H_x \in \mathbb{B} & \wedge & H_m \in \mathbb{B}_{32} & \wedge & H_n \in \mathbb{B}_{8}
\end{array}
\end{equation}

where
\begin{equation}
\mathbb{B}_n = \{ B: B \in \mathbb{B} \wedge \lVert B \rVert = n \}
\end{equation}
Lee
  • 8,548
  • 6
  • 46
  • 80