-
Notifications
You must be signed in to change notification settings - Fork 488
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DIR 4 - Protection from the ambush attack #252
Comments
Another possible design for this might create something like "max number votes per day". This could be a linear or exponential function over the voting period, decreasing from 100% on the first day to possibly 2% on the last day. When a vote comes in, if it exceeds the maxVotesPerDay, the extra votes would be tallied to a pendingVotesBalance variable. When the next vote comes in, it counts the vote and tries to add any votes from the pendingVotesBalance, up to the max for the day. Ideally, there would be an automated daily execution so that any pendingVotes automatically fill any days that have no reached maxVotesPerDay. This design might create more of a psychological desire to vote early, rather than simply shifting the ambush attach to daysBeforeEndOfDebatingPeriod -1. |
If this DIR is implemented, along with DIR 3 which makes the no votes no longer contribute towards quorum. I believe the Minimum Proposal Debate Periods should also decrease to compensate for the increased execution time. As a mini DIR within this DIR... I believe this allows us to address a real problem that is hurting The DAO Changelog14-06-2016: mini-DIR created Problem DefinitionThe DAO is very slow to act, even in cases of need. For instance, if the DAO needed to make some sort of update to its code to add a function that would allow the DAO to hold equity in a company but The DAO for some reason wanted a
I will do the math for you... that process takes The DAO 51 days to accomplish.... and thats not including the time it takes for the users to actually migrate to the new DAO. 45 days is an eternity in crypto.... For example 45 days ago the price of ETH was $9.15 USD and today it is > $18 USD this is quite the handycap. If the DAO is to compete with regular companies that can make a decisions in matter of minutes, The DAO needs to shorten the time it takes to make decisions not lengthen it ( Proposed SolutionVery simple:
Note that these are MINIMUMS! If a Contractor wants to, they can still make the There is no longer a disincentive to vote no and because the If this was implemented the above example would only take 35 days... Still an eternity, but it is still an improvement. Also, remember that Jordi has already implemented Liquid democracy, so that if a DAO Token Holder wants to go on vacation, they can send their DAO tokens to a DAO Token Holder Pool. |
Changelog
13-06-2016: DIR created
Problem Definition
With the DAO v1.0 code there is the possibility of a proposal that is quite bad to be made. Since the proposal is bad and has no chance of passing DTH may refrain from voting. At the very end of the voting period a malicious attacker with a lot of tokens may put all of his "yes" votes and pass the proposal when none was expecting it.
Proposed Solution
The solution to the ambush attack is quite simple. An implementation of it can be seen here. The idea is to have a period of days before the end of the debating period by which the proposal needs to have more "yea" than "nay". This is a check that is implemented in a function that anyone can call. If that check is not satisfied then the proposal will not be executable.
As an extra addition towards this issue we can also add a
splitGracePeriod
which is essentially a period of time between the end of the voting period and the execution of the proposal when people can withdraw from the DAO and lose no funds. An implementation of this can be seen hereThe text was updated successfully, but these errors were encountered: