В этом репозитории будут публиковаться материалы по архитектуре будущей сети для изобретателей и поддерживающих их людей
Find a file
2022-03-21 16:23:52 +03:00
DAO Tools.html Added list of DAO tools 2022-02-09 15:52:55 +03:00
dao_landscape.jpg Добавлена карта DAO 2022-01-12 21:25:31 +03:00
README.md Добавлены стадии принятия предложений в Moloch V2 2022-03-21 16:23:52 +03:00

Исследования по архитектуре сети изобретателей

В этом репозитории будут публиковаться материалы по архитектуре будущей сети для изобретателей и поддерживающих их людей

Рассматриваемые DAO-фреймворки

Методология оценки

  • Анализ исходного кода
    • Наличие аудитов безопасности от разных фирм
    • Активность разработки смарт-контрактов и Dapp
  • Анализ возможностей фреймворка
    • Типы организаций и активов
    • Доступные модули
    • Возможности кастомизации
  • Технологический стек
    • Тип консенсуса блокчейна
    • Правила валидирования
    • Нативный токен и его распределение

Обзор DAO-фреймворков

Aragon

(site, docs, github)

Наиболее популярный и развитый DAO фреймворк. Aragon предоставляет широкие возможности кастомизации для организаций и не накладывает жёстких ограничений на дизайн DAO. Aragon позиционирует себя как Операционную систему (AragonOS) для DAO, позволяющую запускать разнообразные приложения, кастомизирую логику работы организации. На данный момент выпущено две версии протокола - Aragon Client и Aragon Govern. Во Govern добавлена поддержка масштабирования Ethereum Optimistic Rollup, что позволяет сократить затраты на транзакции внутри DAO.

  • Анализ исходного кода
    • Аудиты безопасности
    • Активность разработки (Aragon имеет много репозиториев)
  • Анализ возможностей фреймворка
    • Веб-интерфейс позволяет выбрать на выбор из нескольких шаблонов DAO
    • Можно писать собственные приложения и интегрировать на базе AragonOS
    • Можно писать скрипты на EVM Scripts, расширяющие возможности DAO
  • Технологический стек
    • EVM

Ключевые особенности фреймворка:

  • Список управления доступом (Access Control List, ACL) - перечень прав доступа к определённым функциям в приложениях DAO. Общий вид записи: Сущность (Entity) может иметь разрешение на вызов функции в соответствии с Ролью (Role) в Приложении (App) и их разрешение управляется Менеджером (Manager), который может отозвать или повторно предоставить это разрешение. В качестве сущности, менеджера и приложения могут выступить приложения Aragon. По сути разрешение предоставляет собой право приложения вызвать какую-то функцию в другом приложении и может быть отменено третьим приложением. Это реализуется с помощью функции Forwarding.
  • Обновляемость контракта (Upgradability) - реализованная с помощью ERC-контракта DelegateProxy возможность изменять логику контракта не меняя его адреса.
  • Приложения Aragon реализуют логику работы DAO - голосования, управление финансами, токены, банк и т.д.
  • Менеджер пакетов aragonPM (Package Manager) позволяет вести реестр доверенных приложений для AragonOS
  • Шаблоны (Templates) - наборы из официальных и сторонних приложений Aragon для типовых применений. На данный момент Aragon Client предоставляет выбор из следующих шаблонов: Company (передаваемые токены, взвешенное голосование), Membership (непередаваемые токены, один человек - один голос), Reputation (непередаваемые токены, взвешенное голосование), Open Enterprise (управление проектами, вознаграждения, планирование бюджета), Dandelion (аналог RageQuit в MolochDAO, разработан 1Hive), Fundraising (краудфандинговая кампания), Democracy, Multisig.
  • Человекочитаемые транзакции (Human readable transactions) позволяют членам организации прочесть описание транзации на естественном языке перед её подписанием. Это реализовано с помощью спецификации RadSpec (альтернативе NatSpec).

Colony

(site, paper, docs, github)

Фрейморк представляет из себя набор EVM-совместимых смарт-контрактов, которые могут быть развёрнуты в любой Ethereum сети. Цель разработки - обеспечить экономические стимулы для поддержки принятия решений внутри организации без спускания этих решений сверху-вниз (для есть поддерживающий инициативу снизу). Протокол рассматривает только тот тип взаимодействий, который нужно фиксировать в блокчейне, а остальные взаимодействия осуществляются на усмотрение конкретной организации. Colony стремится совместить преимущества иерархической структуры с меритократическим распределением полномочий и одноранговой сетью, чтобы создавать децентрализованные, самоорганизующиеся компании, где полномочия по принятию решений основаны на справедливо оцененном вкладе.

  • Анализ исходного кода
    • Аудитов безопасности пока нет. Проект в beta-стадии
    • Активность разработки
      • смарт-контракты - (работа ведётся в других ветках)
      • DApp -
  • Анализ возможностей фреймворка (подробнее ниже)
    • Один тип организации с нативным(или другим ERC20) токеном с непередаваемой репутацией
    • Модулей нет, всё доступно по умолчанию - фонды, расходы, задачи
    • Кастомизируется структурой доменов, в рамках которых начисляется репутация и бюджеты
  • Технологический стек
    • Тип консенсуса - PoS
    • Валидаторы - держатели CLNY
    • Нативный токен CLNY эмитируется управляющей компанией Metacolony, которая поддерживает протокол и саму сеть. Токеномика

