Премьера! Ethereum публикует будущий план, часть 5: Очистка
Контекст
Основной проблемой, с которой сталкивается Ethereum, является разрастание и сложность протокола блокчейна.
Эта проблема проявляется в двух аспектах:
1. Разрастание исторических данных: все узлы должны постоянно хранить все исторические данные (такие как записи о транзакциях, информация об аккаунтах), что увеличивает нагрузку на синхронизацию и хранение.
2. Увеличение функционала протокола: новые функции постоянно добавляются, но старые функции трудно удалить, что приводит к увеличению сложности кода.
Цели очистки
1. Снизить требования к хранению клиентов: уменьшить или устранить требования для каждого узла к постоянному хранению всех исторических данных.
2. Уменьшить сложность протокола: удалить ненужные функции.
Способы очистки
1. Очистка исторических данных
1) Создание распределенной сети хранения, где каждый узел хранит только часть исторических данных (аналог сети пирингового обмена).
2) Предлагаемое EIP-4444 вводит годичное ограничение на хранение исторических данных и планирует постепенный переход к модели, сохраняющей только последние данные.
2. Очистка состояния
1) Хранение данных по частям, только недавно доступные данные будут сохранены.
2) Очистка состояния адреса-периода: вводится срок действия для каждого адреса, в течение определенного периода хранится только последнее доступное состояние.
3. Упрощение функционала
Постепенное удаление редко используемых или ненужных функций (таких как операция SELFDESTRUCT, старые типы транзакций, механизмы синхронного комитета и т.д.)
Будущие планы и возможные радикальные решения
1. Радикальное решение: перенос множества функций протокола в код контрактов. Например, оставить только цепочку сигналов в качестве базового слоя, а среду выполнения – в качестве независимого rollup, что похоже на прошлое предложение «среды выполнения», но с использованием технологии SNARKs, что делает это возможным.
2. Замена виртуальной машины: например, использование RISC-V или Cairo в качестве новой виртуальной машины Ethereum (EVM) и трансляция контрактов EVM в код новой виртуальной машины, упрощая протокол и повышая его эффективность.