Council
Overview
Council
represents passive stakeholders. The council is an on-chain entity comprising several actors, each represented as an on-chain account. Council takes 4 tasks:Controlling treasury
Proposing sensible referenda
Canceling uncontroversially dangerous or malicious referenda
Electing the technical committee
Referendum
: A proposal that is in the process of being voted on for either acceptance or rejection as a change to the system. For a referendum to be proposed by the council, a strict majority of members must be in favor, with no member exercising a veto. Vetoes may be exercised only once by a member for any single proposal; if, after a cool-down period, the proposal is resubmitted, they may not veto it a second time.Cool-off period
: The period in blocks where a proposal may not be re-submitted after being vetoed.
How to be a council member?
Diagram
Description
Submit candidacy
Submitting your candidacy for the council requires a small bond of GLCH.
Runners-up are selected after every round and are reserved members in case one of the winners gets forcefully removed.
You can also vote for yourself in case no one else does. Before submitting your candidacy, you not only get votes from the supporters but also can vote for yourself in case no one else does.
After submitting your candidacy, your account becomes a candidate.
Voting on candidate
Members of the network choose candidates and vote for them by staking an amount of GLCH (no limit). Each voter can choose up to 16 distinct candidates to vote for and your stake will equalize between them to ensure candidates get a chance to become candidates fairly.
Locked balance for bonding is used for voting Council
1/ Transferable=50, bond staking= 50, vote Council= 60 -> Locked= 60, Transferable= 40 (decrease by 10), bonded= 50.
+ Assume that user unbonds= 30 → Bonded= 20, Locked= 60, not display
unbonded
. It means that unbonded=30 is still locked for voting Council (ensure locked balance= 60) and can’t be withdrawn until the user unvotes Council =60.+ When user unvote council=60 → Transferable= 40 + 10+ 30= 80, Bonded= 20. Locked= 20.
2/ Transferable=50, bond staking= 50, vote Council =40 (< bondStaking) → Locked= 50, Transferable= 50 (no changes), Bonded=50.
Renounce candidate
Unless your candidacy wins, the bond will be forfeited. The vote for council is locked when an election is processed. You can receive your bond back by manually renouncing your candidacy only before election happens.
When voting for candidates, voters lock in a certain amount of votes on these candidates. If one of the candidates renounces their candidacy, the locked amount for voting won’t be returned because other candidates still take part in the next election with this amount. If voters want to take back the locked amount, they need to Unvote or call extrinsic to execute function `electionsPhragmen. removeVoter'
Winning
The result of the voting is based on the ElectionsPhragmen method. (See more in ElectionsPhragmen)
Council member
If you win a council election, your account will be on the council member list.
Maximum number of council
: 13When a council member wants to leave their seat in the Council, they can call extrinsic with the function ‘Developer -> Extrinsic -> ElectionPhragmen -> renounceMember`
Runner up
At the end of each term, the Phragmén election algorithm runs, and the result will choose the new councilors based on the vote configurations of all voters. The election also chooses a set number of runners-up that will remain in the queue with their votes intact until the next election.
Max runners up
: 30.When a council member wants to leave their seat in the Council, they can call extrinsic with the function ‘Developer -> Extrinsic -> ElectionPhragmen -> renounceRunnerup`
Council proposal
Types of proposal
Unanimous Council - When all council members agree on a proposal, it can be moved to a referendum. This referendum will have a negative turnout bias (that is, the smaller the amount of stake voting, the smaller the amount necessary for it to pass, see more in Democracy)
Majority Council - When agreement from only a simple majority of council members occurs, the referendum can also be voted upon, but it will be majority carries (51% wins).
Veto proposal
For a referendum to be proposed by the council, a strict majority of members must be in favor, with no member exercising a veto. Only one of the technical committee members may veto a coming council proposal. Vetoes may be exercised only once by a member for any single proposal. The proposal can’t be resubmitted during the cool-off period. After a cool-down period, if the proposal is resubmitted, they may not veto it a second time.
Voting on proposal
Transaction fees will be waived if the council member is voting on any particular proposal for the first time and the call is successful. Subsequent vote changes will charge a fee.
Submit proposal
Propose motion
Council members choose the following functions in pallet Democracy to submit a proposal. Each motion needs to pass a predefined origin for approval.
After being approved by Council, the proposal submitted by Council is put into External queue in Democracy.
Propose external
Proposing external required approval of at least 80% member council for moving to an external queue in Democracy
Voting on proposal
For the proposals made by Council, transaction fees will be waived if the council member votes on any particular proposal for the first time and the call is successful. Subsequent vote changes will charge a fee.
Canceling proposal
The Council members are given a grant by chain to cancel the proposal in referendum whenever they find it unreasonable. Each voting and canceling request is considered a transaction. On-chain, the transaction is made in order. Therefore, the request for voting proposal and request for canceling proposal is made in order.
During the voting period, the proposal is removed from the referendum whenever it reaches 100% of the Council’s request for canceling, no matter which percentage of votes for agreement the proposal reaches.
Until the voting period ends, the request is rejected if there is less than 100% of the Council's request for canceling. Then the proposal is still kept in the referendum and passed to the enactment queue.
Prime members
Role
The council implements a prime member prime member whose vote acts as the default for other members that fail to vote before the timeout.
A "prime" member may be set to help determine the default vote behavior based on chain config. If
PrimeDefaultVote
used, the prime vote acts as the default vote in case of any abstentions after the voting period. IfMoreThanMajorityThenPrimeDefaultVote
is used, then abstentions will first follow the majority of the collective voting, and then the prime member. Motions are open for members to vote on for a minimum period given byMotionDuration
. As soon as the required number of approvals is given, the motion is closed and executed. If the number of approvals is not reached during the voting period, thenclose
may be called by any account to force the end of the motion explicitly. If a prime member is defined, then their vote is used instead of any abstentions and the proposal is executed if enough approvals count the new votes.
How to become prime members
The prime member is chosen based on a
Borda count
.The Borda count is a ranked voting system: the voter ranks the list of candidates in order of preference. So, for example, the voter gives an n point to their most preferred candidate, an n-1 point to their second most preferred, and so on. (n - the number of candidates that voter votes for)
For example of selecting prime members
Voter V votes for three candidates, A, B, and C, in order: B-A-C.
So B, A, and C get 3, 2, and 1 point respectively. If A and C are selected to be council members, their points (2, 1 respectively) will be used for selecting a prime member (the person with a max total point).
Scenarios of proposing referendum
Last updated