Принцип работы

Вклад каждого участника организации оценивается в одной из двух единиц - обычным Токеном (в случае Ethereum это ERC20), и Репутацией - невзаимозаменяемым, изменяющимся во времени показателем совокупных прошлых вкладов. Структура организации строится на иерархии Доменов, в рамках которых происходит управление организацией - например, бюджетирование. Когда участник выполняет работу, то его работа оплачивается нативным токеном организации и начисляется Репутация за использование Навыков (например, JavaScript) в Домене (например, проект разработки веб-сайта), где была выполнена эта работа. Репутация не может быть передана другим участникам и со временем убывает. Обновления репутации происходят вне блокчейна, но подтверждаются в блокчейне с помощью специального алгоритма, основанного на экономике и теории игр. Многие решения в организации принимаются в рамках неформального консенсуса. Общие голосования должны проводится редко, потому что требуют высоких затрат на координацию участников. Вместо этого предлагается голосования в рамках разрешения споров, которые могут быть проведены ограниченным контекстно-релеватным количеством участников.

Домены

Структура доменов произвольная и выбирается на усмотрение конкретной организации - по проектам, по компетенциям, кругам, гильдиям или как-то иначе. Репутация начисляется в рамках определённого домена и многие споры могут быть разрешены не выходя за пределы этого домена. На доменах основано управление доступом, в рамках которого участникам предоставляются Разрешения(permissions).

Существует шесть типов разрешений:

  • Recovery (разрешение на восстановление). Предоставляет учетным записям доступ к функции экстренного восстановления организации, которая позволяет произвольно изменять состояние данных организации (откатиться к какому-то прошлому состоянию).
  • Root (корневое разрешение). Предоставляет учетным записям доступ к административным функциям высокого уровня, таким как настройка параметров для всей организации, её обновление и выпуск новых внутренних токенов.Это разрешение также дает учетным записям возможность назначать разрешения по всей организации (в том числе в корневом домене).
  • Arbitration (разрешение на арбитраж). Дает учетным записям возможность вносить изменения в состояние домена, предназначенные для разрешения споров. Это разрешение также позволяет учетным записям налагать репутационные штрафы (но не повышать репутацию).
  • Architecture (архитектурное разрешение). Дает учетным записям возможность создавать новые домены, а также назначать разрешения в этих новых доменах. В отличие от Root, учетные записи с этим разрешением не могут редактировать разрешения в домене, в котором у них есть разрешение, только в поддоменах.
  • Funding (разрешение на финансирование). Дает учетным записям возможность перемещать токены между банками финансирования. На практике это означает, что это разрешение отвечает за распределение денег между доменами и финансирование расходов.
  • Administration (административное разрешение). Дает учетным записям возможность создавать и управлять (но не финансировать) расходы, основной единицей стимулирования в организации.

Каждое разрешение, помимо root и recovery, присваивается аккаунту в сети Ethereum в рамках конкретного домена (как права в Unix присваиваются к директории) и может быть присвоено смарт-контракту. Пользователи-смарт-контракты с правами называются Расширениями (Extentions). Каждый домен и каждая статья расходов в колонии имеют соответствующий фонд финансирования - Funding Pot. Фонд финансирования можно рассматривать как кошелек, специфичный для определенного домена или расходов, и используется для перемещения средств внутри колонии. К каждому фонду финансирования контракт Colony может привязывать любое количество токенов, совместимых с эфиром или ERC20, которыми он владеет. Помимо фонда финансирования в организации также существует фонд наград - Reward Pot. Предоставление средств из фондов осуществляется с помощью Затрат (Expenditures), которые представляют собой трансфер средств на счёт участника. После проведения трансфера возврат средств не предусмотрен протоколом.

Каждая организация в протокле Colony имеет внутренний ERC20 Токен, который может быть как собственным, так и привнесённым извне (например, DAI). Внутренний Токен не может быть изменён после создания организации. Собственный токен даёт участникам корневыми правами (Root permission) управлять им - например, эмитировать или сжигать. Внутренний токен служит для распределения репутации, прав владения и принятия решений.

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

Финансовые средства, поступаемые на счёт организации извне, зачисляются в фонд наград (Reward Pot), откуда распределяются по доменам. Можно считать этот фонд Прибылью (revenue) организации. Распределение наград производится специальной транзацией, которую может запустить только пользователь с корневыми правами, по предусмотренной протоколом формуле в зависимости от принадлежащего количества токенов пользователя и его репутации. Репутация может быть получена только за счёт действий участников внутри организации и не может быть передана кому-либо ещё. Репутация со временем может быть утрачена из-за неактивности участника, его ошибок и вредительства.

Репутация

