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

Proposal Deadline introduced #102

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Proposal Deadline introduced #102

wants to merge 3 commits into from

Conversation

zavodil
Copy link

@zavodil zavodil commented Feb 4, 2022

Please review how we can introduce time-based voting by setting deadline parameter for proposals.
It means that proposal will be finalised after the deadline even without a majority vote. It may me useful for a really large DAOs.
I don't know Sputnik DAO structure in details so may be my implementation is naive.

@TrevorJTClarke
Copy link
Contributor

@zavodil will need to review more in depth, but I believe this is actually duplicate logic. Maybe @constantindogaru has more insights, but the DAO policy configures a proposal_period that proposals utilize a check against.

See: https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/policy.rs#L156
and: https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/policy.rs#L397

I think a better approach would be to extend the use of this proposal_period, with constraints configured by DAO.

@zavodil
Copy link
Author

zavodil commented Feb 6, 2022

@zavodil will need to review more in depth, but I believe this is actually duplicate logic. Maybe @constantindogaru has more insights, but the DAO policy configures a proposal_period that proposals utilize a check against.

See: https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/policy.rs#L156 and: https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/policy.rs#L397

I think a better approach would be to extend the use of this proposal_period, with constraints configured by DAO.

Yep I saw it, but current implementation of proposal_period is leading to proposal expiration only, my intension was to resolve proposal instead, that's why I introduced a new optional variable.

@ctindogaru
Copy link
Collaborator

ctindogaru commented Feb 8, 2022

Hey @zavodil, I understand your point, but this shouldn't be needed. If the DAO is set up correctly, only certain members can vote on proposals and they should reach consensus on all of them. If the proposal hits the deadline and no consensus has been reached, it means there was a problem with the proposal itself or the DAO configuration (maybe more/less members should have the right to vote).

Now, assuming that we implement what you're suggesting, please review the following scenario:

  • you have a group of 3 members that can vote on proposals => you need 2 approvals for a proposal to pass
  • let's assume that the proposal deadline is set to 1 week
  • let's assume that 2 members have taken a holiday for 2 weeks and they are away from their phone/laptop
  • if we implement what you're saying, the 3rd member can take advantage of this and create the proposal while the other members are on holiday. He will create the proposal, wait for one week, approve it, the deadline will be reached and the proposal will be passed automatically.
  • the other 2 members will return from holiday in one week and realise that the funds from the DAO have been transferred without their permission.

The idea is that you need consensus for a proposal to pass, you cannot rely on the deadline.

@zavodil
Copy link
Author

zavodil commented Feb 8, 2022

@ctindogaru Thank you for your feedback! Current DAO design is great for compact DAO (as you said in your example: 2-3 persons). My intention is to empower a really large DAO with hundreds of participants/councils, in which case it will be completely impossible to hit a quorum and deadline proposals might come into play. Parameter min_deadline_period could be set in a DAO config, it could be longer than 3 days for DAO with huge budgets.

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

Successfully merging this pull request may close these issues.

3 participants