Возможные будущие сценарии протокола Ethereum, часть 1: Слияние

Продвинутый10/22/2024, 4:19:33 AM
В этой статье обсуждается Ethereum "Merge" и исследуются области для улучшения технического дизайна Proof of Stake, а также потенциальные способы достижения этих улучшений.

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

Моя дорожная карта от 2023 года разделила это на сегменты: улучшение технических характеристик, таких как стабильность, производительность и доступность для небольших валидаторов, а также экономические изменения для устранения рисков централизации. Первый взял на себя заголовок «Слияние», а второй стал частью «Плети».

Слияние, издание дорожной карты 2023 года.

Этот пост будет сосредоточен на части "Слияние": что еще можно улучшить в техническом дизайне доказательства доли, и какие есть пути к достижению этого?

Это не предназначено как исчерпывающий список того, что можно сделать для доказательства доли; скорее, это список идей, которые активно рассматриваются.

Слияние: ключевые цели

  • Однократная окончательность слота
  • Подтверждение и завершение транзакции как можно быстрее, сохраняя децентрализацию
  • Улучшить жизнеспособность стейкинга для отдельных стейкеров
  • Улучшить надежность
  • Улучшите способность Ethereum сопротивляться и восстанавливаться после атак на 51% (включая отмену финальности, блокировку финальности и цензуру)

В этой главе

Однократное завершение и демократизация стейкинга

Какую проблему мы решаем?

Сегодня для завершения блока требуется 2-3 эпохи (~15 мин), и для стейкера требуется 32 ETH. Изначально это был компромисс, предназначенный @VitalikButerin/параметризация-casper-децентрализация-окончательность-время-накладные-расходы-компромисс-3f2011672735">баланс между тремя целями:

  • Максимизация количества валидаторов, которые могут участвовать в стейкинге (это напрямую подразумевает минимизацию минимального количества ETH, необходимого для стейкинга)
  • Минимизация времени до финальности
  • Минимизация накладных расходов на запуск узла, в данном случае стоимость загрузки, проверки и повторной рассылки всех подписей других валидаторов

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

Обратите внимание, что все это зависит от ключевой цели Ethereum: обеспечение того, чтобы даже успешные атаки обходились атакующему дорого. Это то, что имеется в виду под термином "экономическая окончательность". Если бы у нас не было этой цели, то мы могли бы решить эту проблему, случайно выбирая комитет для завершения каждого слота. Цепочки, которые не стремятся к достижению экономической окончательности, такие как Algorand, часто делают именно это. Но проблема этого подхода заключается в том, что если злоумышленник контролирует 51% валидаторов, то он может осуществить атаку (откат завершенного блока, цензурирование или задержку завершения) по очень низкой цене: только часть их узлов, которые находятся в комитете, могут быть обнаружены как участвующие в атаке и наказаны, будь то через слэшингилисоциально-координированный софтфоркЭто означает, что злоумышленник может многократно атаковать цепочку, теряя лишь небольшую часть своей доли во время каждой атаки. Таким образом, если мы хотим экономической окончательности, наивный подход на основе комитета не работает, и кажется, что нам действительно нужен полный набор валидаторов для участия.

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

  1. Финализируйте блоки в одном слоте (в идеале сохраните или даже уменьшите текущую длину 12 с), вместо 15 мин
  2. Разрешить валидаторам ставить сумму в 1 ETH (вместо 32 ETH)

Первая цель обосновывается двумя целями, обе из которых можно рассматривать как «приближение свойств Ethereum к свойствам (более централизованных) L1-цепей, ориентированных на производительность».

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

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

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

Что это такое и как это работает?

Однослотовая окончательность включает использование алгоритма консенсуса, который завершает блоки в одном слоте. Само по себе это не является сложной задачей: множество алгоритмов, таких как Tendermint консенсус, уже сделать это с оптимальными свойствами. Одно желаемое свойство, уникальное для Ethereum, которое не поддерживает Tendermint, - утечки неактивности, которые позволяют цепочке продолжать работу и в конечном итоге восстанавливаться, даже если более 1/3 валидаторов выходят в офлайн. К счастью, этому желанию уже удовлетворили: есть уже предложениячто модифицируют консенсус в стиле Tendermint для учета утечек неактивности.

Ведущее предложение о завершении одиночного слота

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

  • Вариант 1: Грубая сила - усердно работать над реализацией лучших протоколов агрегации подписей, потенциально используя ZK-SNARKs, что действительно позволит нам обрабатывать подписи от миллионов валидаторов в каждом слоте.

