This article describes the implementation of https://github.com/Dexaran/CallistoDAO and how it is different from the original TheDAO.
Callisto DAO is based on the source code of TheDAO that was hacked in 2016 and caused Ethereum-ETC split.
The original DAO whitepaper can be found here.
1. Updated syntax / Solidity version
The original DAO contract was written 7 years ago (in 0.4.0 solidity) and the syntax of Solidity changed significantly.
You can find the original DAO contract implemented in solidity 0.8.0 here: https://github.com/Dexaran/CallistoDAO/blob/main/DAO.sol
2. “Curators” of the DAO are re-implemented
The original DAO featured one curator who had access to some management functions (such as whitelisting addresses to receive rewards).
In CallistoDAO there can be multiple Curators. Curators can vote to add a new Curator or remove an existing one.
In CallistoDAO Curators have weight and their votes are weighted against each other (i.e. one Curator can have more voting power than others). So, CallistoDAO is splitted in two parts: the management of funds and the management of management personnel which was not part of the original DAO.
Also, in CallistoDAO Curators have “veto” rights. By default a single Curator can permanently disable a funding proposal. However, if there were no accepted proposals for a certain time frame due to the fact that Curators VETO’ed everything the threshold of “veto” votes will auto-increase and 2 veto votes would be required to disable a proposal. If no proposal was accepted within a specified time once again “veto” threshold will auto-increase again and so on.
3. Token support
The original DAO operated with Ether only.
- DAO accepted proposal submission fees in ETH only
- Proposal could request funds in only in ETH
- Generated revenue could be deposited back to the DAO contract only in a form of ETH
CallistoDAO allows Curators to add tokens as payment methods and revenue option.
4. No DAO splits — no chain splits
The original DAO assumed that if the holders of the DAO tokens disagree with the chosen governance model and decision making — they can split off at any time.
In case of Callisto, however the DAO contract is intended to govern the distribution of funds and the development activity of the core team of the Callisto chain. And a “split” would actually mean … a fork. With a new token creation, support or lack of support by exchanges and the split of the infrastructure which is terrible for the ecosystem in any case.
So, the “split” feature was removed from the contract and the governance system was reworked to allow multiple curators and weighted voting as a measure of protection against malicious actions should one party have interests in corrupting the system.
5. ERC-223 token support
CallistoDAO can correctly accept ERC-223 tokens.