NOTE: There is another post for dealing with governance spam but most of the suggestions were about setting fixed initial-deposit and total-deposit (minimum) amounts. This is an incompatible proposal to use an auto-throttling mechanism.
We already have a self-adjusting inflation rate to target a 2/3 bonding ratio. Using a similar but different algorithm, we can self-adjust the total-deposit (between reasonable minimum and maximum bounds, just like the inflation rate) amount to target something we want.
This proposal is targeting for there to be (on average amortized) N proposals during the governance voting period. N should be low, either 1 or 2, because having too many active proposals at a time can be confusing. Also, we should really take into consideration a rest period after debate, so even if we want 2 maybe 1 is a better choice. The lower the number, the more attention stakers can pay attention to proposals, and allows for the hub governance to focus on top-level issues, and for sub-entities (like a grant program DAO) to focus on encapsulated issues.
This doesn’t preclude the activation of more than N (e.g. 3, 4) proposals at a time during the governance voting period because all it does is adjust the total-deposit amount, and if you pay enough of a total-deposit you should be able to get the hub’s attention, for critical matters even during a spam attack.
Unlike the time-based self-adjustment of the inflation rate, we should probably adjust the rate every time a proposal becomes activated, so as to prevent cheap spam attacks from happening at any time (a security concern if it were to happen at all, without sufficient cost). Well, the total-deposit amount should self-adjust with both time AND activation of proposal, so that if there are no proposals for a long time, the price becomes cheap again.
Similarly, there should be a parallel self-adjusting parameter, the initial-deposit, the amount of deposit needed initially upon submission of the proposal. This is needed to prevent staker UX from being overloaded with spam pending proposals, which is important for discovery and officially starting the conversation. Rather than a % of the total-deposit, methinks it should be independently adjusted, and the creation of a proposal would require checking the initial-deposit minimum, while starting the proposal checks the total-deposit; and in particular that it’s OK and valid for the initial-deposit to even be higher than the total-deposit, even though it seems paradoxical. This could happen when no proposals had been activating for a while, but a spammer suddenly starts spam-creating many pending under-deposited proposals until the initial-deposit becomes temporarily higher than the total-deposit. I guess this algorithm should maybe self-adjust with both time AND creation of proposal. We could target more than the N above (for the initial-deposit) because not everyone is expected to read all of these. Perhaps 4 or 6 per governance voting period, or M per time period T, I don’t know.
It would be good to see some precise forumlae from the community, with maybe a table of case scenarios to describe how many spam created/active proposals we will see at what cost to the spammer.
Side note, I think we should increase the governance voting period too. This way we will feel less stressed about discussions. We can take our time discussing the merits of every statement.