Horn, один из предложенных дизайнов для лучшего протокола агрегации.

  • Вариант 2: Комитеты орбит- новый механизм, который позволяет случайно выбранному комитету среднего размера быть ответственным за завершение цепочки, но таким образом, чтобы сохранить свойства стоимости атаки, которые мы ищем.

    Один из способов мыслить о Orbit SSF заключается в том, что он открывает пространство компромиссных вариантов вдоль спектра от x=0 (комитеты в стиле Algorand, без экономической окончательности) до x=1 (статус кво Ethereum), открывая точки посередине, где у Ethereum все еще достаточно экономической окончательности, чтобы быть чрезвычайно безопасным, но в то же время мы получаем преимущества эффективности, нуждаясь только в среднем случайном выборе валидаторов для участия в каждом слоте.

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

  • Вариант 3: двухуровневое стейкинг - механизм, при котором существуют два класса стейкеров, один с более высокими требованиями к депозиту, а другой с более низкими требованиями к депозиту. Только стейкеры с более высоким депозитом будут непосредственно участвовать в обеспечении экономической окончательности. Существует несколько предложений (например, см.пост о стейкинге Rainbow) для того, чтобы точно знать, какие права и обязанности у нижнего уровня депозита. Общие идеи включают:
    • право делегировать стейк более высокому стейкеру
    • случайная выборка стейкеров нижнего уровня, утверждающих и необходимых для завершения каждого блока
    • право генерациисписки включения

Что осталось сделать, и какие компромиссы?

Есть четыре основных возможных пути (и мы также можем выбрать гибридные пути):

  1. Сохранить статус кво
  2. Метод грубой силы SSF
  3. Orbit SSF
  4. SSF с двухуровневым стейкингом

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

(2) грубо решает проблему с использованием высоких технологий. Для реализации этого требуется агрегировать очень большое количество подписей (1 миллион и более) за очень короткий период времени (5-10 секунд). Один из способов рассмотреть этот подход - это минимизация системной сложности путем полного принятия инкапсулированной сложности.

(3) избегает использования «высоких технологий» и решает проблему с помощью умного переосмысления предположений протокола: мы смягчаем требование «экономической окончательности», чтобы требовать, чтобы атаки были дорогими, но мы готовы к тому, что стоимость атаки может быть в 10 раз меньше, чем сегодня (например, стоимость атаки в $2.5 миллиарда вместо $25 миллиардов). Широко распространено мнение, что сегодня у Ethereum гораздо больше экономической окончательности, чем ей нужно, и ее основные риски безопасности находятся в другом месте, поэтому, возможно, это приемлемый жертвы.

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

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

  • Если низкоуровневому стейкеру необходимо делегировать свои права на аттестацию высокоуровневому стейкеру, то делегирование может централизоваться, и, таким образом, мы получим два высокоцентрализованных уровня стейкинга.
  • Если для утверждения каждого блока требуется случайная выборка нижнего уровня, то злоумышленник может потратить очень малое количество ETH, чтобы заблокировать окончательность.
  • Если стейкеры низшего уровня могут только создавать списки включения, то уровень удостоверения может остаться централизованным, на котором 51% атака на уровне удостоверения может цензурировать сами списки включения.

Можно комбинировать несколько стратегий, например:

(1 + 2): используйте методы грубой силы для уменьшения минимального размера депозита без завершения одного слота. Количество необходимой агрегации меньше в 64 раза, чем в чистом случае (3), поэтому проблема становится проще.

(1 + 3): добавить Орбит без выполнения одиночной финальности слота

(2 + 3): сделать Orbit SSF с консервативными параметрами (например, комитет валидаторов 128k вместо 8k или 32k), и использовать методы грубой силы, чтобы сделать это ультра-эффективным.

(1 + 4): добавить радужный стейкинг без завершения одного слота

Как оно взаимодействует с другими частями дорожной карты?

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

Стратегии грубой силы имеют слабость в том, что они усложняют сокращение времени слота.

Выбор одного секретного лидера

Какую проблему мы решаем?

На сегодняшний день заранее известно, какой валидатор предложит следующий блок. Это создает уязвимость безопасности: злоумышленник может наблюдать за сетью, определять, какие валидаторы соответствуют каким IP-адресам, и DoS-атаковать каждого валидатора прямо в тот момент, когда он собирается предложить блок.