Типы репутации:

  • По домену. Репутация домена состоит из его репутации и суммы репутаций всех поддоменов.
  • По навыку. Домены не всегда корректно определяют тот или иной тип работы, поэтому есть возможность создать репутацию в отношении какого-то отдельного навыка. Полный список доступных навыков ведётся в рамках Мета-организации (той, что разрабатывает сам протокол Colony). При вознаграждении участников за вклад можно указать как домен, так набор навыков, в рамках которого будет распределена репутация. Несмотря на то, что пространство навыков универсально, репутация конкретных навыков уникальна для каждой организации. Получение участником репутации по навыку в одной организации никак не влияет на его репутацию по этому навыку в любых других организациях.
  • По организации в целом. Суммарная репутация участника по всем доменам.

Изменить свою репутацию можно:

  • Получением платежа по Expenditure. При переводе средств репутация начисляется в зависимости от количества переводимых токенов в соответствии со значением коэффициента payoutScalar, но не более чем в два раза. То есть количество репутации может составлять максимум x2 от количества переведённых токенов. Обычно используется payoutScalar равный 1, то есть 1 токен к 1 репутации.
  • В ходе арбитражного процесса. Участники с правами арбитража (Arbitration permission) могут штрафовать участников и сокращать репутацию.
  • Создав новую организацию. В ходе инициации организации происходит первоначальное распределение токенов и соответствующее ему распределение репутации 1 к 1.

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

Обновление протокола заложено в протокол и является добровольным для организаций.

Ходатайства и споры

Система ходатайств позволяет членам организации выражать неодобрение и потенциально принуждать голосовать против пользователей, которые действовали ненадлежащим образом. Когда участник организации чувствует, что что-то не так, он может подать ходатайство. В самом общем случае ходатайство заключается в а) изменении значения какой-либо переменной; б) том, чтобы какой-то пользователь или группа пользователь были оштрафованы и лишены части своей репутации. Те, кто поддерживает ходатайство, условно называются стороной "перемен", а противники - стороной "сохранения". Пользователь, делающий ходатайство, также должен сделать ставку во внутреннем токене организации. По сути, создающие ходатайство приглашают остальную часть организации не согласиться с ними. Для избежания ненужного голосования предложение будет принято автоматически, если только кто-то другой не сделает ставку на сторону "сохранения" и тем самым не вызовет спор. Мы говорим, что спор возникает всякий раз, когда ходатайство нашло поддержку как со стороны "перемен", так и со стороны "сохранения". Возникшие споры должны разрешаться путем голосования.

Дополнительные возможности

  • Задачи (Tasks). Единица работы в рамках организации; то, что предшествует платежу. В рамках задачи есть три роли:
    • Управленец (Manager) - формулирует задачу, сроки, объём вознаграждения для всех трёх ролей. Для постановки задачи нужны Административные полномочия (Administration permissions)
    • Исполнитель (Worker) - выполняет задачу
    • Оценщик (Evaluator) - оценивает выполнение задачи
  • Очередь на финансирование (Funding Queue). Основная идея, лежащая в основе очереди на финансирование, заключается в том, что токены распределяются непрерывно с течением времени, а не все сразу в режиме выполнения или отказа, при этом вводимые участником данные контролируют скорость и направление распределения. В системах, основанных на голосовании, непопулярные предложения иногда полностью проваливаются, а при финансировании через очередь, непопулярные предложения просто выполняются очень долго, в то время как популярные предложения выполняются быстрее. Любой член организации может создать Предложение о финансировании (Funding Proposal). Создатель должен иметь 0,1% репутации домена, который является самым последним общим предком исходного и целевого фондов, и поставить эквивалентное количество токенов колонии. Это необходимо, чтобы помочь предотвратить рассылку спама с предложениями о финансировании и обеспечить механизм, с помощью которого создатель может быть наказан за плохое поведение. Есть два типа предложений о финансировании:
    • Основное (Basic, BFP). При создании помещается в конец очереди, но может быть перемещено внутри очереди, если получит репутационную поддержку участников.
    • Приоритетное (Priority, PFP). Не помещается в очередь, а исполняется сразу. Используется для следующих событий:
      • возврат средств с дочерних доменов
      • возврат средств с отмененных заданий
      • финансирование задач в всех доменах
      • откладывание средств для заработной платы сотрудника
      • крупные разовые платежи.
  • Бюджет (Budget Box). В отличие от очередь, бюджет позволяет выделять средства паралелльно, а не последовательно. Подробнее

The Colony Network

The Colony Network представляет собой набор смарт-контрактов в блокчейне Ethereum (любом совместимом), главный из которых - ColonyNetwork. Этот контракт в первую очередь отвечает за управление процессом добычи репутации (см. Раздел 5), но также и за общее управление сетью: развертывание новых организаций, установление комиссий, связанных с использованием сети, и выпуск новых версий смарт-контрактов. Эти действия будут осуществляться при посредничестве специальной мета-организации - Metacolony. С каждой транзации выплат (Expenditure) или наград (Reward) протоколом извлекается коммиссия в 3% и направляется либо в Metacolony (если это общепризнанный токен типа ETH или DAI), либо в смартконтракт ColonyNetwork (если это какой-либо другой токен), после чего данный актив продаётся на аукционе за общепризнанный. Таким образом происходит финансирование разработчиков, поддержка работы сети и Протокола майнинга репутации.

