Not everyone can or wants to be highly engaged in DAO governance at all times. This makes governance delegation a solution. The problem no is, how do we ensure that we are selecting the best actors to delegate our governance?
The purpose around this is that we want to empower those who will be active delegates in DAO governance and weed out those who will not use their voting power responisbly. If they are not exercising their voting power on a regular basis, they will be punished by slashing their delegation power. We want this to be flexible enough however for actors to realize when they may not be a suitable fit and give them the ability to pass their delegation off to another.
I have been thinking about my final project idea and have a couple.
One is something around governance delegation.
Not sure if this is out there but I have an idea for a governance token, call it SpecialDelegate
for now. Say this token has two counters:
- first counter (
uint256 public numberTimesVoted;
) - and a second counter (
uint256 public totalNumberOfVotes
) that represents the number of votes executed since the minting ofSpecialDelegate
token or since the last time it was transferred to another address.
Let us also say there is a minimum ratio that these two numbers can be at for the token to not be destroyed or slashed (public int minimumThreshold
)
Now we can say that people can allocate these tokens to people they believe would be good delegators for them. Everytime there is a vote executed on chain through a gnosis safe or maloch dao, the contract can call a function (checkVoteCount
) to these SpecialDelegate tokens and the SpecialDelegates will run the following :
- Did this token get used in the last vote? If NO -> do NOT increment
numberTimesVoted
else incrementnumberTimesVoted
- Increment the
totalNumberOfVotes
- set
minimumThreshold = numberOfTimesVoted / totalNumberOfVotes
- Check to see if the
minimumThreshold
is too low. If YES -> SlashSpecialDelegate
else do nothing
Another aspect of this token is that when it is transfered to another address, the follwing should happen:
- Check if the address was the most recent owner and revert transfer if this is the case (we want to protect against people passing the tokens between two different addresses to reset the ratio).
totalNumberOfVotes
andnumberOfTimesVoted
should be reset so the new delegator is not at a disadvantage in terms of what the previous ratio of theminimumThreshold
was for the previous owner.
- What if a person has more than two addresses?
- What should the
minimumThreshold
be - How does the gnosis safe or maloch dao (or wherever the onchain execution occurs) make the call to all of these tokens?