Бутерин рассказал о будущей архитектуре Ethereum

icon ETH
icon FOR
Фото - Бутерин рассказал о будущей архитектуре Ethereum
В своей новой программной статье Виталик Бутерин подводит итоги перехода проекта на алгоритм PoS и объясняет, с какими проблемами сейчас столкнулся блокчейн второй по размерам криптовалюты. Также он рассказывает, какие задачи сейчас стоят перед разработчиками Ethereum.
С наведением порядка в системе L2 Виталик справился достаточно легко, предложив критерии для так называемого выравнивания существующих проектов. Но с внесением изменений в основной протокол Ethereum дело обстоит сложнее. 

В статье под названием «Возможное будущее протокола Ethereum» Бутерин и его соавторы были вынуждены уйти в исторический экскурс в глубокое прошлое проекта, чтобы показать, почему изменить заложенную основу очень сложно, но, в принципе, возможно.

Этап первый: The Merge и его противоречия  

Раньше Ethereum использовал много энергии для подтверждения транзакций, поскольку применял алгоритм доказательства работы (PoW). Теперь Ethereum использует более энергоэффективный метод — доказательство доли владения (PoS). Это событие состоялось в сентябре 2022 года и получило название The Merge или «Слияние».


После перехода на новый алгоритм у Ethereum появились три основные цели:
  1. Ускорить время подтверждения транзакций, которое сейчас колеблется от 15 секунд до 6 минут.

  2. Сделать участие в сети доступнее. Сейчас нужно иметь 32 ETH, чтобы стать валидатором, и это слишком большая сумма, чтобы все желающие могли участвовать в работе протокола. 

  3. Минимизировать накладные расходы.
Трилемма Ethereum. Источник: vitalik.eth.limo

Трилемма Ethereum. Источник: vitalik.eth.limo

Проблема носит почти экзистенциальный характер, поскольку эти задачи противоречат друг другу. Чтобы сделать сеть быстрее, нужно больше участников. Чтобы участвовать смог каждый желающий, необходимо снизить требования к количеству удерживаемых монет. А это может прямо отразиться на безопасности блокчейна.

Эту трилемму Бутерин называет экономической окончательностью.

Ключевая задача, стоящая сейчас перед командой Ethereum, — сделать так, чтобы взломать сеть было настолько дорого, что это было бы просто нецелесообразно. В этом случае можно будет понижать порог входа для валидаторов. Это и есть в его понимании «экономическая окончательность».

Но как этого добиться? Виталик утверждает, что простым изменением системы голосования желаемого результата не достичь. 

Простой пример

Представим, что Ethereum будет просто выбирать случайную группу валидаторов для подтверждения каждого блока (как, например, это происходит на блокчейне Algorand). Звучит заманчиво, но есть проблема: если злоумышленник контролирует более 50% валидаторов выбранной группы, он может легко отменить уже подтвержденные транзакции. Ведь ему не нужно будет «подкупать» владельцев всех нод данной группы, достаточно лишь часть. Остальные, находясь в мошеннической схеме, могут просто оставаться незадействованными. 

Такой подход сильно упрощает жизнь хакерам.  

Выходом для Ethereum является механизм, при котором для отмены блока необходимо обмануть или подкупить почти всех валидаторов. Но при такой схеме подтверждение транзакций будет занимать еще больше времени (которое, напротив, хотят уменьшить) и требовать от каждого валидатора увеличения мощности оборудования.

Этап второй: балансирование скорости, доступности и безопасности  

Итак, мы видим, что Ethereum сталкивается с непростой задачей: сделать сеть быстрее и доступнее, сохранив при этом высокий уровень безопасности.

На этом этапе перед разработчиками встают две основные задачи:
  1. Ускорить финализацию. Виталик ставит целью снижение времени финализации с 12 до 6 секунд (а в идеале — и до 4), чтобы пользователи получали подтверждение транзакций практически мгновенно.

  2. Снизить порог входа для стейкинга. Позволить валидаторам делать ставки от 1 ETH (вместо сегодняшних 32), чтобы привлечь больше участников и сделать доступным соло-стейкинг.
Такой процесс Бутерин называет финализацией в один слот. Такая концепция подразумевает использование алгоритма консенсуса, позволяющего подтверждать блоки за один временной интервал. Это требует большого количества участников и их полной синхронизации между собой.

Такой алгоритм уже реализован в протоколе Tendermint, который позволяет совмещать высокую скорость финализации с устойчивостью к сбоям.
Схема реализации однослотового завершения. Источник: vitalik.eth.limo

Схема реализации однослотового завершения. Источник: vitalik.eth.limo

Однако Ethereum, в отличие от Tendermint, обладает уникальным свойством — устойчивостью к длительным периодам бездействия валидаторов. Эта особенность, известная как «утечки бездействия», позволяет сети продолжать функционировать даже при долгом отсутствии валидаторов в сети. 


По словам Виталика, разработчики Ethereum сейчас активно работают над решением этой проблемы. Они изучают различные варианты и проводят эксперименты, чтобы найти оптимальное решение. 

Одним из самых перспективных направлений он считает «двухслойный стейкинг».

Что такое двухслойный стейкинг и как он работает  

Представьте, что для защиты замка (блокчейна) есть два вида стражников: опытные рыцари и молодые оруженосцы. Рыцари несут основную ответственность за безопасность замка, а оруженосцы помогают им. Это очень упрощенная аналогия двухслойного стейкинга.