CLNY - это нативный токен Metacolony. Нужен для майнинга репутации(см. ниже), управления организацией, стейкинга, получения дивидендов от прибыли Metacolony. Предполагается поэтапный (через 4 стадии) перевод управления сетью от команды разработчиков (с помощью Multisig аккаунта) в полное распоряжение DAO Metacolony.

Майнинг репутации

Рассчёт репутации требует вычислений и будет происходить off-chain силами держателей CLNY и алгоритма консенсуса Proof-of-Stake (PoS), а в блокчейн будут записывать результаты этих вычислений. С точки зрения теории игр система защищена похожим образом как и протокол TrueBit.

Coordinape

(site, docs, github)

CoordinApe появился как внутренний инструмент Yearn DAO. В CoordinApe координация построена вокруг “кругов” — групп участников DAO, которые работают вместе и хотят распределять средства децентрализованным способом. Время разделено на эпохи (обычно неделя или месяц). В начале каждой эпохи каждый участник круга получает 100 токенов GIVE, которые он может свободно дарить другим членам команды. Как правило, ожидается, что участники круга будут дарить GIVE другим участникам пропорционально их вкладу. Фактически это оценка вклада других людей в достижение общей цели. В конце эпохи полученные GIVE каждого участника преобразуются в токены GET, которые затем можно использовать для получения пропорциональной части выделенных средств.

  • Анализ исходного кода
    • Аудиты безопасности не найдены
    • Активность разработки
      • смарт-контракты -
      • Backend (Hasura GraphQL API) + frontend (React) -
  • Анализ возможностей фреймворка
    • Распределение репутации между членами команд (кругов) off-chain
    • В стадии beta on-chain версия протокола, которую предполагается развернуть в одном из L2 Ethereum. В рамках этого протокола токены GET будут выпускаться в варианте ERC-1155
    • С web3 Coordinape связывает авторизация по публичному ключу из Ethereum
  • Технологический стек
    • EVM-контракты + выделенный сервер
    • Нативный токен отсутствует

DAOStack

(Site, intro, docs, github)

DAOStack предлагает набор программных компонентов для полноценной работы с DAO - DApp, смарт-контракты, SubGraph (для индексации событий в DAO и записи из в базу данных). Логика смарт-контрактов реализована в двух слоях - Infra (голосования, управление доступом) и Arc.

  • Анализ исходного кода
  • Анализ возможностей фреймворка
    • Модульная архитектура позволяет подключать плагины (в том числе в веб-интерфейсе)
    • Использование сети предсказателей для управления пропускной способностью DAO по обработке предложений (уменьшение необходимого кворума для принятия решения и позиции в списке предложений)
  • Технологический стек
    • EVM-контракты + сеть предсказателей с токеном GEN для Boost'а предложений

Ключевые особенности:

  • Infra
    • Holographic Consensus (голографический консенсус). Способ повышения пропускной способности DAO в обработке предложений. Для этого используется отдельная сеть предсказаний (подобно Prediction Market), где держатели токена GEN могут сделать ставку за тот или иной исход предложения. Если предложение в итоге победило, то предсказатель получает награду. Предложения, которые получают высокую оценку предсказателей получают Boost - возможность ускоренного рассмотрения, когда не требуется кворум голосов. Голографический консенсус решает ту же самую задачу, что и последовательное рассмотрение предложений в Moloch или минимально допустимый депозит для открытия предложения. Участвовать в предсказаниях может любой держатель GEN.
    • Голосование возможно как с помощью классических передаваемых токенов, принадлежащих пользователю, так и с помощью непереходящего токена репутации REP, который достаётся в виде награды автору принятого предложения и проголосовавшим за него. REP может быть перераспределён организацией вручную и автоматически - например, если участник голосовал против принятого предложения. Объём вознаграждения и штрафа настраивается при создании DAO.
  • Arc использует концепцию универсальных контрактов, которые можно переиспользовать всем организациям DAOStack и, тем самым, сократить затраты на разворачивание собственных контрактов. Arc состоит из следующих компонентов:
    • Avatar - аккаунт DAO. Контракт представляет адрес DAO и держит в себе все активы.
    • Reputation - управление репутацией
    • Token - собственный токен
    • Controller (контроллер) - реализует управление доступом в DAO, управляя тем кто именно может взаимодействовать с функциями DAO и определять ограничения.
    • Schemes (схемы) - представляют действия DAO, которые должны быть авторизованы Controller как Scheme. Схемы могут быть использованы для разных целей DAO: предлагать и делать инвестиции, дать репутацию участнику, обновить контракты DAO, регистрировать новые типы действий и ограничений и т.д..
    • Global Constraints (глобальные ограничения) - ограничения для действий DAO. Когда исполняется scheme, контроллер проверяет ограничения и может заблокировать исполнение в случае несоответствия. Примерами ограничений могут быть: предложение токенов не должно превышать 1 млн., организация не может использовать более 60% активов за раз и т.д..

Gardens

(overview, docs, github)