Что это такое и как это работает?

Самый лучший способ исправить проблему DoS - скрыть информацию о том, какой валидатор будет производить следующий блок, по крайней мере до того момента, когда блок действительно производится. Обратите внимание, что это легко сделать, если мы удалим требование "единичности".одно решениепозволяет любому создать следующий блок, но требуетрэндао ревилбыть меньше 2256 / N. В среднем только один валидатор сможет соответствовать этому требованию - но иногда их будет два или более, а иногда не будет ни одного. Сочетание требования «секретности» с требованием «единого» давно является сложной проблемой.

Протоколы выбора одиночного секретного лидера решают эту проблему с помощью некоторых криптографических техник для создания «слепого» идентификатора проверяющего для каждого проверяющего, а затем предоставляют многим предлагающим возможность перемешивать и повторно заслеплять пул слепых идентификаторов (это похоже на то, как это делается.mixnetработает). Во время каждого слота выбирается случайный заслоненный идентификатор. Только владелец этого заслоненного идентификатора может сгенерировать действительное доказательство для предложения блока, но никто другой не знает, к какому валидатору относится этот заслоненный идентификатор.

Протокол Whisk SSLE

Что осталось сделать и какие компромиссы?

В реальности, остается найти и реализовать протокол, который достаточно прост для того, чтобы мы чувствовали себя уверенно его внедрять на основной сети. Мы очень ценим то, что Ethereum является довольно простым протоколом, и мы не хотим, чтобы сложность увеличивалась дальше. Реализации SSLE, которые мы видели, добавляют сотни строк спецификаций кода и внедряют новые предположения в сложной криптографии. Выяснение эффективной достаточно квантово-устойчивой реализации SSLE также является открытой проблемой.

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

Альтернативный вариант - просто не беспокоиться о SSLE и использовать внепротокольные меры (например, на уровне p2p) для решения проблем DoS.

Как оно взаимодействует с другими частями дорожной карты?

Если мы добавим механизм разделения аттестанта-предлагающего (APS), например. билеты на исполнение, затем исполнение блоков (т. е. блоки, содержащие транзакции Ethereum), не потребуется SSLE, потому что мы могли бы полагаться на специализированных строителей блоков. Однако мы по-прежнему получили бы выгоду от SSLE для блоков согласования (т. е. блоков, содержащих протокольные сообщения, такие как утверждения, возможно, кусочки списков включения и т. д.).

Более быстрые подтверждения транзакций

Какую проблему мы решаем?

В Ethereum есть ценностьвремя подтверждения транзакции дальше уменьшается, от 12 секунд до, например, 4 секунд. Это значительно улучшило бы пользовательский опыт как L1, так и основанных на rollups, делая протоколы децентрализованных финансовых приложений более эффективными. Кроме того, это упростило бы децентрализацию L2, поскольку позволило бы большому классу приложений L2 работать на основанные на скрутках, сокращая спрос на L2 для создания собственных комитетных децентрализованных последовательностей.

Что это такое и как это работает?

Здесь существуют два широких семейства техник:

  1. Сократить время слотов, до например.8 секундили 4 секунды. Это не обязательно означает окончательность в 4 секунды: окончательность по своей природе занимает три раунда общения, так что мы можем сделать каждый раунд общения отдельным блоком, который через 4 секунды получит по крайней мере предварительное подтверждение.
  2. Разрешить заявителям публиковать предварительные подтверждения в течение слота. В крайнем случае заявитель может в реальном времени включать транзакции, которые они видят, в свой блок и сразу же публиковать сообщение о предварительном подтверждении для каждой транзакции («Моя первая транзакция - 0×1234...», «Моя вторая транзакция - 0×5678...»). Случай, когда заявитель публикует два конфликтующих подтверждения, можно решить двумя способами: (i) путем сокращения заявителя или (ii) путем использования аттестаторов для голосования, какое из них пришло раньше.

Что осталось сделать, и какие компромиссы?

Далеко не ясно, насколько практично сокращать временные слоты. Даже сегодня стейкеры во многих регионах мира испытывают трудности с быстрым включением аттестаций. Попытка установить временные слоты в 4 секунды несет риск централизации набора валидаторов и делает невозможным быть валидатором за пределами нескольких привилегированных географий из-за задержек. Конкретно, переход к временным слотам в 4 секунды потребовал бы сокращения ограничения на сетевую задержку («дельта») до двух секунд.

