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

Investigate and document on token voting options #108

Closed
haerdib opened this issue Apr 27, 2022 · 3 comments
Closed

Investigate and document on token voting options #108

haerdib opened this issue Apr 27, 2022 · 3 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@haerdib
Copy link
Contributor

haerdib commented Apr 27, 2022

Unlike polkadot, we will not be using a council, because of the difficulty to find councillors (legal rights and other problems). Therefore, we need another non-sudo authority voting.

@haerdib
Copy link
Contributor Author

haerdib commented Apr 27, 2022

Referenda vs Democracy

  1. referenda in combination with the conviction voting and the pre-image pallet.
  2. democracy pallet

We will not be using the council, hence, the referenda pallet would give us a relative simple voting process.

Pro Referenda Pro Democracy
Relatively simple voting / proposing logic Has been audited
No code overhead (unused council) Has been used for quite some time
Fast referendum passing possible Technical committee for fast tracking
Very flexible Origin / Track logic One referendum at a time, no race condition possible
Alternative fast track option: Whitelisting
Parallel voting possible, but can be limited to one proposal per Track
Will be enacted in Kusama soon

For now, we will be using the Democracy pallet, as it has been audited and proven its stability for quite some time. Switching to Referenda will still be possible after it has been tested on Kusama and has been audited.

Possible Privilege Levels Democracy

We have three possible privilege levels of the voting mechanism / origin levels:

  1. Super-Majority Approve (positive turnout bias): Default decline
  2. Simple-Majority: Default neutral
  3. Super-Majority Decline (negative turnout bias): Default accept

We are enacting a Technical committee for fast tracking, but no council due to legal problems. But to still be able to propose external proposal, we will enact a Multisig acc which is allowed to propose External Proposals.

Challenges:

  • Public proposal: may take a deposit by the proposer. By default, SimpleMajorityApprove. Can not be fast tracked
  • External proposal: May be fast tracked, can be all the three privilege levels mentioned above. But only SimpleMajorityApprove can be blacklisted. Does not take an deposit.

If we want to merge some proposal functionalities above, we need to modify the democracy pallet. Is that acceptable?

Solution Proposal:

  • Add an anonymous proxy which can propose external proposals, which may be fast tracked.

@haerdib haerdib added the documentation Improvements or additions to documentation label Apr 29, 2022
@haerdib
Copy link
Contributor Author

haerdib commented May 9, 2022

Problem with the solution proposal above: The proxy account must be hardcoded or added with an extra pallet to the storage.

For simplicity, we have decided to go with a council. As Integritee will most likely not face the same issues as polkadot for now (council members will most likely be Integritee members, and therefore legally protected by it).

@haerdib
Copy link
Contributor Author

haerdib commented May 13, 2022

Closing this for now, as we have decided to go with the democracy pallet.

@haerdib haerdib closed this as completed May 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant