Joystream / Joystream/joystream

Cross election voting

Open
#3,766 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

council-pallet post-mainnet runtime
Dominant language
Rust
Stars
1.4k
Forks
116
PR merge metrics
No merged PRs in 30d

Description

Background

A key to making the council both able to quickly make important changes, but remain accountable, is to have very frequent elections, and proposals with a high constitutionality. This allows the community to coordinate, when it matters, to block hostile proposals from passing. The problem is that is does at the same time require a lot of manual involvement when things are going well from voters who have to keep voting time and time again for the same council members.

Proposal

Make it possible for voters to vote in a way which applies across elections, without any manual intervention. Meaning that if you vote for a member in one election, it will count in all future elections where they chose to be a candidate, until you chose to recover your voting stage as usual.

There is a question here of whether we should keep normal single election voting, or just make everything default perpetual, I think the latter is just simpler to implement in runtime and products, and causes less confusion.

This should be quite simple to implement, leaving it as an exercise to implementer to sketch out. We also should try to map out early what implications would be for QN & Pioneer.

Note

Seems related to this, should perhaps be thought of simultaneously.

https://github.com/Joystream/joystream/issues/140

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing related issue #140, then map how council voting is represented across the runtime and products, including QN and Pioneer. Clarify whether perpetual voting replaces single-election voting and define how voters recover their voting state. Done should include an agreed design and the required implementation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, rust
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.