Фреймворк Gardens(сады) стремится поддерживать у организаций координацию снизу вверх в децентрализованных сетях. Любой может приходить и уходить, когда ему заблагорассудится. Члены сети могут постоянно сообщать о своих предпочтениях. Gardens — это социальная, финансовая и техническая основа для организации онлайн-сообществ. Это дает людям возможность координировать свои действия вокруг причин, социальных движений или даже мемов. Gardens спроектированы так, чтобы быть децентрализованными и автономными с самого начала. Основываясь на интерпретации теста Хинмана, Gardens позволяют людям воспользоваться преимуществами токенизации, сводя к минимуму риск быть обозначенным как ценная бумага. Любой может создать свой Сад. Однако создатель Сада не имеет каких-либо особых прав или полномочий в этом сообществе.

  • Анализ исходного кода
    • Аудиты безопасности
    • Активность разработки
      • смарт-контракты - . Главный контракт представляет из себя набор контрактов, заимствованных из Aragon, Uniswap, Gnosis Safe (надёжные, проверенные временем проекты).
      • DApp - . Для отдельных приложений фреймворка (см.ниже) есть отдельные UI.
  • Анализ возможностей фреймворка
    • Состоит из модулей, которые могут работать как отдельные приложения
    • Gardens можно включать друг в друга. Основная организация может выступать в качестве ядра экосистемы и при этом включать в себя производные организации, которые используют токены основного DAO в качестве залога/валюты для производных DAO. Это создает экосистему организаций Садов, которые связаны с основной организацией (давая участникам долю в экосистеме), но также позволяют каждому Саду сосредоточиться на своих собственных целях и вариантах использования.
    • Тесно сотрудничает с Commons Stack сообществом и заимствует научно обоснованные механизмы поддержки принятия решений.
  • Технологический стек
    • Набор контрактов на Solidity + DApps
    • Тип консенсуса зависит от сети с EVM, где данные контракты развёрнуты
    • Всё работает на xDai (ныне Gnosis Chain) - сайдчейне эфира с стейблкойном xDai в качестве нативного. Организация, которая занимается поддержкой проекта - https://1hive.org/. Эта организация использует Gardens. Полный перечень организаций, использующих Gardens. Помимо Gardens, 1Hive развивает протокол разрешения споров Celeste, DEX Honeyswap, протокол лендинга Agave.

Механизмы

  • Marketplace (пул ликвидности). Провайдер ликвидности типа Uniswap, где сборы за предоставление ликвидности поступают непосредственно в DAO, чтобы участники могли использовать их для достижения целей DAO. Токены выпускаются (чеканятся и сжигаются) непрерывно по кривой связывания.
  • Issuance (пул выдачи) . Позволяет выдавать новые токены на адрес (часто агента DAO) на основе политики непрерывной выдачи. Это позволяет создавать модели инфляции в стиле Биткойн для поддержки сообщества. Если токены отчеканены агенту DAO, члены DAO могут проголосовать за выделение токенов для инициатив сообщества. Если токены чеканятся с использованием другого механизма распределения (скажем, контракта на добычу ликвидности), это может вознаграждать вкладчиков и давать им долю в DAO. Примечание: рекомендуется использовать приложение либо Marketplace, либо Issuance, в противном случае возможно возникновение петель положительной обратной связи.
  • Redemptions (пул выкупа/погашения). Помещая активы DAO в этот пул, держатели токенов имеют право претендовать на операционные активы DAO. Если DAO делает что-то, с чем держатели токенов не согласны, они могут выкупить их либо в пул Redemption, либо в пул Marketplace. Предполагается, что они будут выкупаться в зависимости от того, что больше.
  • Conviction voting (голосование по убеждениям). Метод разработан фондом Commons Stack и исследовательской организацией Block Science (авторы cadCAD - инструмента моделирования сложных много-агентных систем) и имеет научное обоснование. Conviction voting позволяет снизить шансы проведения таких векторов атак на организацию как подкуп голосов, атаку Сивиллы, влияние на голосование в самый последний момент, апатию избирателей. Такое голосование позволяет участникам постоянно сигнализировать о своих предпочтениях вместо необходимости «принимать решение» к определённому сроку. Интерфейс пользователя упрощается до простого отображения и поддержки того, что вам небезразлично. Пользователь в любое время может изменять свои предпочтения к тем или иным инициативам(proposal), выраженные в размере его доли, распределяя их по частям (вместо попарного сравнения в Budget Box в Colony). Система как бы поощряет тех, кто проявлял настойчивость в продвижение своей идеи с течением времени и не даёт т.н. "китам"(владельцам крупных долей) влиять на голосование. Инициатива принимается в тот момент, когда набирается необходимый показатель поддержки сообществом, который зависит от объёма выделяемых средств относительно общего фонда организации. Более крупные предложения нуждаются в большей поддержке, а более мелкие — нет. Большинству не нужно достигать консенсуса по всем вопросам. Подробнее.
  • Dandelion Voting (одуванчиковое голосование). Используется для административных действий в DAO. Ожидается, что они могут и должны быть минимальными. Если DAO предпринимает действие, которое не нравится держателям токенов, они могут выйти с помощью механизма "хлопнуть дверью" или "выход в ярости" (rage-quit). Однако, если владелец токена проголосует «за», ему будет запрещено выходить как на выкуп (Redemption), так и на рынок (Marketplace) , пока предложение не будет принято.

JuiceBox

(site, docs, github)

