The AZ funding process consists of 2 main subflows:
1. Creating a project
2. Creating a phase
- Creating a project
I wouldn’t change anything here since no funds are being released as a result.
- Creating a phase
Problem: The phase votes are counted too early, pillars don’t have time for opposition.
With 86 pillars, the quorum is now 30 votes, which is calculated as the total amount of yes + no + abstain.
For a phase to be funded, it needs to pass the following checks:
A. YES votes > NO votes
B. sum of YES + NO + ABSTAIN > quorum
This means that once a phase has 16 pillars supporting it, meaning 16 YES votes, there’s no real way for others to stop it.
If other pillars decide they don’t want to fund this phase, intuitively they’d vote NO or ABSTAIN, but not enough NO votes could be casted (17 NO votes) to surpass the 16 YES votes before the quorum (31 votes) is reached.
Therefore once the pillars opposing this phase start voting NO or ABSTAIN, once they reach 15 NO votes, the quorum is reached and the phase gets funded automatically, at which point the voting stops.
Solution: Count votes # days after phase is created
The best solution here is enforce a window of time before any phase can get funded regardless of the outcome, this way pillars have the change to oppose a phase by casting NO votes.
To sum it up, add condition C. to the ones above:
A. YES votes > NO votes
B. sum of YES + NO + ABSTAIN > quorum
C. phase created at least # days ago
The number of days should be enough for pillars to vote, but not so much that it would discourage spontaneity.
For simplicity, considering that the projects have a maximum of 2 weeks before they are considered expired if they don’t get enough votes, phases could get a minimum of 2 weeks before the votes are counted.