В обозримом будущем в системе Ethereum могут появиться два типа участников:
  1. «Рыцари» — валидаторы с большим количеством монет. Они будут непосредственно участвовать в подтверждении блоков и нести основную ответственность за безопасность сети. Это те участники, которые заняли свои места сразу после реализации The Merge.

  2. «Оруженосцы» — валидаторы с меньшим количеством монет. Они будут помогать «рыцарям» (например, проверять транзакции перед их отправкой в блок или генерировать списки участников).
Таким образом, порог входа для владельцев нод будет снижен и в систему сможет зайти больше людей. Разделение обязанностей между участниками теоретически повысит производительность сети.

Существует несколько способов реализовать двухслойный стейкинг:
  1. Задействовать Orbit SSF (протокол управления командами валидаторов для поддержки соло-стейкинга). Он позволяет найти баланс между безопасностью и производительностью, сделав атаки на сеть более дорогостоящими.

  2. Использование сетевого протокола Brute-Force SSH. Такой подход предполагает использование сложных криптографических алгоритмов для обработки большого количества данных и позволяет достичь очень высокой производительности.

  3. Двухслойный стейкинг с заменой ролей в случайных группах валидаторов. В этом варианте «оруженосцы» и «рыцари» могут делегировать друг другу часть своих полномочий. 
Варианты реализации однослотовой финализации. Источник: vitalik.eth.limo

Варианты реализации однослотовой финализации. Источник: vitalik.eth.limo

Выбор варианта зависит от ответа на три вопроса:
  1. Насколько важным для блокчейна является то, что его взлом станет нецелесообразно дорогим для хакеров?

  2. Насколько подобное усложнение повлияет на производительность сети?

  3. Действительно ли большое количество валидаторов необходимо, чтобы проект считался по-настоящему децентрализованным?
Среди разработчиков пока идут обсуждения, как найти баланс между безопасностью, скоростью и децентрализацией. И, по всей видимости, эти разговоры продлятся еще долго, ведь над трилеммой блокчейна годами бьются лучшие умы криптографии, и оптимального решения пока не найдено.

Проблема скрытого выбора пропозитора блока в Ethereum  

Сейчас на блокчейне Ethereum заранее известно, какой валидатор будет предлагать следующий блок (для этого существует закодированная в протоколе очередность). Это создает уязвимость для атак: злоумышленник может вычислить IP-адрес ноды и атаковать ее, чтобы помешать предложить сформированный блок.

Чтобы защитить сеть от подобных атак, нужно скрыть информацию об очередности активации валидаторов до самого момента передачи полномочий. Один из способов реализовать эту опцию — использовать сертификаты Secure Sockets Layer (SSL).  

Как работает SSL
Протокол защищенных сокетов — это стандартная технология защиты интернет-соединения путем шифрования данных, передаваемых между веб-сайтом и браузером (или между несколькими серверами). 

Она не позволяет хакерам просматривать или красть любую передаваемую информацию, включая персональные или финансовые данные. То есть SSL, используя криптографические методы, позволяет скрыть информацию о том, какой валидатор будет предлагать блок. Каждый валидатор получает зашифрованный идентификатор. Только нода, соответствующая этому идентификатору, сможет доказать свое участие в процессе и предложить блок. 

Казалось бы, это является оптимальным решением проблемы, если бы не одно но.   

Использование SSL потребует добавления в Ethereum новых криптографических механизмов, которые усложнят и без того непростую архитектуру протокола и потребуют от валидаторов дополнительной мощности. Поэтому эта задача также пока не решена и находится на этапе обсуждения.

Кроме того, Бутерин пытается решить и более прикладные задачи.

Этап третий: повышение устойчивости к атакам 51% и увеличение порога кворума  

Текущие механизмы восстановления Ethereum после атак 51% основаны на предположении, что децентрализованное сообщество в критической ситуации сможет самостоятельно скоординировать свои действия, запустит механизм восстановления и проведет софт-форк. Однако такие ожидания могут оказаться неверными.


Виталик математически доказывает, что создание автоматизированного механизма восстановления, способного справиться с любым типом атаки 51%, невозможно. Тем не менее частичная автоматизация, основанная на определенных правилах (например, отклонение скомпрометированных блоков), может существенно повысить устойчивость системы.
Хакеры не оставляют попыток атаковать блокчейны

Хакеры не оставляют попыток атаковать блокчейны

Он признает: максимум, что может сейчас гарантировать блокчейн Ethereum, — это то, что хакеры «не смогут получить быструю чистую победу».

Читайте также: Виды атак на блокчейн

Бутерин также указывает, что существующий механизм финализации блоков в Ethereum, требующий согласия 67% валидаторов, часто критикуют за излишнюю жесткость. Но он, напротив, считает его недостаточным и предлагает повысить этот порог до 80%, что должно улучшить безопасность сети и устойчивость к атакам.

Злоумышленникам потребуется контролировать существенно большую долю сети, что делает атаку экономически невыгодной и технически сложной. А в случае возникновения спорных ситуаций (например, при появлении конкурирующих цепочек) увеличение порога кворума позволит избежать быстрых и неоправданных софт-форков, повышая стабильность сети.

Но главное, что это будет дополнительным стимулом для участия в соло-стейкинге и способствовать истинной децентрализации сети.

В сухом остатке  

Из программной статьи становится ясно, что готовых решений Бутерин пока предложить не может. Инициативы, которые он озвучивает, достаточно неоднозначные, поэтому он предлагает открыть широкое обсуждение по поводу будущего проекта и призывает присоединиться к нему всех желающих.

Из позитивных моментов можно отметить только то, что Виталик осознал необходимость понижения порога входа для валидаторов и важность присутствия соло-стейкеров в сети Ethereum, пусть даже на правах «оруженосцев».