Что такое технология распределенного валидатора?
Технология распределенного валидатора (DVT) — это подход к безопасности валидатора, который распределяет управление ключами и обязанности по подписанию между несколькими сторонами, чтобы уменьшить количество единых точек отказа и повысить отказоустойчивость валидатора.
DVT распределяет управление ключами и подписание путем разделения приватного ключа, используемого для защиты валидатора, между множеством компьютеров, организованных в «кластер». Это позволяет некоторым узлам в кластере отключаться, сохраняя при этом узел валидатора активным, поскольку необходимая работа по валидации может выполняться подмножеством машин в каждом кластере. Такое распределение уменьшает количество единых точек отказа, делая валидатор более надежным. Дополнительным преимуществом распределения подписания в DVT является то, что злоумышленникам становится очень сложно получить доступ к ключу, поскольку он не хранится целиком ни на одной машине.
DVT не является отдельным способом стейкинга. Это программный уровень, который может использовать любая конфигурация стейкинга:
- Соло-стейкеры могут объединиться для совместного запуска валидатора, или отдельный соло-стейкер может использовать DVT для повышения отказоустойчивости своей конфигурации соло-стейкинга.
- Сервисы стейкинга и пулы для совместного стейкинга могут использовать DVT для повышения отказоустойчивости и укрепления своей инфраструктуры стейкинга или для распределения операций валидатора между множеством независимых операторов.
Зачем нам нужен DVT?
Безопасность
Валидаторы генерируют две пары открытых и приватных ключей: ключи валидатора для участия в консенсусе и ключи вывода для доступа к средствам. В то время как валидаторы могут защитить ключи вывода в холодном хранилище, приватные ключи валидатора должны быть в сети 24/7 для подписания обязанностей, которые валидатор выполняет круглосуточно, таких как аттестации и предложения блоков. Нахождение ключа в сети подвергает его риску кражи, и DVT ограничивает этот риск: в сети находятся только доли ключа, но никогда не полный ключ.
Если приватный ключ валидатора скомпрометирован, злоумышленник может управлять валидатором, что потенциально может привести к слэшингу или потере ETH стейкера. DVT снижает этот риск. С помощью DVT исходный полный ключ валидатора шифруется и разделяется на доли ключа. Доли ключа находятся в сети, распределенные между несколькими узлами, которые совместно управляют валидатором, в то время как полный «мастер-ключ» надежно хранится в автономном режиме. Распределение возможно, поскольку валидаторы Эфириума используют подписи BLS, которые являются аддитивными, что означает, что полный ключ может быть восстановлен путем суммирования его составных частей. Частичные подписи, сделанные с помощью долей ключа, объединяются в подпись, которая действительна для полного ключа, поэтому сам полный ключ никогда не требуется для повседневного подписания. Когда кластер генерирует новый ключ валидатора с использованием распределенной генерации ключей, полный приватный ключ никогда не существует ни на одной машине.
Отсутствие единых точек отказа
Когда валидатор разделен между несколькими операторами и несколькими машинами, он может выдерживать отдельные сбои оборудования и программного обеспечения без отключения от сети. Риск сбоев также можно снизить за счет использования различных конфигураций оборудования и программного обеспечения на узлах в кластере. Многооператорное распределение изначально недоступно для конфигураций валидатора с одним узлом; оно обеспечивается промежуточным программным обеспечением DVT.
Если один из компонентов машины в кластере выходит из строя (например, если в кластере валидатора четыре оператора, и один использует определенный клиент, в котором есть ошибка), остальные могут гарантировать, что валидатор продолжит работу.
Децентрализация
Идеальный сценарий для Эфириума — иметь как можно больше независимо управляемых валидаторов. Однако несколько провайдеров стейкинга стали очень популярными и на них приходится значительная часть всех ETH, находящихся в стейкинге в сети. DVT может позволить этим операторам существовать, сохраняя при этом децентрализацию стейка. Это связано с тем, что ключи для каждого валидатора распределены между множеством машин, и для того, чтобы валидатор стал вредоносным, потребовался бы гораздо больший сговор.
Без DVT провайдерам стейкинга проще поддерживать только одну или две конфигурации клиентов для всех своих валидаторов, что увеличивает влияние ошибки клиента. DVT можно использовать для распределения риска между несколькими конфигурациями клиентов и различным оборудованием, создавая отказоустойчивость за счет разнообразия.
DVT предлагает Эфириуму следующие преимущества:
- Децентрализация консенсуса доказательства доли владения Эфириума
- Обеспечение живучести сети
- Создание отказоустойчивости валидатора
- Работа валидатора с минимальным доверием
- Минимизация рисков слэшинга и простоев
- Улучшение разнообразия (клиент, дата-центр, местоположение, регулирование и т. д.)
- Повышенная безопасность управления ключами валидатора
Как работает DVT?
Реализации DVT обычно работают как дополнительное программное обеспечение на каждой машине в кластере. Это программное обеспечение действует как промежуточное ПО, находясь между клиентом валидатора узла и его клиентом консенсуса, где оно координирует свои действия с другими узлами в кластере, чтобы обязанности валидатора подписывались коллективно.
Решение DVT содержит следующие компоненты:
- Схема разделения секрета Шамира (открывается в новой вкладке) — валидаторы используют ключи BLS (открывается в новой вкладке). Приватный ключ валидатора может быть разделен на несколько «долей ключа», и поскольку подписи BLS являются аддитивными, частичные подписи, сделанные с помощью этих долей ключа, могут быть объединены в единую подпись, которая действительна для полного ключа валидатора.
- Схема пороговой подписи (открывается в новой вкладке) — определяет количество отдельных долей ключа, необходимых для выполнения обязанностей по подписанию, например, 3 из 4.
- Распределенная генерация ключей (DKG) (открывается в новой вкладке) — криптографический процесс, который генерирует доли ключа и используется для распределения долей существующего или нового ключа валидатора между узлами в кластере.
- Многостороннее вычисление (MPC) (открывается в новой вкладке) — полный ключ валидатора генерируется в секрете с использованием многостороннего вычисления. Полный ключ никогда не известен ни одному отдельному оператору — они знают только свою часть («долю»).
- Протокол консенсуса — протокол консенсуса выбирает один узел в качестве предлагающего блок. Он делится блоком с другими узлами в кластере, которые добавляют свои доли ключа к совокупной подписи. Когда будет собрано достаточное количество долей ключа, блок предлагается в Эфириуме.
Распределенные валидаторы имеют встроенную отказоустойчивость и могут продолжать работать, даже если некоторые из отдельных узлов отключаются. Кластер узла валидатора устойчив, даже если некоторые из узлов в нем оказываются вредоносными или неактивными.
DVT в промышленной эксплуатации
Распределенные валидаторы сегодня работают в Мейннете в рамках соло-стейкинга, сервисов стейкинга и совместного стейкинга. На две сети приходится большая часть этой активности:
- 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 использует протокол консенсуса для достижения консенсуса между несколькими узлами, управляющими валидатором, это потенциально может привести к увеличению задержки.
Часто задаваемые вопросы
Нет. «3 из 4» — это просто наименьшая распространенная конфигурация, и она используется в качестве примера на этой странице. Размер кластера и порог подписания выбираются при создании кластера.
Размеры кластеров обычно подбираются таким образом, чтобы порог составлял абсолютное большинство в две трети узлов, что позволяет кластеру продолжать подписание, допуская наличие неисправных или отключенных участников. Кластер из 4 узлов подписывает с помощью 3 и допускает 1 сбой; 7 узлов подписывают с помощью 5 и допускают 2; 10 узлов подписывают с помощью 7 и допускают 3. Более крупные кластеры обеспечивают большую отказоустойчивость за счет большего количества машин для запуска и большей координации между ними.
Подробнее о размере кластера и отказоустойчивости (открывается в новой вкладке)
Дополнительная литература
- Технология распределенного валидатора Эфириума (DVT) — полное введение (открывается в новой вкладке) — Cyfrin
- Что такое DVT и как он улучшает стейкинг в Эфириуме? (открывается в новой вкладке) — Obol
- Спецификации распределенного валидатора Эфириума (высокий уровень) (открывается в новой вкладке)
- Технические спецификации распределенного валидатора Эфириума (открывается в новой вкладке)
- Документация Obol (открывается в новой вкладке)
- Документация SSV Network (открывается в новой вкладке)
- Модуль Simple DVT от Lido (открывается в новой вкладке)
- Демонстрационное приложение схемы разделения секрета Шамира (открывается в новой вкладке)