Позиционируют себя как программируемая сокровищница(казна, treasury) как для небольших инди-проектов, так и для сообществ, управляющих тысячами ETH. Позволяют гибко настраивать циклы распределения средств при непрерывном финансировании как в Patreon. Самый известный проект, созданный на фреймворке - ConstitutionDAO, в котором энтузиасты хотели выкупить экземпляр конституции США и выставить артефакт для публики в одном из музеев.

  • Анализ исходного кода
  • Анализ возможностей фреймворка
    • Juicebox протокол состоит из 7 корневых контрактов и 3 связывающих контрактов. Корневые контракты представляют собой набор независимых компонентов для работы протокола. Связывающие контракты объединяют корневые контракты вместе и управляют активами. Кто угодно может реализовывать собственные связывающие контракты для своего проекта и подключать их.
    • Хорошая подробная документация ко всем смарт-контрактам
  • Технологический стек
    • Набор контрактов на Solidity + DApps
    • Тип консенсуса зависит от сети с EVM, где данные контракты развёрнуты
    • Juicebox берет 5% от суммы, собранной для каждого проекта в ETH или USD, давая взамен токены JBX. Проекты могут использовать свои JBX для участия в управлении JuiceboxDAO и его коллективным казначейством, а также для погашения его растущего переполнения . Размер комисии может быть изменён путем голосования членов JuiceboxDAO.

Особенности фреймворка:

  • Право владения проектом оформляется в виде NFT и может быть передано другому лицу. Также владелец проекта может делегировать другому аккаунту право распоряжаться казной проекта.
  • Funding Cycles (циклы финансирования) настраиваются по размеру выделяемых средств и по периоду, в течение которого это финансирование должно быть достигнуто. Проекты без установленного цикла финансирования могут изменить растройки в любой момент, что запустит новый цикл финансирования. Параметры цикла финансирования не могут меняться во время его действия; изменённые параметры будут применены в следующем цикле. Цель финансирования задаётся в USD или ETH.
  • Распределение бюджета. Можно настроить какой процент собранных средств на какой адрес будет поступать - т.н. Split. В качестве адреса может быть что угодно - multisig, DAO и любой аккаунт Ethereum
  • Токены проекта. Если пользователь финансирует проект, то он получает заданное циклом финансирования (параметр weight) количество токенов проекта в виде вознаграждения. Если проект достиг цели финансирования, то все полученные сверх срества формируют т.н. Overflow (переполнение). Полученные токены пользователь может сжечь, получив средства из Overflow. Если у пользователя на балансе содержится 1% токенов, то он может получить 1% от суммы переполнения. Также возможно задать долю Зарезервированных токенов, которые не будут распределяться при сжигании переполнения, а будут передаваться каким-то другим участникам проекта. При создании DAO можно задать возможность произвольно выпускать новые токены. В момент создания DAO стартует без токенов и может начать выпускать их как только начнёт получать взносы. Любой держатель может сжечь токены проекта, если текущий цикл проекта не настроен на приостановку сжигания.
  • Ставка дисконтирования - процент, настраивающийся для каждого цикла финансирования, определяющий насколько параметр weight должен быть уменьшён в следующем цикле финансирования. Является программируемым способом сокращения эмиссии, скорость которого зависит от продолжительности циклов финансирования. Для более гибкого управления выпускаемыми проектом токенами может быть задана Кривая связывания (Bonding Curve).

Moloch

(site, paper, docs, github), используется в DAOHaus

Название данного набора контрактов навеяно статьей Скотта Александера Медитации на Молохе, где рассматривается проблема координации индивидов в коллективной деятельности (см. Трагедия общин, Дилемма заключённого). Молох символизирует собой негативный эффект из-за отсутствия координации, когда страдают все участники коллективной деятельности. В общем случае проблема решается либо введением актора, стоящего над всеми участниками (условный диктатор), либо использованием соответствующей технологии для координации.

DAO Moloch возник как технологический ответ на подобные проблемы, которые возникли в ходе подготовки Ethereum 2.0, когда из большого сообщества пользователей Ethereum только малая часть вкладывалась в разработку новой версии протокола. Фреймворк черпает методы, предложенные экономистами Элинор Остром и Манкур Олсон в области решения проблем коллективной деятельности. На данный момент выпущено уже две версии смартконтракта.

  • Анализ исходного кода
    • Наличие аудитов безопасности
      • Nomic Labs для Moloch V1 (в V2 исправлены часть уязвимостей)
    • Активность разработки
      • смарт-контракты -
  • Анализ возможностей фреймворка
    • Один тип организаций
    • Поддерживаются любые ERC-20 токены, прописанные в whitelist-списке контракта
    • Построенный поверх Moloch сервис DAOHaus позволяет кастомизировать создание ДАО в зависимости от настроек времени голосования
  • Технологический стек
    • Любой EVM совместимый блокчейн

