Go to the Governance section for more detailed tutorials on voting and Treasury application.The early Khala network will use a governance mechanism consistent with Polkadot and Kusama, enabling it to evolve gracefully over time at the ultimate behest of its assembled stakeholders. The stated goal is to ensure that the majority of the stake can always command the network. Therefore, the following Khala democratic mechanism basically adopts the same process and instructions as the Polkadot wiki. To do this, we bring together various novel mechanisms, including an amorphous state-transition function stored on-chain and defined in a platform-neutral intermediate language (i.e. WebAssembly) and several on-chain voting mechanisms such as referenda with adaptive super-majority thresholds and batch approval voting. All changes to the protocol must be agreed upon by stake-weighted referenda.
Mechanism
To make any changes to the network, the idea is to compose active token holders and the council together to administrate a network upgrade decision. No matter whether the proposal is proposed by the public (PHA token holders) or the council, it finally will have to go through a referendum to let all holders, weighted by stake, make the decision. To better understand how the council is formed, please read the council section.Referenda
Referenda are simple, inclusive, stake-based voting schemes. Each referendum has a specific proposal on-chain associated with it that takes the form of a privileged function call (that includes the most powerful call:set_code
, which can switch out the entire code of the Runtime, achieving updates on-chain).
Referenda are discrete events, have a fixed period where voting happens, and then are tallied and the function call is made if the vote is approved. Referenda are always binary; your only options in voting are “aye”, “nay”, or abstaining entirely.
Referenda can be started in one of several ways:
- Publicly submitted proposals;
- Proposals submitted by the council, either through a majority or unanimously;
- Proposals submitted as part of the enactment of a prior referendum;
- Emergency proposals submitted by the Technical Committee and approved by the Council.
Proposing a Referendum
Public Referenda
Anyone can propose a referendum by depositing the minimum amount of PHA for a certain period (number of blocks). If someone agrees with the proposal, they may deposit the same amount of tokens to support it - this action is called seconding. The proposal with the highest amount of bonded support will be selected to be a referendum in the next voting cycle. Note that this may be different from the absolute number of seconds; for instance, three accounts bonding 20 PHA each would “outweigh” ten accounts bonding a single PHA each. The bonded tokens will be released once the proposal is tabled (that is, brought to a vote). There can be a maximum of 100 public proposals in the proposal queue.Council Referenda
Unanimous Council - When all members of the council 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 “Adaptive Quorum Biasing”, below). 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). There can only be one active referendum at any given time, except when there is also an emergency referendum in progress.Voting Timetable
Every 7 days on Phala, a new referendum will come up for a vote, assuming there is at least one proposal in one of the queues. There is a queue for Council-approved proposals and a queue for publicly submitted proposals. The referendum to be voted upon alternates between the top proposal in the two queues. The “top” proposal is determined by the amount of stake bonded behind it. If the given queue whose turn it is to create a referendum that has no proposals (is empty), and proposals are waiting in the other queue, the top proposal in the other queue will become a referendum. Multiple referenda cannot be voted upon in the same period, excluding emergency referenda. An emergency referendum occurring at the same time as a regular referendum (either public- or council-proposed) is the only time that multiple referenda will be able to be voted on at once.Voting on a referendum
To vote, a voter generally must lock their PHA up for at least the enactment delay period beyond the end of the referendum. This is to ensure that some minimal economic buy-in to the result is needed and to dissuade vote selling. It is possible to vote without locking at all, but your vote is worth a small fraction of a normal vote, given your stake. At the same time, holding only a small amount of tokens does not mean that the holder cannot influence the referendum result, thanks to time-locking. You can read more about this at Voluntary Locking.Tallying
Depending on which entity proposed the proposal and whether all council members voted yes, there are three different scenarios. We can use the following table for reference.Entity | Metric |
---|---|
Public | Positive Turnout Bias (Super-Majority Approve) |
Council (Complete agreement) | Negative Turnout Bias (Super-Majority Against) |
Council (Majority agreement) | Simple Majority |
Super-Majority Approve
formula will be applied. There is no strict quorum, but the super-majority required increases with lower turnout.
Super-Majority Approve
Apositive turnout bias
, whereby a heavy super-majority of aye votes is required to carry at low turnouts, but as turnout increases towards 100%, it becomes a simple majority-carries as below.
Super-Majority Against
Anegative turnout bias
, whereby a heavy super-majority of nay votes is required to reject at low turnouts, but as turnout increases towards 100%, it becomes a simple majority-carries as below.
Simple-Majority
Majority-carries, a simple comparison of votes; if there are more aye votes than nay, then the proposal is carried, no matter how much stake votes on the proposal.Super-Majority Approve
would be used to calculate the result. Super-Majority Approve
requires more aye
votes to pass the referendum when turnout is low, therefore, based on the above result, the referendum will be rejected. In addition, only the winning voter’s tokens are locked. If the voters on the losing side of the referendum believe that the outcome will have negative effects, their tokens are transferable so they will not be locked into the decision. Moreover, winning proposals are autonomously enacted only after some enactment period.
Voluntary Locking
Phala follows Polkadot’s idea calledVoluntary Locking
which allows token holders to increase their voting power by declaring how long they are willing to lock up their tokens, hence, the number of votes for each token holder will be calculated by the following formula:
Lock Periods | Vote Multiplier |
---|---|
0 | 0.1 |
1 | 1 |
2 | 2 |
4 | 3 |
8 | 4 |
16 | 5 |
32 | 6 |
Adaptive Quorum Biasing
Phala follows the concept, “Adaptive Quorum Biasing”, which functions as a lever that the council can use to alter the effective super-majority required to make it easier or more difficult for a proposal to pass in the case that there is no clear majority of voting power backing it or against it.
Adaptive Quorum Biasing mechanism
Positive Turnout Bias
.
In contrast, when it has a 75% turnout, the tally of “aye” votes has to reach 54%, which means that the super-majority required decreases as the turnout increases.
When the council proposes a new proposal through unanimous consent, the referendum would be put to a vote using “Negative Turnout Bias”. In this case, it is easier to pass this proposal with a low turnout and requires a super-majority to reject. As more token holders participate in voting, the bias approaches a plain majority carries.
Referring to the above image, when a referendum only has a 25% turnout, the tally of “aye” votes has to reach 34% for it to pass.
In short, when the turnout rate is low, a super-majority is required to reject the proposal, which means a lower threshold of “aye” votes has to be reached, but as turnout increases towards 100%, it becomes a simple majority.
All three tallying mechanisms - majority carries, super-majority approve, and super-majority against - equate to a simple majority-carries system at 100% turnout.
Council
To represent passive stakeholders, Phala introduces the idea of a “council”. The council is an on-chain entity comprising several actors, each represented as an on-chain account. On Phala, the council currently consists of 5 members. This is expected to increase over the next few months to 11 seats. In general, the council will end up having a fixed number of seats. Along with controlling the treasury, the council is called upon primarily for three tasks of governance: proposing sensible referenda, canceling uncontroversially dangerous or malicious referenda, and electing the technical committee. 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. Council motions that pass with a 3/5 (60%) super-majority - but without reaching unanimous support - will move to a public referendum under a neutral, majority-carries voting scheme. In the case that all members of the council vote in favor of a motion, the vote is considered unanimous and becomes a referendum with negative adaptive quorum biasing.Canceling
A proposal can be canceled if the technical committee unanimously agrees to do so, or if Root origin (e.g. sudo) triggers this functionality. A canceled proposal’s deposit is burned. Additionally, a two-thirds majority of the council can cancel a referendum. This may function as a last-resort if there is an issue found late in a referendum’s proposal such as a bug in the parameter configuration of the on-chain call to be executed is incorrect. If the cancellation is controversial enough that the council cannot get a two-thirds majority, then it will be left to the stakeholders en masse to determine the fate of the proposal.Blacklisting
A proposal can be blacklisted by Root origin (e.g. sudo). A blacklisted proposal and its related referendum (if any) are immediately canceled. Additionally, a blacklisted proposal’s hash cannot re-appear in the proposal queue. Blacklisting is useful when removing erroneous proposals that could be submitted with the same hash, i.e.proposal #2 in which the submitter used plain text to make a suggestion. Upon seeing their proposal removed, a submitter who is not properly introduced to the democracy system of Phala might be tempted to re-submit the same proposal. That said, this is far from a fool-proof method of preventing invalid proposals from being submitted - a single changed character in a proposal’s text will also change the hash of the proposal, rendering the per-hash blacklist invalid.How to be a council member?

Round 1 | |||||
---|---|---|---|---|---|
Token Holders | Candidates | ||||
A | B | C | D | E | |
Peter | X | X | X | X | |
Alice | X | ||||
Bob | X | X | X | ||
Kelvin | X | X | |||
Total | 2 | 1 | 3 | 2 | 2 |
Round 2 | ||||
---|---|---|---|---|
Token Holders | Candidates | |||
A | B | D | E | |
Peter | X | X | ||
Alice | X | X | ||
Bob | X | X | X | X |
Kelvin | X | X | ||
Total | 4 | 4 | 1 | 1 |