Технология распределенного валидатора
Технология распределенного валидатора (DVT) — это подход к безопасности валидатора, который распределяет обязанности по управлению ключами и подписанию между несколькими сторонами, чтобы уменьшить количество единых точек отказа и повысить отказоустойчивость валидатора.
Это происходит за счет разделения приватного ключа, используемого для защиты валидатора, между несколькими компьютерами, организованными в «кластер». Преимущество этого заключается в том, что это затрудняет доступ злоумышленников к ключу, поскольку он не хранится полностью на одной машине. Это также позволяет некоторым узлам выходить из сети, так как необходимую подпись можно получить от подмножества машин в каждом кластере. Это уменьшает количество единичных точек отказа в сети и делает всю группу валидаторов более надежной.
Зачем нужна технология распределенного валидатора (DVT)?
Безопасность
Валидаторы генерируют две пары публичных и приватных ключей: ключи валидатора для участия в консенсусе и ключи вывода для доступа к средствам. Хотя валидаторы могут хранить ключи вывода в холодном хранилище, приватные ключи валидатора должны быть онлайн 24/7. Если приватный ключ валидатора окажется раскрыт, злоумышленник сможет контролировать валидатор, что может привести к сокращению или потере ETH дольщика. DVT может помочь уменьшить этот риск. Вот как все работает.
С помощью DVT валидаторы могут участвовать в стейкинге, одновременно храня приватный ключ валидатора в холодном хранилище. Это достигается путем шифрования исходного полного ключа валидатора, а затем разделения его на части ключа. Части ключа находятся в сети и распределены по нескольким узлам, что позволяет децентрализованно управлять валидатором. Это возможно благодаря использованию валидаторами Ethereum BLS-подписей, которые являются аддитивными. Это означает, что полный ключ может быть восстановлен путем сложения его компонентных частей. Это позволяет валидатору безопасно хранить полный исходный «мастер-ключ» валидатора в автономном режиме.
Без единичных точек отказа
Когда валидатор делится между несколькими операторами и несколькими компьютерами, он может выдерживать отказы отдельных аппаратных и программных компонентов, не прекращая свою работу. Риск сбоев также может быть снижен путем использования различных аппаратных и программных конфигураций на узлах в кластере. Эта устойчивость недоступна для конфигураций валидатора с одним узлом — она обеспечивается слоем DVT.
Если один из компонентов машины в кластере выходит из строя (например, если в кластере валидатора есть четыре оператора и один из них использует определенный клиент с ошибкой), остальные компоненты обеспечивают непрерывную работу валидатора.
Децентрализация
Идеальным сценарием для Ethereum является наличие как можно большего числа независимо работающих валидаторов. Однако некоторые поставщики стейкинга стали очень популярными и составляют значительную долю от общего объема ставок ETH в сети. DVT может позволить этим операторам существовать, сохраняя децентрализацию стейкинга. Это происходит потому, что ключи для каждого валидатора распределены по многим компьютерам, и для того, чтобы валидатор совершил злонамеренные действия, потребуется гораздо большее усилий.
Без DVT поставщики стейкинга могут поддерживать только одну или две конфигурации клиента для всех своих валидаторов, что увеличивает влияние ошибок клиента. DVT может использоваться для распределения риска между различными конфигурациями клиентов и разным оборудованием, обеспечивая устойчивость через разнообразие.
DVT предлагает следующие преимущества для Ethereum:
- Децентрализация консенсуса доказательства доли владения Ethereum.
- Обеспечение жизнестойкость сети.
- Обеспечение отказоустойчивости валидатора.
- Работа валидатора с минимальным уровнем необходимого доверия.
- Сведение к минимуму рисков сокращения и простоев.
- Увеличение разнообразия (клиент, дата-центр, местоположение, законы и т. д.).
- Повышенная безопасность управления ключом валидатора.
Как работает DVT?
Решение DVT содержит следующие компоненты:
- Деление секрета по протоколу Шамира(opens in a new tab): валидаторы используют BLS ключи(opens in a new tab). Отдельные «части ключей» BLS могут быть объединены в единый агрегированный ключ (подпись). В DVT приватным ключом для валидатора является комбинированная подпись BLS каждого оператора в кластере.
- Пороговая схема подписи(opens in a new tab): определяет количество отдельных частей ключа, которые необходимы для обязанностей в связи с подписанием (пример: З из 4).
- Генерация распределенного ключа (DKG)(opens in a new tab): криптографический процесс, который генерирует части ключа и используется для распределения частей существующего или нового ключа валидатора по узлам кластера.
- Многостороннее вычисление (MPC)(opens in a new tab): полный ключ валидатора генерируется в тайне с помощью многосторонних вычислений. Полный ключ никогда не известен индивидуальному оператору: он всегда знает только свою часть (свою «долю»).
- Протокол консенсуса: консенсусный протокол выбирает один узел в качестве предлагающего блок. Они делят блок с другими узлами кластера, которые добавляют свои части ключа в агрегированную подпись. Когда собрано достаточное количество частей ключа, предлагается блок на Ethereum.
Распределенные валидаторы имеют встроенную отказоустойчивость и могут продолжать работать, даже если некоторые отдельные узлы отключаются. Это означает, что кластер устойчив, даже если некоторые из его узлов оказываются вредоносными или ленивыми.
Варианты использования DVT
DVT имеет большое значение для более широкой отрасли стейкинга.
Одиночный стейкинг
DVT также дает возможность выполнять стейкинг без внешнего контроля, позволяя распределять ключ валидатора по удаленным узлам, при этом сохраняя целый ключ полностью вне сети. Это означает, что домашним дольщикам необязательно тратить деньги на аппаратные средства, в то время как распределение частей ключа может помочь защитить их от потенциальных хакеров.
Стейкинг как услуга (SaaS)
Операторы (например, стейкинг-пулы и институциональные дольщики), управляющие многими валидаторами, могут использовать DVT для снижения риска. Распределяя свою инфраструктуру, они могут добавлять избыточность своим операциям и диверсифицировать типы используемого ими оборудования.
DVT разделяет ответственность за управление ключами между несколькими узлами, что означает, что некоторые операционные расходы также могут быть разделены. DVT может также снизить операционные риски и страховые расходы для поставщиков стейкинга.
Staking pools
Из-за стандартных настроек валидаторов стейкинг-пулы и поставщики ликвидного стейкинга вынуждены иметь различные уровни доверия одному оператору, так как прибыли и убытки разделяются по всему пулу. Они также полагаются на операторов для защиты ключей подписи, потому что до сих пор для них не существовало другого выбора.
Хотя традиционно прилагаются усилия для распределения рисков путем распределения долей между несколькими операторами, каждый оператор по-прежнему самостоятельно управляет значительной долей. Опора на одного оператора сопряжена с огромными рисками в случаях, когда он не справляется со своими обязанностями, сталкивается с простоями, подвергается взлому или действует злонамеренно.
Использование DVT значительно снижает уровень доверия, требуемый от операторов. Пулы позволяют операторам удерживать доли без необходимости хранения ключей валидатора (поскольку используются только части ключа). Это также позволяет распределять управляемые доли между большим числом операторов (например, вместо того, чтобы один оператор управлял 1000 валидаторов, DVT позволяет этим валидаторам совместно управляться несколькими операторами). Разнообразие конфигураций операторов гарантирует, что если один оператор выйдет из строя, другие все еще смогут выполнять подтверждение. Это приводит к избыточности и диверсификации, что повышает производительность и устойчивость при максимальном вознаграждении.
Еще одно преимущество минимизации доверия к одному оператору заключается в том, что размещение стейкинг-пулов может позволить более открытое и избавленное от разрешений участие оператора. Таким образом службы могут уменьшить свой риск и поддержать децентрализацию Ethereum, используя как кураторские, так и избавленные от разрешений наборы операторов, например путем объединения домашних или более мелких дольщиков с более крупными.
Потенциальные недостатки использования DVT
- Дополнительный компонент: введение DVT-узла добавляет еще один компонент, который может быть неисправным или уязвимым. Чтобы смягчить это, нужно стремиться к нескольким реализациям DVT-узла, то есть к нескольким DVT-клиентам (аналогично тому, как существует несколько клиентов для уровней консенсуса и выполнения).
- Операционные затраты: поскольку DVT распределяет валидатор между несколькими сторонами, для работы требуется больше узлов, а не только один узел, что приводит к увеличению операционных затрат.
- Потенциально повышенная задержка: так как DVT использует протокол консенсуса для достижения консенсуса между несколькими узлами, работающими с валидатором, это потенциально может привести к увеличению задержки.
Дополнительные ресурсы
- Спецификации распределенного валидатора Ethereum (высокий уровень)(opens in a new tab)
- Технические спецификации распределенного валидатора Ethereum(opens in a new tab)
- Приложение для демонстрации разделения секрета по протоколу Шамира(opens in a new tab)