A take on a simple ETH recovery fund/dao


Alex Van de Sande made a recent [contribution](https://medium.com/@avsa/recovering-lost-ether-past-and-future-eeb38b17aeb5) to the idea of a non-fork solution for recovering ETH lost to bugs like the Parity multi-sig issue. His article followed a number of [other](https://www.reddit.com/r/FriendsOfParity/comments/8dv11j/proposal_a_gradually_filling_recovery_fund/) [notable](https://www.reddit.com/r/FriendsOfParity/comments/8dzokm/a_nonhard_fork_proposal_that_allows_parity_to/) [ideas](https://www.reddit.com/r/FriendsOfParity/) from the community. I had some code that was already quite similar to some of these so I’ve [repurposed it](https://github.com/re-eth/contracts/blob/master/contracts/Reeth.sol) as a first pass at what could constitute a recovery fund/dao. Part of Alex’s suggestion is for the fund to provide future insurance. This use-case would likely mean that the related token be regarded a security token. As that may complicate participation the project could be pursued in two stages – basically insurance could be added as a module at a later date.

**Project Stages**

* **Stage 1**: goal only to restore as much ETH as possible to those who lost it. not a security token.
* **Stage 2**: add insurance module. likely becomes security token.

The current contracts attempt to achieve **Stage 1** with the following basic outline:

* Two tokens
* Voting and non voting (REEV & REE)
* Each equal claim to backing ETH (either can burn to claim portion of backing ETH at any time)
* Voting/DAO contract
* controls each token – can mint/burn from each
* accepts ETH to award voting REEV 1:1
* props are added along with a 1 REEV stake which is burned if the prop fails
* props pass with 2/3 token vote after PROP_DURATION and any PROP_CLOSE_FLIP_DELAY
* vote duration is extended by PROP_CLOSE_FLIP_DELAY if the result flips within PROP_CLOSE_DURATION before the end of the vote
* prop actions are NONE, UPGRADE, ENDOW_REE, ENDOW_REEV
* passing props can be enacted after ENACT_DELAY (stakeholder can withdraw in the case of vote abuse)

The use of two tokens is a simplification over Alex’s suggestion to have separate tokens for different classes of ETH losses. REEV holders (bought 1:1 for ETH) would vote for who to allocate REE to, but both would have claim to the ETH held in the contract. Of course any REEV holders who vote to allocate REE would be dilluting their own claim to the backing ETH but they would be free to exit with their current share at any point. The point I guess is to provide something as a target for socializing these losses as well as something that could be built on in the future (insurance).

View Reddit by carlslarsonView Source