Метод предварительного подтверждения предложения имеет недостаток: он может значительно улучшить среднее время включения, но не худший случай: если текущий предложитель хорошо функционирует, ваша транзакция будет предварительно подтверждена за 0,5 секунды вместо включения (в среднем) за 6 секунд, но если текущий предложитель отключен или функционирует неисправно, вам все равно придется ждать до 12 секунд до начала следующего слота и появления нового предложителя.

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

С другой стороны, если мы не попытаемся сделать это и оставим время окончательности на уровне 12 секунд (или больше), экосистема будет больше учитывать предварительные механизмы, созданные слоями 2, и взаимодействие между слоями 2 займет больше времени.

Как она взаимодействует с другими частями дорожной карты?

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

Точно также короткие времена слотов зависят от структуры слотов, которая сильно зависит от того, какие версии APS, списки включения и т. д. мы реализуем. Существуют структуры слотов, содержащие меньше раундов и, следовательно, более дружелюбные к коротким временам слотов, но они делают компромиссы в других местах.

Другие области исследований

Восстановление от атаки на 51%

Часто считается, что если происходит атака 51% (включая атаки, которые невозможно криптографически доказать, такие как цензура), сообщество объединится для реализации Софтфорк меньшинствакоторое гарантирует, что хорошие парни побеждают, а плохие парни либо получают утечку неактивности, либо подвергаются сокращению. Однако этот уровень чрезмерной зависимости от социального слоя, вероятно, нездоровый. Мы можем попытаться сократить зависимость от социального слоя, сделав процесс восстановления как можно более автоматизированным.

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

Увеличение порога кворума

Сегодня блок завершается, если его поддерживают 67% стейкеров. Есть мнение, что это слишком агрессивно. За всю историю Ethereum был только один (очень короткий) сбой финала. Если этот процент увеличить, например. до 80%, то добавленное количество периодов незавершенности будет относительно небольшим, но Ethereum приобретет свойства безопасности: в частности, гораздо больше спорных ситуаций приведут к временной остановке финализации. Это кажется гораздо более здоровой ситуацией, чем «неправильная сторона», получающая мгновенную победу, как когда атакующей является неправильная сторона, так и когда это клиент, у которого есть ошибка.

Это также дает ответ на вопрос «в чем смысл соло-стейкинга»? Сегодня большинство стейкеров уже стейкают через пулы, и кажется маловероятным довести соло-стейкеров до 51% от стейкнутого ETH. Однако доведение соло-стейкеров до кворум-блокирующего меньшинства, особенно если кворум составляет 80% (так что кворум-блокирующему меньшинству нужно всего 21%), кажется потенциально достижимым, если мы усердно работаем над этим. Пока соло-стейкеры не присоединятся к атаке на 51% (будь то отмена финальности или цензура), такая атака не принесет «чистую победу», и соло-стейкеры будут мотивированы помогать организовать миноритарный мягкий форк.

Обратите внимание, что существует взаимодействие между порогами кворума и механизмом Orbit: если мы в конечном итоге будем использовать Orbit, то вопрос о том, что именно означает "21% стейкеров", станет более сложным, и в частности будет зависеть от распределения валидаторов.

Квантовая устойчивость

Metaculus в настоящее время считает, хотя с широкими погрешностями, квантовые компьютеры, вероятно, начнут взламывать криптографию где-то в 2030-х годах:

Эксперты в области квантовых вычислений, такие как Скотт Ааронсон, также недавно начали рассматривать возможность того, что квантовые компьютеры действительно будут работать в среднесрочной перспективенамного серьезнее. Это имеет последствия для всей дорожной карты Ethereum: это означает, что каждый элемент протокола Ethereum, который в настоящее время зависит от эллиптических кривых, должен будет иметь замену, основанную на хешах или другим образом устойчивую к квантовым вычислениям. Это в частности означает, что мы не можем предполагать, что сможем полагаться наотличные свойства агрегации BLSобрабатывать подписи от большого набора валидаторов вечно. Это обосновывает консерватизм в предположениях о производительности конструкций proof-of-stake, а также является причиной быть более проактивным в разработке квантово-стойких альтернатив.

Оговорка:

  1. Этот статья перепечатана из [Виталик Бутерин], All copyrights belong to the original author [Виталик Бутерин]. Если есть возражения против этого переиздания, пожалуйста, свяжитесь с Gate Learnкоманда, и они оперативно разберутся с этим.
  2. Отказ от ответственности: Взгляды и мнения, высказанные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Возможные будущие сценарии протокола Ethereum, часть 1: Слияние

