Перейти к основному контенту

Технология распределенного валидатора

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

Что такое технология распределенного валидатора?

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

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

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

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

  • Соло-стейкеры могут объединиться для совместного запуска валидатора, или отдельный соло-стейкер может использовать DVT для повышения отказоустойчивости своей конфигурации соло-стейкинга.
  • Сервисы стейкинга и пулы для совместного стейкинга могут использовать DVT для повышения отказоустойчивости и укрепления своей инфраструктуры стейкинга или для распределения операций валидатора между множеством независимых операторов.

Зачем нам нужен DVT?

Безопасность

Валидаторы генерируют две пары открытых и приватных ключей: ключи валидатора для участия в консенсусе и ключи вывода для доступа к средствам. В то время как валидаторы могут защитить ключи вывода в холодном хранилище, приватные ключи валидатора должны быть в сети 24/7 для подписания обязанностей, которые валидатор выполняет круглосуточно, таких как аттестации и предложения блоков. Нахождение ключа в сети подвергает его риску кражи, и DVT ограничивает этот риск: в сети находятся только доли ключа, но никогда не полный ключ.

Если приватный ключ валидатора скомпрометирован, злоумышленник может управлять валидатором, что потенциально может привести к слэшингу или потере ETH стейкера. DVT снижает этот риск. С помощью DVT исходный полный ключ валидатора шифруется и разделяется на доли ключа. Доли ключа находятся в сети, распределенные между несколькими узлами, которые совместно управляют валидатором, в то время как полный «мастер-ключ» надежно хранится в автономном режиме. Распределение возможно, поскольку валидаторы Эфириума используют подписи BLS, которые являются аддитивными, что означает, что полный ключ может быть восстановлен путем суммирования его составных частей. Частичные подписи, сделанные с помощью долей ключа, объединяются в подпись, которая действительна для полного ключа, поэтому сам полный ключ никогда не требуется для повседневного подписания. Когда кластер генерирует новый ключ валидатора с использованием распределенной генерации ключей, полный приватный ключ никогда не существует ни на одной машине.

Отсутствие единых точек отказа

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

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

Децентрализация

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

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

DVT предлагает Эфириуму следующие преимущества:

  1. Децентрализация консенсуса доказательства доли владения Эфириума
  2. Обеспечение живучести сети
  3. Создание отказоустойчивости валидатора
  4. Работа валидатора с минимальным доверием
  5. Минимизация рисков слэшинга и простоев
  6. Улучшение разнообразия (клиент, дата-центр, местоположение, регулирование и т. д.)
  7. Повышенная безопасность управления ключами валидатора

Как работает DVT?

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

Решение DVT содержит следующие компоненты:

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

DVT в промышленной эксплуатации

Распределенные валидаторы сегодня работают в Мейннете в рамках соло-стейкинга, сервисов стейкинга и совместного стейкинга. На две сети приходится большая часть этой активности:

Продукты и услуги перечислены для удобства сообщества Эфириума. Включение продукта или услуги не означает их одобрения командой сайта ethereum.org или Фондом Ethereum.
  • Obol разрабатывает Charon, клиент промежуточного ПО DVT с открытым исходным кодом, который позволяет кластеру машин совместно управлять валидатором («командный стейкинг»). Группы выполняют распределенную генерацию ключей и настраивают свой кластер через DV Launchpad (открывается в новой вкладке) от Obol. Кластеры Obol используются в промышленной эксплуатации протоколами стейкинга и сервисами стейкинга, включая модуль Simple DVT от Lido и программу Operation Solo Staker от EtherFi, которая привлекает домашних операторов в отказоустойчивые кластеры.
  • SSV Network — это общедоступная сеть независимых операторов узлов. Ключ валидатора разделяется на доли ключа и распределяется между выбранным набором операторов, которые коллективно выполняют обязанности валидатора; ни один оператор никогда не владеет полным ключом. Сервисы стейкинга и пулы запускают большие наборы валидаторов на SSV, и, как и Obol, он используется модулем Simple DVT от Lido.

Варианты использования DVT

DVT имеет важное значение для индустрии стейкинга в целом:

Соло-стейкеры

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

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

Стейкинг как услуга (SaaS)

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

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

Пулы для совместного стейкинга

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

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

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

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

Потенциальные недостатки использования DVT

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

Часто задаваемые вопросы

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

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

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

Нет. «3 из 4» — это просто наименьшая распространенная конфигурация, и она используется в качестве примера на этой странице. Размер кластера и порог подписания выбираются при создании кластера.

Размеры кластеров обычно подбираются таким образом, чтобы порог составлял абсолютное большинство в две трети узлов, что позволяет кластеру продолжать подписание, допуская наличие неисправных или отключенных участников. Кластер из 4 узлов подписывает с помощью 3 и допускает 1 сбой; 7 узлов подписывают с помощью 5 и допускают 2; 10 узлов подписывают с помощью 7 и допускают 3. Более крупные кластеры обеспечивают большую отказоустойчивость за счет большего количества машин для запуска и большей координации между ними.

Подробнее о размере кластера и отказоустойчивости (открывается в новой вкладке)

Нет. Совместный стейкинг объединяет ETH от многих людей для финансирования валидаторов и является одним из нескольких способов стейкинга. DVT — это инфраструктура для управления валидатором. Она распределяет подписание одного валидатора между несколькими машинами и операторами. Эти два понятия дополняют друг друга; многие пулы используют DVT для распределения своих наборов операторов, но сам DVT не объединяет ничьи ETH.

Дополнительная литература