Виталик Бутерин анонсировал генеральную уборку протокола. От какого мусора хочет избавиться главный архитектор Ethereum? И какими инструментами он собирается воспользоваться?
В своей новой статье под названием “Следующие шаги по очистке” Виталик обозначил главные задачи, которые необходимо решать Ethereum: устранение неоправданной сложности и добавление новых инструментов безопасности. Это позволило бы ликвидировать огромные залежи хлама и освободить кучу свободного места на блокчейне.
Основным рабочим инструментом для наведения такого порядка станет EIP-6780, который был активирован в обновлении Cancun-Deneb.
О том, как работает этот пылесос для ненужных смарт-контрактов, мы рассказывали здесь.
Спрос на эти прекомпиляции крайне низкий, поэтому Виталик предлагает заменить их EVM-кодом. Для этого мог бы использоваться EIP-7266.
SSZ ускорит поиск нужной информации, упростит структуру блоков и облегчит жизнь разработчикам. Чем больше свободного места, тем больше узлов можно развернуть. И, следовательно, децентрализация блокчейна при этом не пострадает.
Основным рабочим инструментом для наведения такого порядка станет EIP-6780, который был активирован в обновлении Cancun-Deneb.
О том, как работает этот пылесос для ненужных смарт-контрактов, мы рассказывали здесь.
Установка фильтра для прекомпиляций
Теперь усилия команды разработчиков будут направлены на очистку некоторых предварительных компиляций (или прекомпиляций). Так Бутерин называет “контракты Ethereum, которые вместо EVM-кода имеют логику, реализованную непосредственно клиентами. Идея состоит в том, что прекомпиляции могут использоваться для реализации сложных форм криптографии, которые нельзя эффективно реализовать внутри EVM”.
Некоторые из таких контрактов сейчас успешно используются для поддержки приложений, работающих на базе одной из самых популярных форм доказательства с нулевым разглашением – zk-SNARK. К ним вопросов нет.
Однако есть и те, что применяются очень редко:
- RIPEMD-160: хеш-функция для обеспечения совместимости с Bitcoin.
- Identity: прекомпиляция, которая возвращает тот же выход, что и ее вход (но не путайте криптографические входы и выходы с отверстиями в стенах – это история про модель контроля балансов аккаунтов).
- BLAKE2: хеш-функция для обеспечения лучшей совместимости с Zcash.
- MODEXP: модульное возведение в степень с очень большими числами для поддержки криптографии на основе RSA.
Изменение модели хранения истории блоков
Следующим шагом в этой уборке станет переход к эффективным методам для хранения истории блоков. Это будет реализовано за счет EIP-4444. Подход, когда каждый узел Ethereum хранил полную историю блокчейна, отменен. Он неоправданно усложнял работу из-за высоких требований к объему хранилища. Теперь большие двоичные объекты (blobs) будут храниться в протоколе только 18 дней, а после будут удалены по умолчанию.
“Но как же будет храниться история и обеспечиваться неизменность данных в блокчейне?” — спросите вы.
Виталик предлагает альтернативу — простые p2p-сети, наподобие торрентов или специализированные протоколы, например Portal Network. Поскольку требовать от каждого узла хранить данные вечно — излишество, то разумно доверить эту задачу специальным протоколам, оптимизированным для хранения и передачи больших объемов информации.
Это сократит время синхронизации узлов и упростит работу операторов нод.
Наведение порядка в каталогах
И последний шаг по очистке блокчейна от ненужного хлама – это переход к SSZ.
SSZ (или Simple Serialize) — это более простая система хранения данных в Ethereum. Если не вдаваться в технические детали, то это новый набор “этикеток”, разработанный для каталогизации данных.
Его преимущества:
- Стандартизация. Данные всегда хранятся в определенном формате, независимо от их типа. Это позволяет быстро найти любой инструмент.
- Эффективность. Используется меньше места для хранения данных, поскольку нет необходимости в дополнительной упаковке.
- Гибкость. В системе есть специальные отделения для новых инструментов, что позволяет легко добавлять их в будущем.
Как видим, Виталик Бутерин довольно основательно подходит к вопросу масштабируемости блокчейна Ethereum. Такая генеральная уборка вполне способна облегчить сеть и ускорить обработку данных.