Продвинутый10/22/2024, 4:19:33 AM
В этой статье обсуждается Ethereum "Merge" и исследуются области для улучшения технического дизайна Proof of Stake, а также потенциальные способы достижения этих улучшений.

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

Моя дорожная карта от 2023 года разделила это на сегменты: улучшение технических характеристик, таких как стабильность, производительность и доступность для небольших валидаторов, а также экономические изменения для устранения рисков централизации. Первый взял на себя заголовок «Слияние», а второй стал частью «Плети».

Слияние, издание дорожной карты 2023 года.

Этот пост будет сосредоточен на части "Слияние": что еще можно улучшить в техническом дизайне доказательства доли, и какие есть пути к достижению этого?

Это не предназначено как исчерпывающий список того, что можно сделать для доказательства доли; скорее, это список идей, которые активно рассматриваются.

Слияние: ключевые цели

  • Однократная окончательность слота
  • Подтверждение и завершение транзакции как можно быстрее, сохраняя децентрализацию
  • Улучшить жизнеспособность стейкинга для отдельных стейкеров
  • Улучшить надежность
  • Улучшите способность Ethereum сопротивляться и восстанавливаться после атак на 51% (включая отмену финальности, блокировку финальности и цензуру)

В этой главе

Однократное завершение и демократизация стейкинга

Какую проблему мы решаем?

Сегодня для завершения блока требуется 2-3 эпохи (~15 мин), и для стейкера требуется 32 ETH. Изначально это был компромисс, предназначенный @VitalikButerin/параметризация-casper-децентрализация-окончательность-время-накладные-расходы-компромисс-3f2011672735">баланс между тремя целями:

  • Максимизация количества валидаторов, которые могут участвовать в стейкинге (это напрямую подразумевает минимизацию минимального количества ETH, необходимого для стейкинга)
  • Минимизация времени до финальности
  • Минимизация накладных расходов на запуск узла, в данном случае стоимость загрузки, проверки и повторной рассылки всех подписей других валидаторов

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

Обратите внимание, что все это зависит от ключевой цели Ethereum: обеспечение того, чтобы даже успешные атаки обходились атакующему дорого. Это то, что имеется в виду под термином "экономическая окончательность". Если бы у нас не было этой цели, то мы могли бы решить эту проблему, случайно выбирая комитет для завершения каждого слота. Цепочки, которые не стремятся к достижению экономической окончательности, такие как Algorand, часто делают именно это. Но проблема этого подхода заключается в том, что если злоумышленник контролирует 51% валидаторов, то он может осуществить атаку (откат завершенного блока, цензурирование или задержку завершения) по очень низкой цене: только часть их узлов, которые находятся в комитете, могут быть обнаружены как участвующие в атаке и наказаны, будь то через слэшингилисоциально-координированный софтфоркЭто означает, что злоумышленник может многократно атаковать цепочку, теряя лишь небольшую часть своей доли во время каждой атаки. Таким образом, если мы хотим экономической окончательности, наивный подход на основе комитета не работает, и кажется, что нам действительно нужен полный набор валидаторов для участия.

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

  1. Финализируйте блоки в одном слоте (в идеале сохраните или даже уменьшите текущую длину 12 с), вместо 15 мин
  2. Разрешить валидаторам ставить сумму в 1 ETH (вместо 32 ETH)

Первая цель обосновывается двумя целями, обе из которых можно рассматривать как «приближение свойств Ethereum к свойствам (более централизованных) L1-цепей, ориентированных на производительность».

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

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

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

Что это такое и как это работает?

Однослотовая окончательность включает использование алгоритма консенсуса, который завершает блоки в одном слоте. Само по себе это не является сложной задачей: множество алгоритмов, таких как Tendermint консенсус, уже сделать это с оптимальными свойствами. Одно желаемое свойство, уникальное для Ethereum, которое не поддерживает Tendermint, - утечки неактивности, которые позволяют цепочке продолжать работу и в конечном итоге восстанавливаться, даже если более 1/3 валидаторов выходят в офлайн. К счастью, этому желанию уже удовлетворили: есть уже предложениячто модифицируют консенсус в стиле Tendermint для учета утечек неактивности.

Ведущее предложение о завершении одиночного слота

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

  • Вариант 1: Грубая сила - усердно работать над реализацией лучших протоколов агрегации подписей, потенциально используя ZK-SNARKs, что действительно позволит нам обрабатывать подписи от миллионов валидаторов в каждом слоте.

