Разработка системы делегирования голосов DAO

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Разработка системы делегирования голосов DAO
Средний
~3-5 дней
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    920
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1147
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    610
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    885

Разработка мультисиг-казначейства DAO (Gnosis Safe)

Казначейство DAO — это общий кошелёк, которым управляет не один человек, а группа. Без мультисига treasury — это EOA (externally owned account) одного человека: один приватный ключ, один человек, полный контроль. Gnosis Safe решает это через M-of-N схему: транзакция исполняется только если M из N назначенных подписантов её одобрили.

Safe (ранее Gnosis Safe) — де-факто стандарт мультисига в Web3. Более $100B хранится в Safe кошельках. Большинство крупных DAO (Uniswap, ENS, Aave, Lido) используют Safe для казначейства или как guardian для Governor.

Как работает Safe

Архитектура контракта

Safe — смарт-контракт кошелёк, не EOA. Это принципиально важно: у него нет приватного ключа, он существует как контракт on-chain. Владельцы (owners) — список адресов, threshold — минимальное количество подписей.

Транзакция через Safe проходит несколько этапов:

  1. Любой owner предлагает транзакцию (propose)
  2. Другие owners её подписывают (off-chain или on-chain подписи)
  3. Когда набралось threshold подписей — любой может исполнить (execute)
  4. Safe контракт верифицирует подписи и вызывает целевой адрес

Подписи могут быть off-chain (EIP-712 typed data, хранятся в Safe Transaction Service) или on-chain (approve транзакция от каждого owner). Off-chain дешевле — только исполняющий платит за газ.

Safe Transaction Service

Safe поддерживает off-chain координацию через Transaction Service — централизованный (но open-source) бэкенд. Owners подписывают транзакцию через Safe{Wallet} UI или SDK и отправляют подпись в Transaction Service. Другие owners видят pending транзакцию и подписывают там же. Когда набралось threshold — execute.

Это не on-chain: подписи хранятся на сервере Safe. Компромисс — удобство vs. доверие к инфраструктуре Safe. Для максимальной независимости можно запустить собственный Transaction Service (open-source).

Safe + Governor интеграция

Зачем интегрировать с Governor

Чистый Safe — требует M-of-N подписей от фиксированного списка владельцев. Это мультисиг, не governance. Для DAO с тысячами держателей токенов нужен Governor (голосование пропорционально holdings).

Типовая архитектура: Governor → Timelock → Safe. Governor proposal при успехе ставит транзакцию в Timelock. После задержки — исполняет её через Safe (или напрямую, если Safe является владельцем Timelock).

Более гибкий вариант: Safe как guardian for Governor. Multisig team может veto proposal до исполнения. Это "decentralization with training wheels" — на старте протокола, пока governance не обкатана.

SafeSnap (Snapshot + Safe)

SafeSnap — плагин который соединяет off-chain голосование (Snapshot) с on-chain исполнением (Safe). Работает через оракул (Reality.eth):

  1. Snapshot голосование завершается — результат публичен
  2. Кто угодно может задать Reality.eth вопрос: "Был ли proposal X принят на Snapshot?"
  3. Ответчики отвечают (с bonds), через dispute period ответ финализируется
  4. SafeSnap плагин в Safe разрешает исполнить транзакцию если Reality.eth подтвердил результат

Это позволяет governance без gas costs (Snapshot голосование бесплатно) с on-chain исполнением. Компромисс — Reality.eth оракул добавляет задержку (3-7 дней dispute period) и теоретически уязвим к oracle manipulation при малом TVL.

Настройка Safe для DAO

Выбор параметров

Количество owners и threshold. Типовые конфигурации:

Размер DAO Owners Threshold Логика
Маленький (core team) 5 3 3-of-5
Средний 7-9 5 5-of-7 или 5-of-9
Большой (subDAO) 11-13 7 7-of-11

Threshold не должен быть слишком низким (2-of-10 — один скомпрометированный ключ почти не мешает атаке) и слишком высоким (если 8-of-9 требуется, потеря двух ключей блокирует казначейство).

Ротация owners. Safe поддерживает добавление/удаление owners и изменение threshold через safeTx. Ротация раз в 6-12 месяцев — хорошая практика. Процедура смены owner должна быть задокументирована и протестирована заранее.

Safe Guards

Guard — контракт, который вызывается до и после каждой транзакции Safe. Позволяет добавить кастомную логику: лимиты на транзакции по размеру, whitelist адресов назначения, ограничения по времени.

interface IGuard {
    function checkTransaction(
        address to,
        uint256 value,
        bytes memory data,
        Enum.Operation operation,
        // ...
    ) external;
    
    function checkAfterExecution(bytes32 txHash, bool success) external;
}

Пример использования: guard, который разрешает безлимитные транзакции только если все N owners подписали (не threshold), а для транзакций выше $100K требует дополнительную задержку.

Safe Modules

Module — контракт которому Safe делегирует право исполнять транзакции без прохождения threshold. Это для автоматизации: recurring payments, streaming payroll, Zodiac Roles (role-based permissions).

Zodiac (Gnosis Guild) — фреймворк модулей для DAO. Reality Module (SafeSnap), Roles Module (fine-grained permissions), Exit Module (rage quit). Устанавливается через Safe UI.

Zodiac Roles Module — позволяет назначить адресам роли с ограниченными permissions: "этот адрес может вызывать только функцию X контракта Y с параметрами в диапазоне Z". Полезно для делегирования операционных задач без полного доступа к казначейству.

Безопасность и операционные риски

Компрометация ключей

Основной риск — компрометация ключей owners. Митигация:

  • Hardware wallets (Ledger, Trezor) для каждого owner — обязательно
  • Разные устройства, разные физические локации
  • Никогда не хранить seed phrases в облаке или мессенджерах
  • Регулярные drill: тестовые транзакции с каждого ключа раз в месяц

Social engineering — второй по частоте вектор. Owner получает "срочный запрос" подписать транзакцию. Процедура: любая транзакция обсуждается в официальном канале, никаких "срочных" подписей без публичного обсуждения.

Ключ потерян

Если threshold подписей недостижимо (потеряны ключи) — средства заморожены навсегда. Для защиты: хранить recovery passphrase в нескольких физически разделённых защищённых местах (не у одного человека), заранее протестировать процедуру восстановления.

Процесс работы и сроки

Деплой Safe + базовая настройка — 1-2 дня. Интеграция с Governor через Timelock — 1 неделя. SafeSnap + Reality.eth + полное тестирование — 2-3 недели. Кастомные Guards/Modules + документация процедур — дополнительно 1-2 недели.

Итого для production-ready DAO treasury с governance интеграцией — 4-6 недель.