Особенности фреймворка:

  • Minimum Viable DAO (минимально жизнеспособное DAO). DAO Moloch следует принципу минимализма кода и on-chain активности. Меньше кода - меньше уязвимостей; меньше транзакций on-chain - меньше транзакционных расходов организации. На данный момент основной контракт DAO Moloch V2 содержит около 700 строк кода.
  • GuildBank (банк гильдии) - набор ERC-20 и ERC-721 (NFT) активов, заблокированных в контракте ДАО. Те, кто вкладывает в банк активы, получает право на долю средств в банке (соответствующую вкладу) с правом голосовать за предложения (Shares) или без права голоса (Loot). Участники ДАО могут сократить свою силу голоса, получив взамен соответствующий актив от гильдии. То есть участники могут обменять свою долю в банке на право распоряжаться этим банком через предложения.
  • Proposals (предложения) исполняются последовательно, то есть на рассмотрении может быть только одно предложение. Таким образом обеспечивается защита от спама. Предложения бывают следующих типов:
    • Funding - предложение о выделении средств из банка - поддерживаемых токенов или голосов
    • Member - предложение о участии. Содержит в себе запрос Shares от претендента и сумму в поддерживаемых банком токенах (Trubute Token). Может быть создан действующим участником для увеличения своей силы голоса. Shares выпускаются
    • Whitelist Tokens - предложение об изменении перечня поддерживаемых банком ДАО токенов
    • Trade - предложение об обмене
    • GuildKick - исключение участника; права сжигаются, доля возвращается
    • Minion — запрос на взаимодействие с внешним смарт-контрактом (подробнее).
  • RageQuit (выход в ярости). Предназначен для случаев, когда принятое голосованием предложение не соответствует убеждениям отдельных участников (то есть они не голосовали Yes). После принятия предложения устанавливается Grace период, в течение которого недовольный участник может отказаться финансировать предложение и выйти из DAO, забрав свою долю активов. Протокол предусматривает отмену принятого решения при определённом количестве вышедших участников. Этот механизм стимулирует выработку консенсусных решений и не позволяет кворуму диктовать условия для остальной части сообщества. При выходе доли Shares и Loot сжигаются

Этапы обработки предложения

  1. Подача (Submit Proposal). Любой желающий может подавать предложения в DAO.
  2. Запрос подтверждения (Sponsor Proposal). После отправки предложения оно попадет в раздел Неподтвержденных предложений. Это означает, что кто-то из shareholder должен поддержать предложение, чтобы оно было перенесено на голосование. Только участники могут "спонсировать" предложение, отправляя его в очередь.
  3. В очереди (In Queue). Как только предложение будет поддержано, оно попадет в очередь. Очередь обеспечивает упорядоченное направление предложений на голосование. Одно предложение перейдет из очереди в Период голосования в сроки, указанные инициаторами вашего DAO.
  4. Период голосования (Voting period). По истечении периода голосования участники теперь могут проголосовать по предложению. У каждого предложения есть "x" количество времени в период голосования, когда оно должно получить больше голосов "За", чем "Против", чтобы быть принятым.
  5. Льготный период (Grace Period). Голосование окончено, и Предложение будет принято или отклонено в зависимости от голосов, поданных во время голосования. Участники, проголосовавшие "Против" и не имеющие других ожидающих голосов "За", могут выйти из DAO, забрав свою часть из банка.
  6. Готово к обработке (Ready for processing). Затем предложение отправляется на обработку, в которой голосование помечается меткой временем в блокчейн.
  7. Завершено (Completed). После обработки предложение помечается как Завершенное и все переводы средств и долей выполняются, как указано в предложении.

Tribute

(site, docs, github) от команды OpenLaw (docs)

Название (Дань) символизирует дань уважения своему предшественнику - MolochDAO, все функции которого есть и в Tribute (таблица сравнения Moloch V1/V2 и Tribute). Проект команды OpenLaw - фреймворка для интеграции DAO с законодательством.

  • Анализ исходного кода
    • Наличие аудитов безопасности
      • Нет данных
    • Активность разработки
      • смарт-контракты -
      • DApp -
  • Анализ возможностей фреймворка
    • Широкие возможности кастомизации за подключения расширения и адаптеров
  • Технологический стек
    • Любой EVM совместимый блокчейн

Контракты Tribute совместимы с Moloch V1/V2. Фреймворк стремится обеспечить дополнительные гарантии безопасности и вводит трёх-слойную архитектуру смарт-контрактов:

  • Core Contracts (корневые контракты)
    • DaoRegistry : отслеживает изменения состояния DAO; только адаптеры с соответствующими флагами доступа могут изменять состояние DAO.
    • CloneFactory : создает клон DAO на основе его адреса.
    • DaoFactory : создает, инициализирует и добавляет конфигурации адаптера в новый DAO, а также использует CloneFactory для снижения транзакционных издержек создания DAO.
    • DaoConstants : определяет все константы, используемые контрактами DAO, и реализует некоторые вспомогательные функции для управления флагами доступа.
  • Extensions (расширения) - добавляют дополнительные возможности/функции в DAO без изменения его основных контрактов. Расширения создаются и связаны с конкретным DAO.
    • Банк : добавляет банковские возможности в DAO и отслеживает счета DAO и внутренние балансы токенов.
    • Executor : добавляет в DAO возможность выполнения делегированных вызовов других контрактов, включая контракты, не входящие в состав DAO, с помощью инструкции EVMdelegatecall.
    • NFT, ERC20, ERC1271, ERC1155 : добавляют в DAO соответствующие ERC возможности.
  • Adapters (адаптеры) - выполняют логику смарт-контракта, которая изменяет состояние DAO, вызывая основной контракт DAORegistry. Они также могут составлять сложные вызовы, которые взаимодействуют с внешним миром, другими адаптерами или даже с расширениями. Могут быть двух основных типов: Proposal (изменяет состояние DAO через процедуру предложения) и Generic (изменяет состояние DAO без процедуры предложения). Адаптеры не привязаны к конкретному адресу DAO, поэтому можно использовать один и тот же адаптер для выполнения действий в разных DAO.

