TGViewer
MetaLamp | CIS MetaLamp | CIS @metalampru · 1.58K subscribers
Post #295 972
EIP-2935: Save historical block hashes in state

EIP-2935 предлагает сохранять историю блокчейна внутри самого блокчейна. Это будет особенно полезно для лайтнод, которым не обязательно иметь доступ ко всей сети.

▫️ Зачем это лайтнодам?

Лайтноды (stateless clients) не хранят все состояние блокчейна, что затрудняет корректную работу опкода BLOCKHASH, который должен выдавать хеши последних 256 блоков. Предполагаю, что сейчас это минимальное количество блоков, которое необходимо хранить лайтноде для обеспечения работы этого опкода.

Сейчас, в рамках спецификации ноды, существует параметр BLOCKHASH_SERVE_WINDOW, который равняется 256 и определяет количество блоков к которым BLOCKHASH может дать доступ. Этот параметр определен не явно, можно сказать захардкожен.

В EIP-2935 планируется добавить новый параметр HISTORY_SERVE_WINDOW, который определит количество хешей блоков, хранимых в специальном системном контракте. Это позволит нодам не хранить блоки совсем, но при этом иметь доступ к хешам.

▫️ Сколько?


Планируется, что храниться будет 8192 хеша блоков. Можно уже сейчас найти место в ветке master клиента geth, где этот параметр определен.

Не сложно заметить, что 8192 в разы больше 256. Увеличение количества доступных исторических хешей призвано улучшить любого рода проверки доказательств для ролапов и не только.

▫️Почему так долго внедрялся?

Почему потребовалось так много времени, чтобы довести предложение до реализации, мне не совсем понятно. Предложение было добавлено в сентябре 2020 года. Моя гипотеза заключается в том, что изначально стандарт мог выглядеть иначе и был изменен с реализацией EIP-4788:Beacon block root in the EVM, который определили путь исполнения подобной системной операции.

▫️Вывод

Семантика кода операции BLOCKHASH останется прежней, поэтому EIP-2935 полностью обратно совместим, но при этом предлагает практичное решение для хранения и доступа к историческим хешам блоков, что положительно скажется для лайтнод.

#в_гостях_у_Pectra #павел_найданов
GitHub go-ethereum/core/vm/instructions.go at master · ethereum/go-ethereum Go implementation of the Ethereum protocol. Contribute to ethereum/go-ethereum development by creating an account on GitHub.
  • 🔥 12
  • 👍 8
  • 👾 3
  • 👏 1
More from @metalampru
  1. Oct 6, 2026Омм, омм... Исчезнет грусть, в день, Когда наступит праздник... Омм, омм... И мой путь - п…
  2. Oct 1, 2026🍻🍻 Добро пожаловать в семью! OZ добрался и до блокчейна Джастина Сана. Официально объявл…
  3. Sep 29, 2026Post #710
  4. Sep 29, 2026💩 Скам Или не скам Мы уже несколько раз рассказывали про скамеров, которые регулярно к на…
  5. Sep 17, 2026Uniswap v4 hooks were a mistake Это всего лишь громкий заголовок в статье от 0x. Моя лента…
  6. Sep 15, 2026Post #706
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →