Клиенты Ethereum, которые работают без сохранения состояния, рассматриваются как инструмент, обеспечивающий долгосрочную работоспособность сети. Но, несмотря на весь прогресс, достигнутый в этой области, некоторые фундаментальные ограничения пока не позволяют применять такие клиенты на практике.
Клиенты без сохранения состояния (stateless) — это способ позволить узлам в полной мере участвовать в валидации без необходимости хранить более раннюю историю блокчейна. «Состояние» представляет собой записи обо всех балансах, код смарт-контрактов и другие соответствующие данные. Каждый новый блок вносит очень небольшие изменения в состояние, но каждое изменение все равно должно быть проверено по всей цепочке блоков, что делает этот процесс очень неэффективным.
Это исследование имеет важные последствия для внедрения Ethereum 2.0. Сооснователь Ethereum Виталик Бутерин подчеркнул, что stateless-клиенты изучаются и для других блокчейнов, в том числе и для биткоина.
Текущее решение опирается на дерево Меркла (хэш-дерево). Оно проверяет состояние через концепцию «свидетеля», в который включена информация только о тех частях состояния, которые были изменены. Но у технологии есть несколько важных недостатков, что может привести к увеличению размера «свидетеля» до 405 мегабайт для каждого блока. Оптимизация может уменьшить размер «свидетеля», сделав его от двух мегабайт до 600 килобайт, но это все равно намного выше текущего размера блока Ethereum, который около 50 килобайт.
Альтернативой, на которой сейчас сосредоточен Бутерин, является Polynomial Commitments — система проверки, полагающаяся на полиномиальные функции для представления данных. Благодаря некоторым криптографическим свойствам они позволяют использовать только одного «свидетеля» маленького размера, который может проверить множество состояний.
Но Бутерин объяснил, что в этом решении тоже есть проблема. Хэш-дерево легко обновлять из-за его разветвляющейся структуры, но полиномиальные функции требуют полного изменения всей кривой, что сделало бы расчет «свидетелей» слишком дорогостоящим. Есть множество потенциальных решений этой проблемы, но Бутерин отметил, что у каждого решения есть свои недостатки, которые требуют дополнительных исследований.
Выводы Бутерина указывают на то, что stateless-клиенты в ближайшее время не заработают. Для обычных пользователей это означает, что в обозримом будущем цены на газ, вероятно, останутся прежними.