Skip to content
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

Delegation in the Ecosystem DAO. #1

Open
radicleart opened this issue Jun 29, 2022 · 5 comments
Open

Delegation in the Ecosystem DAO. #1

radicleart opened this issue Jun 29, 2022 · 5 comments

Comments

@radicleart
Copy link

We currently have two implementations;

See also this overview

Appreciate all opinions?

@MarvinJanssen
Copy link
Member

I feel like we haven't quite cracked vote delegation yet. The "direct delegation" method is only minimally invasive and will be fine to use for smaller DAOs. I created a delegate-vote-many but I did not submit it because it would require the delegate to send a list of delegatee principals and amounts in order to deploy that voting power. It just does not scale. For map based delegation there is the problem that people can rescind their delegation and actually remove votes made by the delegate. I think that is very dangerous and prone to abuse. Attackers could choose to rescind at the last moment. I'm of the opinion that once voted, you should not be able to pull the votes / tokens until the vote is over. And for the latter, if you can only rescind delegation when the tokens are not locked up in voting, then it becomes very hard for the delegatee to get their tokens back. We then need a two step mechanism with tokens and an allowed amount, which then eventually unlock and cannot be used again by the delegate. (Also allowing the delegatee to reclaim the votes "on behalf" of the delegate.)

@radicleart
Copy link
Author

On rescinding - we also have rescind-time-lock which we reasoned could be set a day or so before the end to prevent the vote from being gamed. It could also be set so the delegatee can only rescind at the start, first day or so - preventing this attack but allowing voter to get their votes back.

I'll take a closer look at the third option this week - tracking delegation via a dedicated token - to see how it plays out.

@LNow
Copy link

LNow commented Jul 4, 2022

Do you want to allow multi level delegation, where one user delegates his votes to another, that delegates his votes to another, that delegates to another etc?

I gave a quick look at #6 and it looks like it is possible. And main problem that I see is that user at the bottom of such delegation chain might not be able to reclaim his tokens until users at the top reclaims their tokens first. And this pose a threat to whole voting mechanism, because you can't force users to reclaim their tokens, they may want to keep them locked on purpose to attack DAO.

@radicleart
Copy link
Author

There is a check in edg-transfer/transfer line 47/132 of governance extension which prevents transfer of delegated tokens - does this not prevent this multi level delegation?

@MarvinJanssen
Copy link
Member

I feel multi-level delegation, although pretty cool, can also be dangerous. It seems hard, if not impossible, to properly unwind the delegation chain. I'm working on a few alternatives. If one seems feasible I'll submit it as another concept PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants