A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Data structure | Components | SIze per object | Max per block | Avg per block | Reasoning for avg | Max total size | Avg total size | Compressibility | Rationale | Avg post compression | ||||||||||||||||||||
2 | Signed Header | Slot | Parent root | State root | Body root | Signature | |||||||||||||||||||||||||
3 | 8 | 32 | 32 | 32 | 96 | 200 | |||||||||||||||||||||||||
4 | Signed beacon block top and tail | Slot | Parent root | State root | Signature | ||||||||||||||||||||||||||
5 | 8 | 32 | 32 | 96 | 168 | 1 | 1 | Duh | 168 | 168 | 1 | Headers are too small, don't bother | 168 | ||||||||||||||||||
6 | Randao reveal | 96 | 96 | 1 | 1 | 96 | |||||||||||||||||||||||||
7 | Eth1Data | 72 | 72 | 1 | 1 | 72 | |||||||||||||||||||||||||
8 | Graffiti | 32 | 32 | 1 | 1 | 32 | |||||||||||||||||||||||||
9 | ProposerSlashing | Index | Headers | ||||||||||||||||||||||||||||
10 | 8 | 400 | 408 | 16 | 0.125 | Cannot be long-run faster than withdrawal queue (4 per 32 blocks) | 6528 | 51 | 1 | Not large enough, don't bother | 51 | ||||||||||||||||||||
11 | Checkpoint | Epoch | Root | ||||||||||||||||||||||||||||
12 | 8 | 32 | 40 | ||||||||||||||||||||||||||||
13 | Crosslink | Shard | Parent root | Start epoch | End epoch | Data root | |||||||||||||||||||||||||
14 | 8 | 32 | 8 | 8 | 32 | 88 | |||||||||||||||||||||||||
15 | AttestationData | Slot | Index | BlockRoot | Source | Target | |||||||||||||||||||||||||
16 | 8 | 8 | 32 | 40 | 40 | 128 | |||||||||||||||||||||||||
17 | IndexedAttestation | Custody bit indices | Attestation data | Signature | |||||||||||||||||||||||||||
18 | 16384 | 128 | 96 | 16608 | |||||||||||||||||||||||||||
19 | AttesterSlashing | ||||||||||||||||||||||||||||||
20 | 33216 | 33216 | 1 | 0.125 | Cannot be long-run faster than withdrawal queue (4 per 32 blocks) | 33216 | 4152 | 5.818181818 | Only 2.75 of 8 bytes are used for indices. Also, validator index lists can be re-expressed as difference lists (eg. 10 35 43 50 79 -> 10 25 8 7 29), likely reduces by a factor of 2x | 713.625 | |||||||||||||||||||||
21 | Attestation | AttestationData | Aggregation bitfield | Signature | |||||||||||||||||||||||||||
22 | 128 | 256 | 96 | 480 | 128 | 64 | Assuming 1/2 of perfect efficiency | 61440 | 30720 | 1.5 | Most AttestationData is identical between multiple objects, attestation bitfield can be compressed if portion of bits filled not exactly 1/2, custody bitfield can be compressed as it must be a subset of attestation bitfield | 20480 | |||||||||||||||||||
23 | DepositData | Pubkey | Withdrawal credentials | Amount | Signature | ||||||||||||||||||||||||||
24 | 48 | 32 | 8 | 96 | 184 | ||||||||||||||||||||||||||
25 | Deposit | Branch | DepositData | ||||||||||||||||||||||||||||
26 | 1056 | 184 | 1240 | 16 | 0.8 | 128m ETH over 2 years = 4m deposits per year, 2 years ~= 5m slots | 19840 | 992 | 3 | Adjacent Merkle branches mostly share data | 330.6666667 | ||||||||||||||||||||
27 | Signed VoluntaryExit | Epoch | Validator index | Signature | |||||||||||||||||||||||||||
28 | 8 | 8 | 96 | 112 | 16 | 0.125 | Cannot be long-run faster than withdrawal queue (4 per 32 blocks) | 1792 | 14 | 1 | Too small, don't bother | 14 | |||||||||||||||||||
29 | |||||||||||||||||||||||||||||||
30 | Phase0 TOTAL | 123184 | 36097 | 21757.29167 | |||||||||||||||||||||||||||
31 | Phase 1 below | ||||||||||||||||||||||||||||||
32 | Attestation custody bits | ||||||||||||||||||||||||||||||
33 | 256 | 256 | 768 | 64 | 196608 | 16384 | 1.5 | 10922.66667 | |||||||||||||||||||||||
34 | ShardTransition (avg) | Start slot | Shard block lengths | Shard data roots | Intermediate states | Signature | |||||||||||||||||||||||||
35 | 8 | 8 | 48 | 32 | 96 | 192 | 0 | 64 | 0 | 12288 | 1 | 12288 | |||||||||||||||||||
36 | ShardTransition (max) | Start slot | Shard block lengths | Shard data roots | Intermediate states | Signature | |||||||||||||||||||||||||
37 | 8 | 96 | 1536 | 384 | 96 | 2120 | 64 | 0 | 135680 | 0 | 1 | 0 | |||||||||||||||||||
38 | Shard block fraud proof | Max shard block size | |||||||||||||||||||||||||||||
39 | 1048576 | 1048576 | 1 | 0.03125 | 1048576 | 32768 | 1 | 32768 | |||||||||||||||||||||||
40 | CustodySlashing | Data index | Malefactor index | Malefactor secret | Whistleblower index | ShardTransition | Attestation | Data | |||||||||||||||||||||||
41 | 8 | 8 | 96 | 8 | 2120 | 480 | 1048576 | 1051296 | 1 | 0.03125 | 1051296 | 32853 | 1 | 32853 | |||||||||||||||||
42 | CustodyKeyReveal | Revealer index | Reveal | ||||||||||||||||||||||||||||
43 | 8 | 96 | 104 | 256 | 32 | 4m validators revealing once per 2048-epoch (65536-slot) period | 26624 | 3328 | 1 | 3328 | |||||||||||||||||||||
44 | EarlyDerivedSecretReveal | Revealed index | Epoch | Reveal | Masker index | Mask | |||||||||||||||||||||||||
45 | 8 | 8 | 96 | 8 | 32 | 152 | 1 | 0.0625 | 152 | 9.5 | 1 | 9.5 | |||||||||||||||||||
46 | Light client signature bitfield | Bitfield | |||||||||||||||||||||||||||||
47 | 32 | 32 | 1 | 1 | 32 | 32 | 1 | 32 | |||||||||||||||||||||||
48 | Light client signature | Signature | |||||||||||||||||||||||||||||
49 | 96 | 96 | 1 | 1 | 96 | 96 | 1 | 96 | |||||||||||||||||||||||
50 | |||||||||||||||||||||||||||||||
51 | Phase0+1 TOTAL | 2582248 | 133855.5 | 114054.4583 | |||||||||||||||||||||||||||
52 | * note this is avg total size in the worst case number of validators | ||||||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||||||
100 |