Разработка стейкинг-протоколов: от liquid staking до restaking
После перехода Ethereum на Proof-of-Stake в сентябре 2022 стейкинг стал инфраструктурой, а не опцией. 32 ETH на validator node — порог входа для прямого стейкинга, который отсекает большинство держателей. Liquid staking решает это через pooling, но добавляет слой сложности: теперь у вас есть rebasing или reward-bearing токен, оракул для exchange rate, и очередь на вывод, которую нужно синхронизировать с Ethereum withdrawal queue.
Liquid Staking: где протоколы теряют деньги
Lido построен вокруг stETH — rebasing токена, баланс которого увеличивается каждые сутки. Rocket Pool использует rETH — reward-bearing: баланс не меняется, меняется exchange rate. Оба подхода имеют производственные проблемы.
Rebasing токены ломают DeFi интеграции. stETH нельзя напрямую использовать в большинстве AMM, потому что pool accounting не учитывает rebasing. Curve создал специальный StableSwap пул для stETH/ETH именно поэтому. Если вы строите liquid staking токен как rebasing — закладывайте время на кастомные адаптеры для каждого протокола, с которым хотите интегрироваться.
Exchange rate oracle в reward-bearing токенах. rETH/ETH rate обновляется on-chain каждые ~24 часа через oDAO (Oracle DAO) Rocket Pool. Между обновлениями rate устаревает. Арбитражники мониторят это и фронтранят обновление, если ожидаемый rate отличается от текущего на >0.1%. Решение: commit-reveal с задержкой или TWAP по оракульным данным.
Мы разрабатывали liquid staking протокол для одного L2 (Arbitrum). Первоначальная реализация exchange rate обновлялась через Chainlink push oracle — контракт принимал данные от любого адреса из whitelist. Через три месяца после деплоя один из oracle node'ов был скомпрометирован, attacker попытался выставить rate в 2× от реального. Контракт не имел sanity check на максимальное отклонение за один апдейт. Добавили require(newRate <= currentRate * 1.01) — но это нужно было в day one.
Validator infrastructure и slashing риски
Liquid staking протокол — это не только смарт-контракты. Это ещё validator node operation: ключи, slashing protection, MEV-boost настройка.
Slashing conditions в Ethereum PoS — двойное голосование (double vote) или surround vote в Casper FFG. Slashing penalty начинается с 1/32 от stake и растёт при корреляции (если слешится много валидаторов одновременно — penalty до 1 ETH+). Защита: Dirk (distributed key management) или Web3Signer с slashing protection DB, которая хранит историю подписанных аттестаций.
MEV-boost позволяет валидаторам получать дополнительно 0.05–0.5 ETH за блок через аукцион builder'ов (Flashbots, BloXroute, Titan). Для liquid staking протокола это реальный APY буст для пользователей. Настройка: mev-boost сайдкар, подключение к нескольким relay одновременно для redundancy, circuit breaker если relay не отвечает за 2 секунды (fallback на vanilla block).
DVT (Distributed Validator Technology) через Obol Network или SSV Network позволяет распределить приватный ключ валидатора по нескольким операторам. Компрометация одного оператора не приводит к slashing. Threshold signature scheme: 3-of-5 или 4-of-7 в зависимости от tolerance к latency аттестаций.
| Подход | Slashing риск | MEV доступ | Сложность |
|---|---|---|---|
| Single operator | Высокий | Полный | Низкая |
| Multi-operator (manual) | Средний | Полный | Средняя |
| DVT (Obol/SSV) | Низкий | Зависит от relay | Высокая |
| Rocket Pool minipool | Низкий (bonded ETH) | Через smoothing pool | Средняя |
EigenLayer и restaking: дополнительный доход и дополнительный риск
EigenLayer позволяет переиспользовать застейканный ETH для обеспечения безопасности других протоколов (Actively Validated Services, AVS). Restaker даёт дополнительные слеши: теперь его ETH может быть срезан не только за нарушение Ethereum консенсуса, но и за нарушение условий конкретного AVS.
Архитектура EigenLayer restaking включает три контракта: StrategyManager (принимает LST токены типа stETH, rETH), DelegationManager (делегирование stake оператору), и EigenPodManager (native restaking через withdrawal credentials). Для native restaking нужно изменить withdrawal credentials валидатора на адрес EigenPod контракта — это one-way операция, откатить без выхода из стейкинга нельзя.
Slashing в AVS реализуется через SlashingManager. AVS определяет условия слешинга в своём ServiceManager контракте. Restaker, делегирующий stake оператору, принимает слешинг условия всех AVS, которые этот оператор обслуживает. Если оператор регистрируется в 10 AVS одновременно — накапливается 10 независимых слешинг рисков.
Для протоколов, которые хотят стать AVS, нужно реализовать: Task Manager (задачи для операторов), Registry Coordinator (регистрация операторов), BLS Signature Aggregation (агрегация подписей через BN254 pairing). Минимальный комплект — три контракта на Solidity плюс off-chain aggregator node на Go.
Процесс разработки
Начинаем с выбора модели: нативный liquid staking, интеграция поверх существующего (Lido/Rocket Pool), или restaking AVS. Каждый путь имеет разный regulatory footprint и технический объём.
Для liquid staking контракты покрываем invariant testing через Foundry: totalAssets() >= totalSupply() * exchangeRate должно выполняться при любом состоянии. Fuzzing на withdrawal queue edge cases — особенно при одновременном выходе >10% stake.
Оракульная инфраструктура тестируется отдельно: fork testing на mainnet для проверки поведения при stale price, deviation check, emergency pause mechanism.
Аудит перед деплоем — обязательно. Специфика стейкинга: ревью withdrawal logic (ETH 2.0 withdrawal queue имеет особенности при высокой нагрузке), проверка MEV extraction корректности, oracle manipulation scenarios.
Ориентиры по срокам
- Базовый liquid staking протокол (без DVT) — от 3 до 5 месяцев
- Liquid staking с DVT интеграцией — от 5 до 8 месяцев
- Разработка AVS для EigenLayer — от 4 до 7 месяцев
- Restaking wrapper поверх существующего протокола — от 6 до 12 недель
Стоимость рассчитывается после определения целевого чейна, требований к decentralization и количества интегрируемых AVS.







