Соучредитель Ethereum Виталик Бутерин рассмотрел в блоге преимущества включения некоторых функций в основной код протокола против реализации их поверх блокчейна.
Should Ethereum be okay with enshrining more things in the protocol?https://t.co/7F7yOLBoUr— vitalik.eth (@VitalikButerin) September 30, 2023
В числе обсуждаемых решений Бутерин назвал стандарт токенов ERC-4337 для абстракции учетных записей, ZK-EVM, частные мемпулы, прекомпиляции кода и ликвидный стейкинг.
По его словам, изначально философией Ethereum был «протокольный минимализм» — желание сделать ядро блокчейна как можно более простым, реализуя большинство решений поверх. Однако в последнее время появился «осторожный интерес» к включению многих из этих функций в основной код, признал Бутерин.
Он считает, что в пользу закрепления в протоколе ERC-4337 говорит ряд преимуществ, включая:
более эффективное использование газа и сокращение фиксированных затрат на транзакцию;
сокращение рисков ошибки в коде функции;
сопротивление цензуре в протоколе.
Касательно потенциального включения в основной код ZK-EVM Бутерин отметил, что в настоящее время существует большое количество реализаций ZK-роллапов. Разработчики всех этих решений вроде PSE ZK-EVM, Kakarot, Polygon ZK-EVM, Linea, Zeth и других вынуждены «писать довольно похожий код для проверки выполнения блоков». Теоретически, для этой функции можно было бы использовать базовую EVM, но существует ряд технологических нюансов.
«Закрепление ZK-EVM представляет собой как многообещающую, так и сложную задачу», — полагает Бутерин.
Он отметил, что развитие MEV превратило производство блоков в масштабную деятельность, которая приносит участникам больший доход, чем алгоритмы по умолчанию. Сообщество пытается справиться с этой проблемой внепротокольными реализациями концепции PBS — разделения предлагающего блок и строителя.
Подобные решения, например, MEV-Boost, позволяют валидаторам передавать создание блоков специализированным участникам, но предполагают доверие к новой категории субъектов — ретрансляторам.
Однако сильным контраргументом для включения PBS в код протокола Бутерин считает опасность перегрузки консенсуса.
В отношении получивших в последнее время проектов частных мемпулов программист заметил, что для закрепления этой функции в протоколе есть серьезные препятствия. Такие решения сохраняют транзакции зашифрованными до момента их необратимого принятия в блок. При этом используемые технологии шифрования имеют определенные слабые стороны, полагает Бутерин. По его мнению, задача внедрения частных мемпулов на первом уровне блокчейна без технологических прорывов представляется «сложной задачей».
Касательно ликвидного стейкинга Бутерин напомнил про опасения централизации. По его мнению в этом сегменте существует «естественная централизованная механика». Пользователи концентрируются на наиболее крупных и известных платформах, однако рост числа базовых нод несет риск атаки 51%.
Программист отметил, что протоколы прибегают к различным мерам защиты. Например, Lido использует белый список, а Rocket Pool позволяет запустить узел только после внесения 8 ETH (¼ капитала) в качестве депозита. По мнению Бутерина, ни один из этих подходов не лишен недостатков. Он считает целесообразным закрепить некую «внутрипротокольную функциональность», которая сделает ликвидный стекинг менее централизованным. Однако пока остается неясным, каким именно должно быть это решение.
Бутерин напомнил, что прекомпиляции — это контракты Ethereum, реализующие сложные криптографические операции, логика которых реализована в коде клиента. Такой компромиссный подход изначально позволял снизить накладные расходы EVM для некоторых сложных приложений, решая часть задач в основном коде, делая их быстрее.
По словам программиста, в настоящее время ведется работа по добавлению прекомпиляции для эллиптической кривой secp256r1. В последние годы предпринимались попытки интегрировать контракты для BLS-12-377, BW6-761 и ряда других функций.
Контраргументом для добавления большего числа прекомпиляций стало то, что многие из них использовались гораздо реже, чем ожидалось. Бутерин допустил существование определенных криптографических операций, ценных для ускорения, которые стоит включить в протокол. Возможно, оттуда стоит изъять некоторые из существующих контрактов, добавил он.
Он выделил несколько выводов из рассмотрения возможности включения рассмотренных функций в протокол Ethereum:
закрепление может снизить риски централизации в ряде областей;
слишко широкая интеграция способна привести к чрезмерной нагрузке консенсуса и управления, а также слишком усложнить код;
долгосрочными неприятными последствиями является непредсказуемость потребностей пользователей.
«Какие функции следует внести в протокол, а какие стоит оставить другим уровням экосистемы — это сложный компромисс, и мы должны ожидать, что он продолжит развиваться с течением времени по мере нашего понимания потребностей пользователей, а также набора доступных идей и технологий», — заключил программист.
Напомним, в сентябре Бутерин рассказал о сроках решения проблемы централизации в Ethereum.