Horn, один из предложенных дизайнов для лучшего протокола агрегации.

  • Вариант 2: Комитеты орбит- новый механизм, который позволяет случайно выбранному комитету среднего размера быть ответственным за завершение цепочки, но таким образом, чтобы сохранить свойства стоимости атаки, которые мы ищем.

    Один из способов мыслить о Orbit SSF заключается в том, что он открывает пространство компромиссных вариантов вдоль спектра от x=0 (комитеты в стиле Algorand, без экономической окончательности) до x=1 (статус кво Ethereum), открывая точки посередине, где у Ethereum все еще достаточно экономической окончательности, чтобы быть чрезвычайно безопасным, но в то же время мы получаем преимущества эффективности, нуждаясь только в среднем случайном выборе валидаторов для участия в каждом слоте.

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

  • Вариант 3: двухуровневое стейкинг - механизм, при котором существуют два класса стейкеров, один с более высокими требованиями к депозиту, а другой с более низкими требованиями к депозиту. Только стейкеры с более высоким депозитом будут непосредственно участвовать в обеспечении экономической окончательности. Существует несколько предложений (например, см.пост о стейкинге Rainbow) для того, чтобы точно знать, какие права и обязанности у нижнего уровня депозита. Общие идеи включают:
    • право делегировать стейк более высокому стейкеру
    • случайная выборка стейкеров нижнего уровня, утверждающих и необходимых для завершения каждого блока
    • право генерациисписки включения

Что осталось сделать, и какие компромиссы?

Есть четыре основных возможных пути (и мы также можем выбрать гибридные пути):

  1. Сохранить статус кво
  2. Метод грубой силы SSF
  3. Orbit SSF
  4. SSF с двухуровневым стейкингом

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

(2) грубо решает проблему с использованием высоких технологий. Для реализации этого требуется агрегировать очень большое количество подписей (1 миллион и более) за очень короткий период времени (5-10 секунд). Один из способов рассмотреть этот подход - это минимизация системной сложности путем полного принятия инкапсулированной сложности.

(3) избегает использования «высоких технологий» и решает проблему с помощью умного переосмысления предположений протокола: мы смягчаем требование «экономической окончательности», чтобы требовать, чтобы атаки были дорогими, но мы готовы к тому, что стоимость атаки может быть в 10 раз меньше, чем сегодня (например, стоимость атаки в $2.5 миллиарда вместо $25 миллиардов). Широко распространено мнение, что сегодня у Ethereum гораздо больше экономической окончательности, чем ей нужно, и ее основные риски безопасности находятся в другом месте, поэтому, возможно, это приемлемый жертвы.

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

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

  • Если низкоуровневому стейкеру необходимо делегировать свои права на аттестацию высокоуровневому стейкеру, то делегирование может централизоваться, и, таким образом, мы получим два высокоцентрализованных уровня стейкинга.
  • Если для утверждения каждого блока требуется случайная выборка нижнего уровня, то злоумышленник может потратить очень малое количество ETH, чтобы заблокировать окончательность.
  • Если стейкеры низшего уровня могут только создавать списки включения, то уровень удостоверения может остаться централизованным, на котором 51% атака на уровне удостоверения может цензурировать сами списки включения.

Можно комбинировать несколько стратегий, например:

(1 + 2): используйте методы грубой силы для уменьшения минимального размера депозита без завершения одного слота. Количество необходимой агрегации меньше в 64 раза, чем в чистом случае (3), поэтому проблема становится проще.

(1 + 3): добавить Орбит без выполнения одиночной финальности слота

(2 + 3): сделать Orbit SSF с консервативными параметрами (например, комитет валидаторов 128k вместо 8k или 32k), и использовать методы грубой силы, чтобы сделать это ультра-эффективным.

(1 + 4): добавить радужный стейкинг без завершения одного слота

Как оно взаимодействует с другими частями дорожной карты?

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

Стратегии грубой силы имеют слабость в том, что они усложняют сокращение времени слота.

Выбор одного секретного лидера

Какую проблему мы решаем?

На сегодняшний день заранее известно, какой валидатор предложит следующий блок. Это создает уязвимость безопасности: злоумышленник может наблюдать за сетью, определять, какие валидаторы соответствуют каким IP-адресам, и DoS-атаковать каждого валидатора прямо в тот момент, когда он собирается предложить блок.