Zodiac

(docs, github)

Набор отдельных смарт-контрактов/модулей от команды Gnosis, авторов Gnosis Safe - мультиподпись-контракта для Ethereum. Модули могут быть подключены через Gnosis Safe UI.

  • Анализ исходного кода
  • Анализ возможностей фреймворка
    • Модули можно подключать к Gnosis Safe или к своему контракту в любой конфигурации
  • Технологический стек
    • Любой EVM совместимый блокчейн

Компоненты Zodiac:

  • Avatars (аватары) - аккаунты, управляемые как группой (например, Gnosis Safe), так и отдельными людьми
  • Modules (модули):
    • Reality. Позволяет выполнять код в блокчейне на основе результатов событий, о которых сообщает Reality.eth. Первоначально создан для выполнения транзакций Gnosis Safe в соответствии с предложениями Snapshot.
    • Bridge. Позволяет адресу в одном блокчейне управлять Аватаром в другом блокчейне, используя мост произвольных сообщений (Arbitrary Message Bridge, AMB). Это позволяет DAO в одном блокчейне контролировать активы и взаимодействовать с такими системами, как Gnosis Safe, в другом блокчейне.
    • Exit. Аналог RageQuit из Moloch DAO
    • Safe Minion (разработан DAOHaus). Позволяет Moloch DAO управлять активами в Gnosis Safe на основе результатов предложений Moloch DAO v2. Safe Minion позволяет Moloch DAO управлять коллекциями NFT, управлять позициями пула ликвидности (Luquidity Pool, LP) с помощью Automated Market Maker (AMM) и инициировать любые другие произвольные взаимодействия. Это позволяет DAO, которые начинаются как Gnosis Safe, позже делегировать управление Moloch DAO.
    • Seele (разработан TokenWalk). Позволяет Аватарам работать с ненадежными токенизированными DeGov, подобными Compound или Gitcoin, с ядром предложения с ограниченным временем, которое может регистрировать сменные контракты на голосование. Это позволяет DAO выбирать из различных методов голосования в сети, которые лучше всего соответствуют их потребностям.
  • Modifiers (модификаторы)
    • Delay. Модификатор позволяет аватарам устанавливать временную задержку между моментом, когда модуль инициирует транзакцию, и моментом, когда она будет выполнена.
  • Охранники
    • Scope. Позволяет аватару ограничивать область доступных функций, с которыми могут взаимодействовать его владельцы. Это позволяет аватару задавать подробные разрешения для различных механизмов управления.

Вспомогательные материалы

Агрегаторы

  • boardroom.info - агрегатор DAO-протоколов
  • deepdao.io - рейтинг DAO с указанием объёма активов и типа протокола

Инструменты

  • DAO Tools - наиболее полная таблица инструментов для DAO на текущий момент.
  • snapshot.org - off-chain голосования для членов DAO
  • Discourse - Forum commonly used to discuss governance proposals.
  • CollabLand- Bots providing token-gated access and tipping to community chat groups.
  • Parcel - Treasury management to easily track and send payments. Управление казначейством, отправка платежей
  • llama.xyz - управление казначейством
  • SourceCred - Instance to track community participation and reward active members. Отслеживание участия и вознаграждение активных чуваков
  • mirror.xyz - Finance creative projects through tokenized crowdfunds. токенизированные краудфандинги
  • Tally - Governance dashboard to track on-chain voting history across different protocols. Отслеживание истории голосования в сети по различным протоколам
  • Sybil - Create and track on-chain governance delegation. создание делегирования и цепочек управления
  • RabbitHole - Reward tokens for completing specific on-chain tasks. распределение наград за определенные задачи
  • commonwealth.im - универсальная площадка для дао проектов, стремятся объединить все нужные инструменты в одном месте
  • withtally.com - универсальный инструмент для создания ДАО
  • tribeca.so - создание и управление ДАО на solana, открытый исходный код
  • app.sqds.io - создание и управление ДАО на solana, No-code, голосование и казна
  • thedecider.app - модели принятия решений
  • mattereum.com - создание сетей sub dao, управление традиционными финансовыми активами
  • orcaprotocol.org - создание ячеистой структуры управления
  • spruceid.com - системах учетных данных
  • gauntlet.network - служба мониторинга рисков
  • myco.space - создание и управление ДАО
  • automata.fi - покупка голосов управляющих
  • sourcecred.io - распределение вознаграждений участникам в зависимости от привнесенной ценности

Исследования, обзоры, базы знаний

Сообщества

  • commonsstack.org - набор open source инструментов для поддержки DAO, исключающих трагедию общин (Token Engineering и других)
  • Token Engineering Commons - сообщество инженерии токенов; научный подход к токенизации.