Изначально термин "слияние" относился к самому важному событию в истории протокола Ethereum с момента его запуска: долгожданный и заслуженный переход от доказательства работы к доказательству доли. Сегодня Ethereum уже почти два года стабильно функционирует как система доказательства доли, и это доказательство доли продемонстрировало выдающиеся результаты в устойчивость, производительность и избегая рисков централизации. Однако все еще существуют некоторые важные области, в которых доказательство доли должно улучшиться.
Моя дорожная карта от 2023 года разделила это на сегменты: улучшение технических характеристик, таких как стабильность, производительность и доступность для небольших валидаторов, а также экономические изменения для устранения рисков централизации. Первый взял на себя заголовок «Слияние», а второй стал частью «Плети».
Слияние, издание дорожной карты 2023 года.
Этот пост будет сосредоточен на части "Слияние": что еще можно улучшить в техническом дизайне доказательства доли, и какие есть пути к достижению этого?
Это не предназначено как исчерпывающий список того, что можно сделать для доказательства доли; скорее, это список идей, которые активно рассматриваются.
Сегодня для завершения блока требуется 2-3 эпохи (~15 мин), и для стейкера требуется 32 ETH. Изначально это был компромисс, предназначенный @VitalikButerin/параметризация-casper-децентрализация-окончательность-время-накладные-расходы-компромисс-3f2011672735">баланс между тремя целями:
Три цели стоят в противоречии: чтобы экономическая окончательность была возможной (то есть, злоумышленнику нужно сжечь большое количество ETH, чтобы отменить окончательный блок), вам нужно, чтобы каждый валидатор подписывал два сообщения каждый раз, когда происходит окончательность. Итак, если у вас много валидаторов, вам нужно либо много времени, чтобы обработать все их подписи, либо вам нужны очень мощные узлы для обработки всех подписей одновременно.
Обратите внимание, что все это зависит от ключевой цели Ethereum: обеспечение того, чтобы даже успешные атаки обходились атакующему дорого. Это то, что имеется в виду под термином "экономическая окончательность". Если бы у нас не было этой цели, то мы могли бы решить эту проблему, случайно выбирая комитет для завершения каждого слота. Цепочки, которые не стремятся к достижению экономической окончательности, такие как Algorand, часто делают именно это. Но проблема этого подхода заключается в том, что если злоумышленник контролирует 51% валидаторов, то он может осуществить атаку (откат завершенного блока, цензурирование или задержку завершения) по очень низкой цене: только часть их узлов, которые находятся в комитете, могут быть обнаружены как участвующие в атаке и наказаны, будь то через слэшингилисоциально-координированный софтфоркЭто означает, что злоумышленник может многократно атаковать цепочку, теряя лишь небольшую часть своей доли во время каждой атаки. Таким образом, если мы хотим экономической окончательности, наивный подход на основе комитета не работает, и кажется, что нам действительно нужен полный набор валидаторов для участия.
Идеальным вариантом является сохранение экономической окончательности, одновременно улучшая текущее положение дел в двух областях:
Первая цель обосновывается двумя целями, обе из которых можно рассматривать как «приближение свойств Ethereum к свойствам (более централизованных) L1-цепей, ориентированных на производительность».
Во-первых, он обеспечивает, чтобы все пользователи Ethereum действительно получали выгоду от более высокого уровня обеспечения безопасности, достигнутого благодаря механизму окончательности. Сегодня большинство пользователей этого не делают, потому что они не желают ждать 15 минут; с окончательностью в один слот пользователи увидят, что их транзакции завершаются почти сразу после подтверждения. Во-вторых, это упрощает протокол и окружающую инфраструктуру, если пользователи и приложения не должны беспокоиться о возможности отката цепи, за исключением относительно редкого случаяутечка неактивности.
Вторая цель обоснована желанием поддержать отдельных стейкеров. Опрос за опросом постоянно показывает, что основным фактором, препятствующим большему числу людей заниматься сольным стейкингом, является минимальное количество 32 ETH. Уменьшение минимума до 1 ETH решило бы эту проблему настолько, что другие беспокойства становятся доминирующим фактором, ограничивающим сольный стейкинг.
Существует проблема: цели более быстрой окончательности и более демократизированного стейкинга противоречат цели минимизации накладных расходов. И действительно, именно поэтому мы не начали с однослотовой окончательности. Однако более поздние исследования предлагают несколько возможных путей решения проблемы.
Однослотовая окончательность включает использование алгоритма консенсуса, который завершает блоки в одном слоте. Само по себе это не является сложной задачей: множество алгоритмов, таких как Tendermint консенсус, уже сделать это с оптимальными свойствами. Одно желаемое свойство, уникальное для Ethereum, которое не поддерживает Tendermint, - утечки неактивности, которые позволяют цепочке продолжать работу и в конечном итоге восстанавливаться, даже если более 1/3 валидаторов выходят в офлайн. К счастью, этому желанию уже удовлетворили: есть уже предложениячто модифицируют консенсус в стиле Tendermint для учета утечек неактивности.
Ведущее предложение о завершении одиночного слота
Более сложная часть проблемы заключается в том, как добиться работы однослотовой окончательности с очень большим количеством валидаторов, не приводя к чрезвычайно высоким накладным расходам на оператора узла. Для этого существует несколько ведущих решений:
Horn, один из предложенных дизайнов для лучшего протокола агрегации.
Вариант 2: Комитеты орбит- новый механизм, который позволяет случайно выбранному комитету среднего размера быть ответственным за завершение цепочки, но таким образом, чтобы сохранить свойства стоимости атаки, которые мы ищем.
Один из способов мыслить о Orbit SSF заключается в том, что он открывает пространство компромиссных вариантов вдоль спектра от x=0 (комитеты в стиле Algorand, без экономической окончательности) до x=1 (статус кво Ethereum), открывая точки посередине, где у Ethereum все еще достаточно экономической окончательности, чтобы быть чрезвычайно безопасным, но в то же время мы получаем преимущества эффективности, нуждаясь только в среднем случайном выборе валидаторов для участия в каждом слоте.
Orbit использует существующее разнообразие размеров депозитов валидаторов для достижения максимальной экономической окончательности, сохраняя при этом пропорциональную роль маленьких валидаторов. Кроме того, Orbit использует медленную ротацию комитета, чтобы обеспечить высокую степень перекрытия между смежными кворумами, гарантируя, что его экономическая окончательность все еще применима на границах переключения комитетов.
Есть четыре основных возможных пути (и мы также можем выбрать гибридные пути):
(1) означает не делать никакой работы и оставлять стейкинг как есть, но это делает опыт безопасности Ethereum и свойства централизации стейкинга хуже, чем могло бы быть.
(2) грубо решает проблему с использованием высоких технологий. Для реализации этого требуется агрегировать очень большое количество подписей (1 миллион и более) за очень короткий период времени (5-10 секунд). Один из способов рассмотреть этот подход - это минимизация системной сложности путем полного принятия инкапсулированной сложности.
(3) избегает использования «высоких технологий» и решает проблему с помощью умного переосмысления предположений протокола: мы смягчаем требование «экономической окончательности», чтобы требовать, чтобы атаки были дорогими, но мы готовы к тому, что стоимость атаки может быть в 10 раз меньше, чем сегодня (например, стоимость атаки в $2.5 миллиарда вместо $25 миллиардов). Широко распространено мнение, что сегодня у Ethereum гораздо больше экономической окончательности, чем ей нужно, и ее основные риски безопасности находятся в другом месте, поэтому, возможно, это приемлемый жертвы.
Основная работа заключается в проверке того, что механизм Орбит безопасен и обладает нужными свойствами, а затем полномасштабной формализации и реализации. Кроме того, EIP-7251 (увеличение максимального эффективного баланса) позволяет добровольно консолидировать баланс валидатора, что сразу же несколько снижает накладные расходы на проверку цепочки и выступает в качестве эффективного начального этапа для развертывания Orbit.
(4) избегает умного переосмысления и высоких технологий, но создает двухуровневую систему стейкинга, которая все еще имеет риски централизации. Риски сильно зависят от конкретных прав, которые получает нижний уровень стейкинга. Например:
Можно комбинировать несколько стратегий, например:
(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 для создания собственных комитетных децентрализованных последовательностей.
Здесь существуют два широких семейства техник:
Далеко не ясно, насколько практично сокращать временные слоты. Даже сегодня стейкеры во многих регионах мира испытывают трудности с быстрым включением аттестаций. Попытка установить временные слоты в 4 секунды несет риск централизации набора валидаторов и делает невозможным быть валидатором за пределами нескольких привилегированных географий из-за задержек. Конкретно, переход к временным слотам в 4 секунды потребовал бы сокращения ограничения на сетевую задержку («дельта») до двух секунд.
Метод предварительного подтверждения предложения имеет недостаток: он может значительно улучшить среднее время включения, но не худший случай: если текущий предложитель хорошо функционирует, ваша транзакция будет предварительно подтверждена за 0,5 секунды вместо включения (в среднем) за 6 секунд, но если текущий предложитель отключен или функционирует неисправно, вам все равно придется ждать до 12 секунд до начала следующего слота и появления нового предложителя.
Кроме того, существует открытый вопрос о том, как будет поощряться предварительное подтверждение. Предложившие имеют стимул максимизировать свои возможности как можно дольше. Если утверждающие подписывают свои подтверждения о своевременности, то отправители транзакций могли бы сделать часть комиссии зависимой от немедленного предварительного подтверждения, но это могло бы повлечь дополнительную нагрузку на утверждающих и, возможно, затруднить им продолжение работы в качестве нейтрального «глупого канала».
С другой стороны, если мы не попытаемся сделать это и оставим время окончательности на уровне 12 секунд (или больше), экосистема будет больше учитывать предварительные механизмы, созданные слоями 2, и взаимодействие между слоями 2 займет больше времени.
Предложения, основанные на предварительном подтверждении, реалистично зависят от механизма разделения аттестанта-предложителя (APS), например. билеты на исполнениеВ противном случае давление на обеспечение мгновенных предварительных подтверждений может быть слишком централизующим для обычных валидаторов.
Точно также короткие времена слотов зависят от структуры слотов, которая сильно зависит от того, какие версии APS, списки включения и т. д. мы реализуем. Существуют структуры слотов, содержащие меньше раундов и, следовательно, более дружелюбные к коротким временам слотов, но они делают компромиссы в других местах.
Часто считается, что если происходит атака 51% (включая атаки, которые невозможно криптографически доказать, такие как цензура), сообщество объединится для реализации Софтфорк меньшинствакоторое гарантирует, что хорошие парни побеждают, а плохие парни либо получают утечку неактивности, либо подвергаются сокращению. Однако этот уровень чрезмерной зависимости от социального слоя, вероятно, нездоровый. Мы можем попытаться сократить зависимость от социального слоя, сделав процесс восстановления как можно более автоматизированным.
Полная автоматизация невозможна, потому что если бы она была возможной, это считалось бы как алгоритм консенсуса с уровнем отказоустойчивости более 50%, и мы уже знаем (очень ограничительный)математически доказуемые ограничения таких алгоритмов. Но мы можем добиться частичной автоматизации: например, клиент может автоматически отказаться принимать цепочку в качестве завершенной или даже в качестве главного выбора вилки, если она цензурирует транзакции, которые клиент видел достаточно долго. Одной из ключевых целей было бы обеспечить, чтобы плохие парни в атаке хотя бы не могли быстро получить чистую победу.
Сегодня блок завершается, если его поддерживают 67% стейкеров. Есть мнение, что это слишком агрессивно. За всю историю Ethereum был только один (очень короткий) сбой финала. Если этот процент увеличить, например. до 80%, то добавленное количество периодов незавершенности будет относительно небольшим, но Ethereum приобретет свойства безопасности: в частности, гораздо больше спорных ситуаций приведут к временной остановке финализации. Это кажется гораздо более здоровой ситуацией, чем «неправильная сторона», получающая мгновенную победу, как когда атакующей является неправильная сторона, так и когда это клиент, у которого есть ошибка.
Это также дает ответ на вопрос «в чем смысл соло-стейкинга»? Сегодня большинство стейкеров уже стейкают через пулы, и кажется маловероятным довести соло-стейкеров до 51% от стейкнутого ETH. Однако доведение соло-стейкеров до кворум-блокирующего меньшинства, особенно если кворум составляет 80% (так что кворум-блокирующему меньшинству нужно всего 21%), кажется потенциально достижимым, если мы усердно работаем над этим. Пока соло-стейкеры не присоединятся к атаке на 51% (будь то отмена финальности или цензура), такая атака не принесет «чистую победу», и соло-стейкеры будут мотивированы помогать организовать миноритарный мягкий форк.
Обратите внимание, что существует взаимодействие между порогами кворума и механизмом Orbit: если мы в конечном итоге будем использовать Orbit, то вопрос о том, что именно означает "21% стейкеров", станет более сложным, и в частности будет зависеть от распределения валидаторов.
Metaculus в настоящее время считает, хотя с широкими погрешностями, квантовые компьютеры, вероятно, начнут взламывать криптографию где-то в 2030-х годах:
Эксперты в области квантовых вычислений, такие как Скотт Ааронсон, также недавно начали рассматривать возможность того, что квантовые компьютеры действительно будут работать в среднесрочной перспективенамного серьезнее. Это имеет последствия для всей дорожной карты Ethereum: это означает, что каждый элемент протокола Ethereum, который в настоящее время зависит от эллиптических кривых, должен будет иметь замену, основанную на хешах или другим образом устойчивую к квантовым вычислениям. Это в частности означает, что мы не можем предполагать, что сможем полагаться наотличные свойства агрегации BLSобрабатывать подписи от большого набора валидаторов вечно. Это обосновывает консерватизм в предположениях о производительности конструкций proof-of-stake, а также является причиной быть более проактивным в разработке квантово-стойких альтернатив.
Изначально термин "слияние" относился к самому важному событию в истории протокола Ethereum с момента его запуска: долгожданный и заслуженный переход от доказательства работы к доказательству доли. Сегодня Ethereum уже почти два года стабильно функционирует как система доказательства доли, и это доказательство доли продемонстрировало выдающиеся результаты в устойчивость, производительность и избегая рисков централизации. Однако все еще существуют некоторые важные области, в которых доказательство доли должно улучшиться.
Моя дорожная карта от 2023 года разделила это на сегменты: улучшение технических характеристик, таких как стабильность, производительность и доступность для небольших валидаторов, а также экономические изменения для устранения рисков централизации. Первый взял на себя заголовок «Слияние», а второй стал частью «Плети».
Слияние, издание дорожной карты 2023 года.
Этот пост будет сосредоточен на части "Слияние": что еще можно улучшить в техническом дизайне доказательства доли, и какие есть пути к достижению этого?
Это не предназначено как исчерпывающий список того, что можно сделать для доказательства доли; скорее, это список идей, которые активно рассматриваются.
Сегодня для завершения блока требуется 2-3 эпохи (~15 мин), и для стейкера требуется 32 ETH. Изначально это был компромисс, предназначенный @VitalikButerin/параметризация-casper-децентрализация-окончательность-время-накладные-расходы-компромисс-3f2011672735">баланс между тремя целями:
Три цели стоят в противоречии: чтобы экономическая окончательность была возможной (то есть, злоумышленнику нужно сжечь большое количество ETH, чтобы отменить окончательный блок), вам нужно, чтобы каждый валидатор подписывал два сообщения каждый раз, когда происходит окончательность. Итак, если у вас много валидаторов, вам нужно либо много времени, чтобы обработать все их подписи, либо вам нужны очень мощные узлы для обработки всех подписей одновременно.
Обратите внимание, что все это зависит от ключевой цели Ethereum: обеспечение того, чтобы даже успешные атаки обходились атакующему дорого. Это то, что имеется в виду под термином "экономическая окончательность". Если бы у нас не было этой цели, то мы могли бы решить эту проблему, случайно выбирая комитет для завершения каждого слота. Цепочки, которые не стремятся к достижению экономической окончательности, такие как Algorand, часто делают именно это. Но проблема этого подхода заключается в том, что если злоумышленник контролирует 51% валидаторов, то он может осуществить атаку (откат завершенного блока, цензурирование или задержку завершения) по очень низкой цене: только часть их узлов, которые находятся в комитете, могут быть обнаружены как участвующие в атаке и наказаны, будь то через слэшингилисоциально-координированный софтфоркЭто означает, что злоумышленник может многократно атаковать цепочку, теряя лишь небольшую часть своей доли во время каждой атаки. Таким образом, если мы хотим экономической окончательности, наивный подход на основе комитета не работает, и кажется, что нам действительно нужен полный набор валидаторов для участия.
Идеальным вариантом является сохранение экономической окончательности, одновременно улучшая текущее положение дел в двух областях:
Первая цель обосновывается двумя целями, обе из которых можно рассматривать как «приближение свойств Ethereum к свойствам (более централизованных) L1-цепей, ориентированных на производительность».
Во-первых, он обеспечивает, чтобы все пользователи Ethereum действительно получали выгоду от более высокого уровня обеспечения безопасности, достигнутого благодаря механизму окончательности. Сегодня большинство пользователей этого не делают, потому что они не желают ждать 15 минут; с окончательностью в один слот пользователи увидят, что их транзакции завершаются почти сразу после подтверждения. Во-вторых, это упрощает протокол и окружающую инфраструктуру, если пользователи и приложения не должны беспокоиться о возможности отката цепи, за исключением относительно редкого случаяутечка неактивности.
Вторая цель обоснована желанием поддержать отдельных стейкеров. Опрос за опросом постоянно показывает, что основным фактором, препятствующим большему числу людей заниматься сольным стейкингом, является минимальное количество 32 ETH. Уменьшение минимума до 1 ETH решило бы эту проблему настолько, что другие беспокойства становятся доминирующим фактором, ограничивающим сольный стейкинг.
Существует проблема: цели более быстрой окончательности и более демократизированного стейкинга противоречат цели минимизации накладных расходов. И действительно, именно поэтому мы не начали с однослотовой окончательности. Однако более поздние исследования предлагают несколько возможных путей решения проблемы.
Однослотовая окончательность включает использование алгоритма консенсуса, который завершает блоки в одном слоте. Само по себе это не является сложной задачей: множество алгоритмов, таких как Tendermint консенсус, уже сделать это с оптимальными свойствами. Одно желаемое свойство, уникальное для Ethereum, которое не поддерживает Tendermint, - утечки неактивности, которые позволяют цепочке продолжать работу и в конечном итоге восстанавливаться, даже если более 1/3 валидаторов выходят в офлайн. К счастью, этому желанию уже удовлетворили: есть уже предложениячто модифицируют консенсус в стиле Tendermint для учета утечек неактивности.
Ведущее предложение о завершении одиночного слота
Более сложная часть проблемы заключается в том, как добиться работы однослотовой окончательности с очень большим количеством валидаторов, не приводя к чрезвычайно высоким накладным расходам на оператора узла. Для этого существует несколько ведущих решений:
Horn, один из предложенных дизайнов для лучшего протокола агрегации.
Вариант 2: Комитеты орбит- новый механизм, который позволяет случайно выбранному комитету среднего размера быть ответственным за завершение цепочки, но таким образом, чтобы сохранить свойства стоимости атаки, которые мы ищем.
Один из способов мыслить о Orbit SSF заключается в том, что он открывает пространство компромиссных вариантов вдоль спектра от x=0 (комитеты в стиле Algorand, без экономической окончательности) до x=1 (статус кво Ethereum), открывая точки посередине, где у Ethereum все еще достаточно экономической окончательности, чтобы быть чрезвычайно безопасным, но в то же время мы получаем преимущества эффективности, нуждаясь только в среднем случайном выборе валидаторов для участия в каждом слоте.
Orbit использует существующее разнообразие размеров депозитов валидаторов для достижения максимальной экономической окончательности, сохраняя при этом пропорциональную роль маленьких валидаторов. Кроме того, Orbit использует медленную ротацию комитета, чтобы обеспечить высокую степень перекрытия между смежными кворумами, гарантируя, что его экономическая окончательность все еще применима на границах переключения комитетов.
Есть четыре основных возможных пути (и мы также можем выбрать гибридные пути):
(1) означает не делать никакой работы и оставлять стейкинг как есть, но это делает опыт безопасности Ethereum и свойства централизации стейкинга хуже, чем могло бы быть.
(2) грубо решает проблему с использованием высоких технологий. Для реализации этого требуется агрегировать очень большое количество подписей (1 миллион и более) за очень короткий период времени (5-10 секунд). Один из способов рассмотреть этот подход - это минимизация системной сложности путем полного принятия инкапсулированной сложности.
(3) избегает использования «высоких технологий» и решает проблему с помощью умного переосмысления предположений протокола: мы смягчаем требование «экономической окончательности», чтобы требовать, чтобы атаки были дорогими, но мы готовы к тому, что стоимость атаки может быть в 10 раз меньше, чем сегодня (например, стоимость атаки в $2.5 миллиарда вместо $25 миллиардов). Широко распространено мнение, что сегодня у Ethereum гораздо больше экономической окончательности, чем ей нужно, и ее основные риски безопасности находятся в другом месте, поэтому, возможно, это приемлемый жертвы.
Основная работа заключается в проверке того, что механизм Орбит безопасен и обладает нужными свойствами, а затем полномасштабной формализации и реализации. Кроме того, EIP-7251 (увеличение максимального эффективного баланса) позволяет добровольно консолидировать баланс валидатора, что сразу же несколько снижает накладные расходы на проверку цепочки и выступает в качестве эффективного начального этапа для развертывания Orbit.
(4) избегает умного переосмысления и высоких технологий, но создает двухуровневую систему стейкинга, которая все еще имеет риски централизации. Риски сильно зависят от конкретных прав, которые получает нижний уровень стейкинга. Например:
Можно комбинировать несколько стратегий, например:
(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 для создания собственных комитетных децентрализованных последовательностей.
Здесь существуют два широких семейства техник:
Далеко не ясно, насколько практично сокращать временные слоты. Даже сегодня стейкеры во многих регионах мира испытывают трудности с быстрым включением аттестаций. Попытка установить временные слоты в 4 секунды несет риск централизации набора валидаторов и делает невозможным быть валидатором за пределами нескольких привилегированных географий из-за задержек. Конкретно, переход к временным слотам в 4 секунды потребовал бы сокращения ограничения на сетевую задержку («дельта») до двух секунд.
Метод предварительного подтверждения предложения имеет недостаток: он может значительно улучшить среднее время включения, но не худший случай: если текущий предложитель хорошо функционирует, ваша транзакция будет предварительно подтверждена за 0,5 секунды вместо включения (в среднем) за 6 секунд, но если текущий предложитель отключен или функционирует неисправно, вам все равно придется ждать до 12 секунд до начала следующего слота и появления нового предложителя.
Кроме того, существует открытый вопрос о том, как будет поощряться предварительное подтверждение. Предложившие имеют стимул максимизировать свои возможности как можно дольше. Если утверждающие подписывают свои подтверждения о своевременности, то отправители транзакций могли бы сделать часть комиссии зависимой от немедленного предварительного подтверждения, но это могло бы повлечь дополнительную нагрузку на утверждающих и, возможно, затруднить им продолжение работы в качестве нейтрального «глупого канала».
С другой стороны, если мы не попытаемся сделать это и оставим время окончательности на уровне 12 секунд (или больше), экосистема будет больше учитывать предварительные механизмы, созданные слоями 2, и взаимодействие между слоями 2 займет больше времени.
Предложения, основанные на предварительном подтверждении, реалистично зависят от механизма разделения аттестанта-предложителя (APS), например. билеты на исполнениеВ противном случае давление на обеспечение мгновенных предварительных подтверждений может быть слишком централизующим для обычных валидаторов.
Точно также короткие времена слотов зависят от структуры слотов, которая сильно зависит от того, какие версии APS, списки включения и т. д. мы реализуем. Существуют структуры слотов, содержащие меньше раундов и, следовательно, более дружелюбные к коротким временам слотов, но они делают компромиссы в других местах.
Часто считается, что если происходит атака 51% (включая атаки, которые невозможно криптографически доказать, такие как цензура), сообщество объединится для реализации Софтфорк меньшинствакоторое гарантирует, что хорошие парни побеждают, а плохие парни либо получают утечку неактивности, либо подвергаются сокращению. Однако этот уровень чрезмерной зависимости от социального слоя, вероятно, нездоровый. Мы можем попытаться сократить зависимость от социального слоя, сделав процесс восстановления как можно более автоматизированным.
Полная автоматизация невозможна, потому что если бы она была возможной, это считалось бы как алгоритм консенсуса с уровнем отказоустойчивости более 50%, и мы уже знаем (очень ограничительный)математически доказуемые ограничения таких алгоритмов. Но мы можем добиться частичной автоматизации: например, клиент может автоматически отказаться принимать цепочку в качестве завершенной или даже в качестве главного выбора вилки, если она цензурирует транзакции, которые клиент видел достаточно долго. Одной из ключевых целей было бы обеспечить, чтобы плохие парни в атаке хотя бы не могли быстро получить чистую победу.
Сегодня блок завершается, если его поддерживают 67% стейкеров. Есть мнение, что это слишком агрессивно. За всю историю Ethereum был только один (очень короткий) сбой финала. Если этот процент увеличить, например. до 80%, то добавленное количество периодов незавершенности будет относительно небольшим, но Ethereum приобретет свойства безопасности: в частности, гораздо больше спорных ситуаций приведут к временной остановке финализации. Это кажется гораздо более здоровой ситуацией, чем «неправильная сторона», получающая мгновенную победу, как когда атакующей является неправильная сторона, так и когда это клиент, у которого есть ошибка.
Это также дает ответ на вопрос «в чем смысл соло-стейкинга»? Сегодня большинство стейкеров уже стейкают через пулы, и кажется маловероятным довести соло-стейкеров до 51% от стейкнутого ETH. Однако доведение соло-стейкеров до кворум-блокирующего меньшинства, особенно если кворум составляет 80% (так что кворум-блокирующему меньшинству нужно всего 21%), кажется потенциально достижимым, если мы усердно работаем над этим. Пока соло-стейкеры не присоединятся к атаке на 51% (будь то отмена финальности или цензура), такая атака не принесет «чистую победу», и соло-стейкеры будут мотивированы помогать организовать миноритарный мягкий форк.
Обратите внимание, что существует взаимодействие между порогами кворума и механизмом Orbit: если мы в конечном итоге будем использовать Orbit, то вопрос о том, что именно означает "21% стейкеров", станет более сложным, и в частности будет зависеть от распределения валидаторов.
Metaculus в настоящее время считает, хотя с широкими погрешностями, квантовые компьютеры, вероятно, начнут взламывать криптографию где-то в 2030-х годах:
Эксперты в области квантовых вычислений, такие как Скотт Ааронсон, также недавно начали рассматривать возможность того, что квантовые компьютеры действительно будут работать в среднесрочной перспективенамного серьезнее. Это имеет последствия для всей дорожной карты Ethereum: это означает, что каждый элемент протокола Ethereum, который в настоящее время зависит от эллиптических кривых, должен будет иметь замену, основанную на хешах или другим образом устойчивую к квантовым вычислениям. Это в частности означает, что мы не можем предполагать, что сможем полагаться наотличные свойства агрегации BLSобрабатывать подписи от большого набора валидаторов вечно. Это обосновывает консерватизм в предположениях о производительности конструкций proof-of-stake, а также является причиной быть более проактивным в разработке квантово-стойких альтернатив.