Что это такое и как это работает?

Самый лучший способ исправить проблему DoS - скрыть информацию о том, какой валидатор будет производить следующий блок, по крайней мере до того момента, когда блок действительно производится. Обратите внимание, что это легко сделать, если мы удалим требование "единичности".одно решениепозволяет любому создать следующий блок, но требуетрэндао ревилбыть меньше 2256 / N. В среднем только один валидатор сможет соответствовать этому требованию - но иногда их будет два или более, а иногда не будет ни одного. Сочетание требования «секретности» с требованием «единого» давно является сложной проблемой.

Протоколы выбора одиночного секретного лидера решают эту проблему с помощью некоторых криптографических техник для создания «слепого» идентификатора проверяющего для каждого проверяющего, а затем предоставляют многим предлагающим возможность перемешивать и повторно заслеплять пул слепых идентификаторов (это похоже на то, как это делается.mixnetработает). Во время каждого слота выбирается случайный заслоненный идентификатор. Только владелец этого заслоненного идентификатора может сгенерировать действительное доказательство для предложения блока, но никто другой не знает, к какому валидатору относится этот заслоненный идентификатор.

Протокол Whisk SSLE

Что осталось сделать и какие компромиссы?

В реальности, остается найти и реализовать протокол, который достаточно прост для того, чтобы мы чувствовали себя уверенно его внедрять на основной сети. Мы очень ценим то, что Ethereum является довольно простым протоколом, и мы не хотим, чтобы сложность увеличивалась дальше. Реализации SSLE, которые мы видели, добавляют сотни строк спецификаций кода и внедряют новые предположения в сложной криптографии. Выяснение эффективной достаточно квантово-устойчивой реализации SSLE также является открытой проблемой.

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

Альтернативный вариант - просто не беспокоиться о SSLE и использовать внепротокольные меры (например, на уровне p2p) для решения проблем DoS.

Как оно взаимодействует с другими частями дорожной карты?

Если мы добавим механизм разделения аттестанта-предлагающего (APS), например. билеты на исполнение, затем исполнение блоков (т. е. блоки, содержащие транзакции Ethereum), не потребуется SSLE, потому что мы могли бы полагаться на специализированных строителей блоков. Однако мы по-прежнему получили бы выгоду от SSLE для блоков согласования (т. е. блоков, содержащих протокольные сообщения, такие как утверждения, возможно, кусочки списков включения и т. д.).

Более быстрые подтверждения транзакций

Какую проблему мы решаем?

В Ethereum есть ценностьвремя подтверждения транзакции дальше уменьшается, от 12 секунд до, например, 4 секунд. Это значительно улучшило бы пользовательский опыт как L1, так и основанных на rollups, делая протоколы децентрализованных финансовых приложений более эффективными. Кроме того, это упростило бы децентрализацию L2, поскольку позволило бы большому классу приложений L2 работать на основанные на скрутках, сокращая спрос на L2 для создания собственных комитетных децентрализованных последовательностей.

Что это такое и как это работает?

Здесь существуют два широких семейства техник:

  1. Сократить время слотов, до например.8 секундили 4 секунды. Это не обязательно означает окончательность в 4 секунды: окончательность по своей природе занимает три раунда общения, так что мы можем сделать каждый раунд общения отдельным блоком, который через 4 секунды получит по крайней мере предварительное подтверждение.
  2. Разрешить заявителям публиковать предварительные подтверждения в течение слота. В крайнем случае заявитель может в реальном времени включать транзакции, которые они видят, в свой блок и сразу же публиковать сообщение о предварительном подтверждении для каждой транзакции («Моя первая транзакция - 0×1234...», «Моя вторая транзакция - 0×5678...»). Случай, когда заявитель публикует два конфликтующих подтверждения, можно решить двумя способами: (i) путем сокращения заявителя или (ii) путем использования аттестаторов для голосования, какое из них пришло раньше.

Что осталось сделать, и какие компромиссы?

Далеко не ясно, насколько практично сокращать временные слоты. Даже сегодня стейкеры во многих регионах мира испытывают трудности с быстрым включением аттестаций. Попытка установить временные слоты в 4 секунды несет риск централизации набора валидаторов и делает невозможным быть валидатором за пределами нескольких привилегированных географий из-за задержек. Конкретно, переход к временным слотам в 4 секунды потребовал бы сокращения ограничения на сетевую задержку («дельта») до двух секунд.

