Предложение Виталика по упрощению PoS: придерживаться 8192 подписей на слот после SSF

ForesightNews

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

Сценарист: Виталик Бутерин, ethresearch

Составлено: Songxue, Golden Finance

Основное различие между Ethereum и большинством других (окончательных) систем доказательства доли заключается в том, что Ethereum пытается поддерживать очень большое количество объектов-валидаторов: в настоящее время у нас есть 895 000 объектов-валидаторов, и простой анализ закона Ципфа показывает, что это соответствует десяткам тысячи объектов валидаторов являются уникальными физическими/субъектами. Цель этого — поддержать децентрализацию и даже позволить обычным людям участвовать в стейкинге, не требуя от каждого человека отказаться от своего агентства и передать контроль одному из нескольких пулов ставок.

Однако этот подход требует, чтобы цепочка Ethereum обрабатывала большое количество подписей на слот (около 28 000 сегодня; 1 790 000 после SSF), что является очень высокой нагрузкой. Поддержка такой нагрузки требует значительных технических жертв:

  • Для этого требуется сложный механизм распространения доказательств, включающий разделение доказательства по нескольким подсетям, требующий гипероптимизации операций с подписями BLS для проверки этих подписей и т. д.
  • У нас нет четкой альтернативы, которая была бы достаточно эффективной, чтобы быть квантовоустойчивой.
  • Исправления выбора форка, такие как объединение представлений, становятся более сложными, поскольку отдельные подписи невозможно извлечь.
  • SNARKing подписи затруднен из-за их большого количества. Helios должен работать на основе специальной дополнительной подписи, называемой подписью комитета синхронизации.
  • Это увеличивает безопасный минимальный временной интервал, требуя три подвременных интервала в каждом временном интервале вместо двух.

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

Более того, он даже не служит своей цели. Минимальное требование для стейкинга по-прежнему составляет 32 ETH, что для многих недосягаемо. Просто из логического анализа в долгосрочной перспективе кажется невозможным для системы, в которой все входят в систему, действительно обеспечить ставки для обычных людей: если у Ethereum 500 миллионов пользователей, и 10% из них вносят залог, то это означает, что существует 100 миллионов подписей на слот. С точки зрения теории информации, для сокращения обработки данных в этой схеме требуется не менее 12,5 МБ свободного пространства для данных на слот, что примерно столько же, сколько требуется для полного дакшардинга (!!!). Возможно, это осуществимо, но требование, чтобы сама ставка основывалась на выборке доступности данных, приведет к значительному увеличению сложности - даже если это всего лишь около 0,6% от доли населения в мире, и это даже не начинает вдаваться в вычислительные проблемы проверки столько подписей.

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

Почему бы не «просто использовать комитет»?

Многие блокчейны, не относящиеся к Ethereum, которые сталкиваются именно с этой проблемой, используют подход к безопасности, основанный на комитетах. В каждом временном интервале они случайным образом выбирают N валидаторов (например, N примерно равно 1000), и эти валидаторы несут ответственность за завершение этого временного интервала. Стоит напомнить, почему этот подход не оправдывает ожиданий: ему не хватает подотчетности.

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

В настоящее время Эфириум придерживается противоположной крайности. В случае атаки 51% доля большинства атакующих валидаторов будет снижена. Текущая стоимость атаки составляет примерно 9 миллионов ETH (приблизительно 20 миллиардов долларов США), и это предполагает, что синхронизация сети будет нарушена таким образом, чтобы максимизировать выгоду злоумышленника.

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

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

Как будут выглядеть 8192 подписи на временной интервал при SSF?

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

Способ 1: сделайте ставку на децентрализованный пул залогов

У Python есть очень важное высказывание:

Должен быть один, желательно только один, очевидный способ сделать это.

Что касается проблемы выравнивания ставок, Ethereum в настоящее время нарушает это правило, поскольку мы одновременно реализуем две разные стратегии для достижения этой цели: (i) мелкомасштабное индивидуальное размещение ставок и (ii) использование децентрализованного пула ставок с использованием технологии распределенной валидации (DVT). По вышеуказанным причинам (i) может поддерживаться только часть отдельных участников; всегда будет много людей, чей минимальный депозит слишком велик. Тем не менее, Ethereum несет очень высокую техническую нагрузку на поддержку (i).

Одно из возможных решений — отказаться от (i) и пойти ва-банк (ii). Мы можем увеличить минимальную сумму ставки до 4096 ETH и установить общий лимит в 4096 валидаторов (приблизительно 16,7 миллиона ETH). Ожидается, что мелкие заинтересованные стороны присоединятся к пулу DVT: либо предоставив средства, либо став операторами узлов. Чтобы предотвратить злоупотребления со стороны злоумышленников, роль оператора узла должна быть каким-то образом ограничена репутацией, а пулы будут конкурировать друг с другом, предлагая в этом отношении разные варианты. Финансирование будет без разрешения.

Мы можем сделать коллективную ставку в этой модели более «щадящей», например, ограничив штрафы. до 1/8 от общей суммы предоставленного залога. Это снизит доверие к операторам узлов, хотя к этому стоит относиться с осторожностью из-за проблем, изложенных здесь.

Способ 2: Двухуровневый залог

Мы создаем два уровня стейкеров: «тяжелый» уровень, требующий 4096 ETH для участия в финализации, и «легкий» уровень, для которого нет требований к минимальной ставке (также нет задержек при вводе и выводе средств, а также нет риска сокращения). который добавляет еще один уровень безопасности. Чтобы блок стал окончательным, как тяжелый уровень должен его финализировать, так и легкий уровень должен подтвердить его >= 50% онлайн-легких валидаторов.

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

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

Метод 3: Участвуйте по очереди (т. е. комитет, но ответственный)

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

Однако мы выбрали несколько других параметров, чтобы получить «максимальную выгоду» в рамках этой структуры. В частности, мы разрешаем валидаторам участвовать с произвольно высокими балансами, и если валидатор владеет более определенной суммой M ETH (которая должна быть плавающей), то он участвует в комитете каждую эпоху. Если у верификатора есть N <M ETH,那么他们有 N/M 在任何给定时间段内进入委员会的概率。

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

Анализ закона Ципфа рассчитает количество ETH следующим образом:

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

Таким образом, в комитете будет участвовать равное количество ETH на каждом уровне баланса, кроме уровней выше барьера M (валидаторы всегда присутствуют в комитете).

Таким образом, у нас есть уровень Log2(M) для каждого K валидаторов на вышеуказанном уровне и K+K/2+…=2K валидаторов выше уровня. Следовательно, К=4096/Log2(M)+2.

Самый крупный валидатор будет иметь M*k ETH. Мы можем действовать в обратном порядке: если у крупнейшего валидатора 2^18=262144 ETH, это означает (примерно) M = 1024 и k = 256.

Общая сумма залога ETH составляет:

Все права и интересы топ-512 валидаторов (2^18*1+2^17*2+……+2^10*2^8=2359296)

Плюс меньшие ставки из случайной выборки (2^8*(2^9+2^8+2^7…) примерно равны 2^8*2^10=2^18)

Всего мы получили 2621440 ETH, или стоимость атаки составила примерно 900 тысяч ETH.

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

Его главное преимущество заключается в том, что он сохраняет узнаваемую форму независимого размещения ставок, сохраняет единую систему и даже позволяет снизить минимальную сумму ставки до очень низкого уровня (например, 1 ETH).

Подведем итог

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

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

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