Главной ценностью публичных блокчейнов всегда была децентрализация: любой человек в любой точке мира должен иметь возможность запустить независимый узел (ноду) на обычном домашнем компьютере, чтобы самостоятельно проверять честность финансовых операций. На заре появления сети Ethereum для запуска полной ноды хватало обычного домашнего ноутбука со стандартным жестким диском. Однако по мере взрывного роста популярности сети, появления миллионов смарт-контрактов, токенов и децентрализованных приложений блокчейн столкнулся со скрытым, но смертельно опасным врагом: раздуванием состояния (state bloat).
Чтобы понять суть проблемы, важно различать два принципиально разных типа данных в блокчейне:
- История транзакций: Это бесконечный журнал всех прошедших переводов с момента запуска сети. Если старый чек пятилетней давности отправить в архивное хранилище, сеть продолжит работать без малейших задержек.
- Активное состояние (State): Это актуальная база данных, в которой записаны текущие балансы всех пользователей, исходный код смарт-контрактов и переменные их внутренней памяти. Чтобы проверить, имеет ли право пользователь перевести монеты прямо сейчас, узел обязан мгновенно прочитать это активное состояние.
Сегодня активное состояние сети Ethereum превышает сотню гигабайт плотно переплетенных записей. Для его обслуживания требуются дорогие твердотельные накопители (NVMe SSD), способные выполнять десятки тысяч случайных операций чтения и записи в секунду. Если этот объем продолжит бесконтрольно расти, запуск валидаторов станет привилегией коммерческих дата-центров, что убьет независимость сети. Спасением от этой системной угрозы стала концепция Stateless Ethereum (Блокчейн без состояния), работающая на базе деревьев Веркла (Verkle Trees).
Тупик классических деревьев Меркла
Чтобы оценить революционность нового подхода, необходимо взглянуть на то, как устроена база данных Ethereum сегодня. С момента своего создания сеть хранит глобальное состояние в специальной математической структуре - префиксном дереве Меркла (Merkle Patricia Trie).
В таком дереве каждый баланс или смарт-контракт лежит в самом низу в виде отдельного листа. Узлы попарно объединяют эти данные с помощью криптографических хеш-функций, поднимаясь ветвь за ветвью до самой вершины, где формируется единый 32-байтный цифровой отпечаток всей сети - корень состояния (State Root).
В классическом дереве Меркла формирование криптографического доказательства требует сборки длинной цепочки промежуточных хешей от нижнего листа до вершины дерева. Чтобы доказать подлинность баланса пользователя без отправки всей базы данных, узел вынужден прикладывать к значению все соседние хеши на каждом ярусе структуры. Поскольку традиционные деревья ветвятся узко, путь от корня до конкретного кошелька проходит через двадцать-тридцать уровней, что раздувает размер доказательства десятками промежуточных служебных хешей.
Если узел хочет доказать кому-то, что на балансе Алисы действительно лежит десять монет, не пересылая при этом всю многогигабайтную базу данных, он генерирует криптографическое свидетельство (witness). Это свидетельство состоит из баланса Алисы и списка всех промежуточных соседних хешей на пути от ее листа до самого верха дерева.
Пока узел хранит всю базу данных на собственном диске, эта схема работает надежно. Однако если попытаться сделать узел «легким» - то есть заставить его проверять блоки без сохранения базы состояния на диске, система мгновенно заходит в тупик:
- Гигантский размер свидетельств: В типичном блоке Ethereum совершаются сотни переводов, которые затрагивают тысячи разных контрактов. Чтобы собрать все подтверждающие соседние хеши для одного блока, требуется сформировать свидетельство размером от 3 до 5 мегабайт.
- Сетевая перегрузка: Рассылать тяжелое пятимегабайтное свидетельство каждые двенадцать секунд по всемирной пиринговой сети невозможно. Каналы связи узлов будут перегружены, возникнут задержки, сбои синхронизации и угроза раскола консенсуса.
Из-за огромного веса доказательств Меркла каждый проверяющий узел в мире до сих пор вынужден непрерывно держать полную копию базы состояния на своем жестком диске.
Как работают деревья Веркла: полиномиальные обязательства
Изобретенные ученым Джоном Кузмаулом в 2018 году и доработанные исследователями Ethereum, деревья Веркла выходят из этого тупика за счет кардинального изменения геометрической формы дерева с помощью высшей математики: векторных полиномиальных обязательств.
В традиционном дереве Меркла каждый родительский узел имеет всего 2 или 16 ответвлений. Если сделать дерево шире, чтобы уменьшить его глубину, размер классического доказательства только вырастет. Деревья Веркла полностью обходят это ограничение, заменяя привычное хеширование вычислением значений полиномов над специальными эллиптическими кривыми (Bandersnatch).
Деревья Веркла кардинально уплощают эту структуру за счет широкого ветвления на 256 направлений на базе векторных обязательств. Вместо узких развилок каждый узел дерева разделяется сразу на 256 дочерних элементов. Такая геометрия сокращает глубину дерева с тридцати уровней до трех-четырех шагов. Вместо передачи сотен соседних значений узел формирует единое полиномиальное доказательство, уменьшая объем служебных данных в десятки раз.
Математическая красота деревьев Веркла заключается в трех ключевых свойствах:
- Колоссальная ширина ветвления (фактор 256): Вместо двух или шестнадцати ветвей каждый узел дерева Веркла разделяется сразу на 256 направлений. Это делает структуру невероятно плоской: там, где дереву Меркла требовалось 20-30 последовательных уровней для поиска записи, дерево Веркла дотягивается до любого адреса всего за 3-5 шагов.
- Фиксированный размер доказательства: Чтобы подтвердить наличие записи среди 256 элементов широкого узла, больше не нужно прикладывать 255 соседних значений. Достаточно предоставить одно компактное математическое полиномиальное доказательство фиксированного размера.
- Объединение доказательств: Если транзакции блока обращаются к сотням разных пользователей, все отдельные математические доказательства для всего блока сжимаются в единую формулу.
Благодаря этой математической магии размер свидетельства, необходимого для полной проверки блока, падает с нескольких мегабайт до невероятных 100-150 килобайт. Пакет весом 150 килобайт легко помещается в стандартный сетевой запрос и разлетается по всему миру за доли секунды.
Сравнение деревьев Меркла и деревьев Веркла
Наглядное сравнение характеристик показывает, почему переход на деревья Веркла считается одним из важнейших обновлений в истории распределенных реестров:
| Технический параметр | Дерево Меркла (Текущий Ethereum) | Дерево Веркла (Stateless Ethereum) | Практическое значение для сети |
| :--- | :--- | :--- | :--- |
| Количество ветвей в узле | 16 (шестнадцатеричное дерево) | 256 (векторные обязательства) | Сокращает глубину дерева с 25 уровней до 4 |
| Криптографическая основа | Хеширование Keccak-256 | Полиномиальные обязательства Bandersnatch | Позволяет объединять сотни доказательств в одну формулу |
| Средний вес свидетельства блока | От 3 до 5 мегабайт | От 100 до 150 килобайт | Снижает нагрузку на каналы связи более чем на 95% |
| Требования к диску узла | Более 100 ГБ скоростного NVMe SSD | Ноль гигабайт для хранения состояния | Позволяет запускать узлы на простых ноутбуках |
| Время синхронизации ноды | Часы или дни скачивания базы | Мгновенный запуск за доли секунды | Убирает порог входа для новых валидаторов |
Принцип работы концепции Weak Statelessness
Внедрение деревьев Веркла делает возможной модель, получившую название Weak Statelessness (Слабое отсутствие состояния). В этой модели обязанности участников сети логично разделяются на две роли:
Модель Weak Statelessness четко разделяет обязанности участников сети на две специализированные роли. Профессиональные создатели блоков поддерживают полную базу данных на скоростных накопителях, рассчитывают транзакции и прикладывают к блоку компактное свидетельство Веркла весом около 150 килобайт. Обычные валидаторы работают полностью без состояния: они не хранят на диске балансы или смарт-контракты, проверяют блок со свидетельством исключительно в оперативной памяти и подтверждают консенсус без единого обращения к жесткому диску.
- Создатели блоков (Узлы с состоянием): Небольшая группа профессиональных операторов (билдеров и секвенсоров) продолжает хранить полную базу данных на дисках. Формируя новый блок, они генерируют компактное свидетельство Веркла весом около 150 килобайт, в котором содержатся только затронутые балансы и полиномиальные доказательства.
- Валидаторы блоков (Узлы без состояния): Подавляющее большинство участников сети - включая обычных домашних валидаторов со смартфонами и мини-компьютерами - работают полностью без локальной базы состояния. Получив блок со свидетельством, валидатор выполняет транзакции и проверяет математическую непротиворечивость формул, не обращаясь к жесткому диску.
Поскольку валидаторам больше не нужно непрерывно считывать и перезаписывать терабайты информации на диске, тяжелейшая нагрузка на память исчезает. Валидатор может годами спокойно работать на обычном недорогом домашнем роутере или компактном мини-ПК без риска износа накопителя.
Будущее по-настоящему народных валидаторов
Переход на деревья Веркла знаменует наступление новой эры в развитии децентрализованных технологий. Избавляя узлы от обязанности вечно хранить нарастающие объемы информации, Ethereum снимает противоречие между высокой пропускной способностью сети и подлинной децентрализацией.
Новые валидаторы смогут подключаться к проверке сети за считанные секунды, не тратя дни на утомительное скачивание гигабайтов старых данных. Каждый пользователь получает возможность контролировать честность реестра своими силами, не полагаясь на сторонние облачные серверы или централизованные сервисы. Деревья Веркла гарантируют, что мировой финансовый компьютер останется доступным, независимым и по-настоящему народным инструментом на десятилетия вперед.

.png)