Метод предварительного подтверждения предложения имеет недостаток: он может значительно улучшить среднее время включения, но не худший случай: если текущий предложитель хорошо функционирует, ваша транзакция будет предварительно подтверждена за 0,5 секунды вместо включения (в среднем) за 6 секунд, но если текущий предложитель отключен или функционирует неисправно, вам все равно придется ждать до 12 секунд до начала следующего слота и появления нового предложителя.

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

С другой стороны, если мы не попытаемся сделать это и оставим время окончательности на уровне 12 секунд (или больше), экосистема будет больше учитывать предварительные механизмы, созданные слоями 2, и взаимодействие между слоями 2 займет больше времени.

Как она взаимодействует с другими частями дорожной карты?

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

Точно также короткие времена слотов зависят от структуры слотов, которая сильно зависит от того, какие версии APS, списки включения и т. д. мы реализуем. Существуют структуры слотов, содержащие меньше раундов и, следовательно, более дружелюбные к коротким временам слотов, но они делают компромиссы в других местах.

Другие области исследований

Восстановление от атаки на 51%

Часто считается, что если происходит атака 51% (включая атаки, которые невозможно криптографически доказать, такие как цензура), сообщество объединится для реализации Софтфорк меньшинствакоторое гарантирует, что хорошие парни побеждают, а плохие парни либо получают утечку неактивности, либо подвергаются сокращению. Однако этот уровень чрезмерной зависимости от социального слоя, вероятно, нездоровый. Мы можем попытаться сократить зависимость от социального слоя, сделав процесс восстановления как можно более автоматизированным.

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

Увеличение порога кворума

Сегодня блок завершается, если его поддерживают 67% стейкеров. Есть мнение, что это слишком агрессивно. За всю историю Ethereum был только один (очень короткий) сбой финала. Если этот процент увеличить, например. до 80%, то добавленное количество периодов незавершенности будет относительно небольшим, но Ethereum приобретет свойства безопасности: в частности, гораздо больше спорных ситуаций приведут к временной остановке финализации. Это кажется гораздо более здоровой ситуацией, чем «неправильная сторона», получающая мгновенную победу, как когда атакующей является неправильная сторона, так и когда это клиент, у которого есть ошибка.

Это также дает ответ на вопрос «в чем смысл соло-стейкинга»? Сегодня большинство стейкеров уже стейкают через пулы, и кажется маловероятным довести соло-стейкеров до 51% от стейкнутого ETH. Однако доведение соло-стейкеров до кворум-блокирующего меньшинства, особенно если кворум составляет 80% (так что кворум-блокирующему меньшинству нужно всего 21%), кажется потенциально достижимым, если мы усердно работаем над этим. Пока соло-стейкеры не присоединятся к атаке на 51% (будь то отмена финальности или цензура), такая атака не принесет «чистую победу», и соло-стейкеры будут мотивированы помогать организовать миноритарный мягкий форк.

Обратите внимание, что существует взаимодействие между порогами кворума и механизмом Orbit: если мы в конечном итоге будем использовать Orbit, то вопрос о том, что именно означает "21% стейкеров", станет более сложным, и в частности будет зависеть от распределения валидаторов.

Квантовая устойчивость

Metaculus в настоящее время считает, хотя с широкими погрешностями, квантовые компьютеры, вероятно, начнут взламывать криптографию где-то в 2030-х годах:

Эксперты в области квантовых вычислений, такие как Скотт Ааронсон, также недавно начали рассматривать возможность того, что квантовые компьютеры действительно будут работать в среднесрочной перспективенамного серьезнее. Это имеет последствия для всей дорожной карты Ethereum: это означает, что каждый элемент протокола Ethereum, который в настоящее время зависит от эллиптических кривых, должен будет иметь замену, основанную на хешах или другим образом устойчивую к квантовым вычислениям. Это в частности означает, что мы не можем предполагать, что сможем полагаться наотличные свойства агрегации BLSобрабатывать подписи от большого набора валидаторов вечно. Это обосновывает консерватизм в предположениях о производительности конструкций proof-of-stake, а также является причиной быть более проактивным в разработке квантово-стойких альтернатив.

Оговорка:

  1. Этот статья перепечатана из [Виталик Бутерин], All copyrights belong to the original author [Виталик Бутерин]. Если есть возражения против этого переиздания, пожалуйста, свяжитесь с Gate Learnкоманда, и они оперативно разберутся с этим.
  2. Отказ от ответственности: Взгляды и мнения, высказанные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!