diff --git a/EIPS/eip-4788.md b/EIPS/eip-4788.md index edaf77de97f95..a0792519a3a2a 100644 --- a/EIPS/eip-4788.md +++ b/EIPS/eip-4788.md @@ -137,7 +137,7 @@ The first ring buffer only tracks `HISTORICAL_ROOTS_LENGTH` worth of roots and s However, this design opens the precompile to an attack where a skipped slot that has the same value modulo the ring buffer length would return an old root value, rather than the most recent one. -To nullify this attack, this EIP keeps track of the pair of data `(parent_beacon_block_root, timestamp)` for each index into the +To nullify this attack while retaining a fixed memory footprint, this EIP keeps track of the pair of data `(parent_beacon_block_root, timestamp)` for each index into the ring buffer and verifies the timestamp matches the one originally used to write the root data when being read. Given the fixed size of storage slots (only 32 bytes), the requirement to store a pair of values necessitates two ring buffers, rather than just one.