Lately two new votings ( and ) have been created in the CFDAO for ghost proposals that are not reflected in the forum. They have been addressed by some people voting nay, but they are boating the voters attention and making them spend gas.
The easiest solution would probably be to unassign the CREATE_VOTE role to ANY_ENTITY and assign it to a group of “DAO admins”, but that would probably be not the most permissionless way to deal with this situation.
I wonder if we as a community can think in other ways to make spam costful enough to not have to deal with it anymore.
What comes to my mind is an intermediate escrow app that makes you pay a high fee (arround 10 DAI) to create a voting, and if it complies with the rules of the community, the fee is refunded, but if people detects it as spam, it is funded to the DAO pool.
I’d love to hear other ideas to solve this problem. I’m sure we can come up with an imaginative solution.
Thanks for creating this topic, the spam vulnerability has been a concern since the CFDAO launched, but until recently people have generally just engaged in good faith and so it has not been a pressing issue.
We have a few potential tools in the tool box but what I would recommend most is either adopting a “moderator type flow” using the approvals app, and/or a pay to propose model using the tollgate app. The pay to propose model could have a social norm of requesting an additional amount to recover the payment, so you only really pay if you submit a proposal that doesn’t pass.
I like the escrow approach that you mention as well, this is essentially the use case for the Aragon Court and proposal agreements. I think its probably ideal, because it doesn’t require moderators with specific powers, and doesn’t punish people for submitting a thoughtful but unpopular proposal. The main downside is its not really available today, whereas the approvals and tollgate apps would just need to be deployed to mainnet and installed in the org.
I personally don’t mind about making proposals to be permissioned, I mean, we are talking about Community here, communities are build and own by recognized and reputed individuals, pseudonymous or not, but not anonymous.
Aragon Community is very well shaped already, and there are arround several individuals with a valid community historic that might possess some permissions for their own proposals or from persons that they trust.
CFDAO is an example DAO for many that are to come, so don’t miss this opportunity to continue deliberating what are the needs of this community and which could be well fitted solutions.
Both approvals and tollgate apps feels appropiate to me.
In the case of approvals we should define how permissions are granted and revoked. Do we want to grant permissions to people by election or by lottery (lotocracy is not an explored topic on Aragon yet, but this could be a cool first use case )? During how much time permissions last? In what situations should they be revoked?
In the case of the tollgate, I agree that we could have the consensus of requesting a bit more to pay the fee, and I’d add that for cases in which a proposal don’t pass but it is legitimate, the requester could issue a new request to get the fee back (this completes the functionality of the Aragon Court for this case with things already implemented).
I’m not talking about posts in the forum. I’m talking about votings in the DAO that do not correspond to any post in the forum or do not comply with the established social norms (have been received positive feedback and are two weeks old).
I like the idea of lotocracy that everyone has the chance to be admin. if they don’t accept it it just takes another. Once accepted then its like 1 month term and after the term the people vote keep or next.
I thought before making a proposal you have to check for community feedback (forum/chat) so when you post a proposal the likelihood of approval is higher than rejection. So people pay the tollgate fee and if approved they get the fee back and if not the DAO has more funds to spend. I think when people don’t check the sentiment of the community before posting a vote it is their risk to do so.
Since this thread had not received so much feedback from the community, I would not go for a lotocracy at the moment.
I also don’t like the idea of creating two kinds of people in the community (those who can create votes and those who can’t) if we don’t have clear ways to make them accountable. Even if we trust them, they gain a lot of power just by being there, and we are talking about the Community Funding DAO, and should be governed by the community. Giving permissions to people of the Association would be another easy solution, but it seems also a lose of autonomy from the community perspective, and wouldn’t go that way either.
Probably the tollgate is a good solution that does not imply too much changes on how CFDAO was working until now. One of the major problems I see is that people have asked to the CFDAO from 250 to 5000 DAIs, and I don’t know what could be a good fee. As it is built, Tollgate only accepts fixed fees, being a variable fee (eg 10% of the amount requested) be more suitable for those wide range of cases.
I think having three different fees is totally doable configuring three tollgate instances and parametrizing the permissions on how much money they can request, but I’d like to test it on rinkeby first, just in case aragonJS don’t treat granular permissions correctly (it happened to me before).
Elsewere, we’ll only be able to apply a unique fee for all money requests, or adapt tollgate ourselves to allow percentage fees (which may be too difficult since it may require an analysis of the evmscript to obtain the amount requested, or setting up an oracle).
I am trying the three tollgates on a rinkeby dao during the weekend to see if it is possible and tell you.
Personally, I have been waiting until the Aragon Court is live and then I was going to propose making the CFDAO a subscriber of the Court. Then we could raise a dispute if anyone creates a proposal that doesn’t comply with the CFDAO Proposal Agreement. The Tollgate app is another option that could work, similarly imposing a financial penalty risk if the proposal is rejected. (Although, I would prefer the Court so that proposals that are rejected simply for not being a priority vs actually being bad proposals are not penalized.)
We considered a moderation model before - my proposal was to make the Aragon Cooperative a moderator on the CFDAO - but that proposal fell apart and the CFDAO has more or less worked well enough until lately. I would rather not go with a permissioned model now when we are so close to having the tools for a “safe” permissionless DAO.
Would it be possible that the random elected DAO admin can be the oracle and DAO members can validate it and if they find a mistake they can flag it. So if a user accept to be an DAO admin s/he has to stake some amount of DAO tokens into a contract in case of misuse of the role? The admin will get a daily interest on this stake for his work?
I like the Aragon Court solution. How would this work? To make a proposal is free so if my proposal doesn’t comply with the DAO rules and you raise a dispute how do you enforce to get money from me? Do I have to deposit funds into a contract and it will stay there as long as my proposal doesn’t get flagged?
Proposal Agreements are designed to facilitate these types of constraints within Aragon organizations. They enable an organization to define human-readable terms that proposals must conform to and require proposers to deposit collateral before their proposal can be forwarded to a voting app.
Using tollgate we would not have admins. When talking about oracles I was thinking about ACL oracles that allow to create a vote or not depending on certain contiditions (eg if proposer has payed a fee proportional to requested amount). I’m still not sure if this could be a good solution, but could be a good thought experiment.
BTW I also agree that we should wait a little bit to have the court in full function and subscribe the CFDAO to it. Do we have an estimate of when this will be possible @light?