В этой статье описывается реализация https://github.com/Dexaran/CallistoDAO и чем она отличается от оригинальной TheDAO.
Callisto DAO основан на исходном коде TheDAO, который был взломан в 2016 году и привел к разделению Ethereum и ETC.
Оригинальный технический документ DAO можно найти здесь.
1. Обновлен синтаксис/версия Solidity
Первоначальный контракт DAO был написан 7 лет назад (в Solidity 0.4.0), и синтаксис Solidity значительно изменился.
Вы можете найти оригинальный контракт DAO, реализованный в Solidity 0.8.0, здесь: https://github.com/Dexaran/CallistoDAO/blob/main/DAO.sol
2. Перереализованы «Кураторы» ДАО
В первоначальном DAO был один куратор, у которого был доступ к некоторым функциям управления (например, добавление адресов в белый список для получения вознаграждений).
В CallistoDAO может быть несколько кураторов. Кураторы могут проголосовать за добавление нового куратора или за удаление существующего.
В CallistoDAO Кураторы имеют вес, и их голоса взвешиваются друг против друга (т. е. один Куратор может иметь больше права голоса, чем другие). Итак, CallistoDAO разделен на две части: управление средствами и управление управленческим персоналом, который не входил в исходный DAO.
Также в CallistoDAO кураторы имеют право вето. По умолчанию один куратор может навсегда отключить предложение о финансировании. Однако, если не было принятых предложений в течение определенного периода времени из-за того, что кураторы наложили вето на все, порог голосов «вето» будет автоматически увеличиваться, и для отключения предложения потребуется 2 голоса вето. Если ни одно предложение не было принято в течение указанного времени, снова порог «вето» снова автоматически увеличится и так далее.
3. Поддержка токенов
Оригинальный DAO работал только с эфиром.
- DAO принимает плату за подачу предложений только в ETH.
- Предложение может запрашивать средства только в ETH
- Полученный доход может быть возвращен в контракт DAO только в форме ETH.
CallistoDAO позволяет кураторам добавлять токены в качестве способов оплаты и получения дохода.
4. Нет разделения DAO — нет разделения цепочки
Первоначальный DAO предполагал, что если держатели токенов DAO не согласны с выбранной моделью управления и принятия решений — они могут отделиться в любой момент.
Однако в случае с Callisto договор с DAO предназначен для регулирования распределения средств и деятельности по развитию основной команды сети Callisto. И «раскол» на самом деле означал бы… вилку. С созданием нового токена, поддержкой или отсутствием поддержки биржами и разделением инфраструктуры, что в любом случае ужасно для экосистемы.
Так, из контракта была удалена функция «разделения», а система управления была переработана, чтобы разрешить несколько кураторов и взвешенное голосование в качестве меры защиты от злонамеренных действий, если одна из сторон заинтересована во взломе системы.
5. Поддержка токенов ERC-223
CallistoDAO может корректно принимать токены ERC-223.