For anyone who doesn't know about the DAO exploit you can read up on it here.

It seems to me like the attack could have been stopped if payouts went through another contract that was really simple but acted like a spigot. They would have still lost money but the spigot contract would have stopped the unstoppable flow of money out that ended up requiring a hard fork.

I feel like most contracts should be using some sort of spigot contract to mitigate bugs.

Am I right in this? Or are there other things I'm not considering?

1 Answer 1


If I understand you correctly the spigot can be opened by certain people. Let's say the curators. Basically, they have to sign each monetary transaction flowing out of the DAO. This would give them de facto veto rights on any proposal or split executed.
Yes, the solution is able to halt the money flow. Also, to deincentivise certain attacks.
If the attack has the intention to harm the DAO or to manipulate the markets in order to gain from them, then a simple spigot contract is not enough. Curators would need the possibility to reverse the transaction or not allow it the first place. Spigot within the payout function, so to say. But then: should the money be locked or would it possible to use it for other accepted proposals? It takes time to consider all the consequences.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.