From f96639544d8dc291721ee8e5981500ae7b7f17ef Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Tue, 16 Jan 2024 01:49:41 +0800 Subject: [PATCH 1/8] Refine OpenGov doc --- docs/learn/learn-polkadot-opengov.md | 36 ++++++++++++++-------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index d8bc596933e9..920969683a8f 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -336,8 +336,9 @@ Decision Period. Once the proposal exits the Lead-in Period and enters the Voting Period, to be approved, it must satisfy the approval and support criteria for the **Confirmation Period**. -- **Approval** is defined as the share of approval (_aye_ votes) vote-weight (after adjustment for - [conviction](#voluntary-locking)) against the total vote-weight (_aye_, _nay_, and _abstained_). +- **Approval** is defined as the share of [conviction](#voluntary-locking)-weighted _aye_ votes + against the conviction-weighted total of _aye_ and _nay_ votes. The code implementation can be viewed + [here](https://github.com/paritytech/polkadot-sdk/blob/f2fbba3be1d7deaf7cfc731cea00552c212ddfcf/substrate/frame/conviction-voting/src/types.rs#L77) - **Support** is the total number of _aye_ and _abstain_ votes (ignoring any adjustment for conviction) compared to the total possible votes ([active issuance](learn-DOT.md#token-issuance)) that could be made in the system. In case of _split_ votes, only _aye_ and _abstain_ will count. @@ -355,25 +356,25 @@ to consider _nay_ votes. ::: -The figure above shows the followings: +The figure above shows the following: - Even if the approval threshold is reached (i.e. % of current approval is greater than the approval curve), the proposal only enters the confirmation period once the support threshold is also reached (i.e. % current support is greater than the underlying support curve). -- If the referendum meets the criteria for the confirmation period, then the proposal is approved - and scheduled for enactment. The Enactment Period can be specified when the referendum is proposed - but is also subject to a minimum value based on the Track. More powerful Tracks enforce a larger +- If the referendum meets the approval and support thresholds for the duration of the confirmation period, the proposal will be approved + and will be scheduled for enactment. Each track has a default minimum Enactment Period and the approved referendum needs to wait + till the end of it to be executed. Powerful Tracks like `Root` enforce a larger Enactment Period to ensure the network has ample time to prepare for any changes the proposal may - bring. + bring. The referendum proposers can also choose to set the enactment period to be higher than its default value. - A referendum may exit the confirmation period when the thresholds are no longer met, due to new _Nay_ votes or a change of existing _Aye_ or _Abstain_ votes to _Nay_ . Each time it exits, the - confirmation period resets. For example, if the confirmation period is 20 minutes and a referendum - enters it just for 5 min, the next time it enters, it must stay for 20 minutes (not 15 minutes). + confirmation period clock is reset. For example, if the confirmation period is 20 minutes and a referendum + enters it just for 5 min before exiting, the next time it enters, it must be confirming for 20 minutes (not 15 minutes). - During the decision period, if a referendum fails to meet the approval and support thresholds for the duration of the track-specific confirmation period, it fails and does not go to the enactment period (it may have to be resubmitted, see below). -- The current approval must be above 50% for a referendum to pass, and the approval curve never goes - below 50%. +- The approval curve starts with a value of 100% and gradually goes to 50%, but never below. Assuming all the active + token supply has voted on a proposal, the conviction vote weighted support should at least always be above 50% to pass. ![opengov-curves-pass](../assets/opengov-curves-nopass.png) @@ -382,11 +383,9 @@ votes. Different Origins' tracks have different Confirmation Periods and requirements for approval and support. For additional details on the various origins and tracks, check out -[this table](./learn-polkadot-opengov-origins.md#origins-and-tracks-info). Configuring the amount of -support and overall approval required for it to pass is now possible. With proposals that use less +[this table](./learn-polkadot-opengov-origins.md#origins-and-tracks-info). With proposals that use less privileged origins, it is far more reasonable to drop the required support to a more realistic -amount earlier than those which use highly privileged classes such as `Root`. Classes with more -significance can be made to require higher approval early on, to avoid controversy. +amount earlier than those which use highly privileged classes such as `Root`. ### Enactment @@ -397,8 +396,8 @@ v1. ::: -In Polkadot OpenGov, the proposer suggests the enactment period, but there are also minimums set for -each Origin Track. For example, root Origin approvals require a more extended period because of the +In Polkadot OpenGov, the proposer suggests the enactment period, but there are also a minimum set for +each Origin Track. For example, `root` Origin approvals require an extended period because of the importance of the changes they bring to the network. ## Voting on a Referendum @@ -406,7 +405,8 @@ importance of the changes they bring to the network. In Governance V1, voters could cast only an _aye_ or _nay_ vote. In Polkadot OpenGov, voters can additionally cast a _abstain_ and _split_ votes. [Vote splitting](./learn-guides-polkadot-opengov.md#voting-on-referenda) allows voters to allocate -different votes for _aye_, _nay_, and _abstain_. +different votes for _aye_, _nay_, and _abstain_. Voting with conviction is not possible when +abstaining or splitting the votes. :::info Only the last vote counts From 2b234591714ac1d2b6f71a610d2ff70f759f0f10 Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Wed, 17 Jan 2024 23:09:43 +0800 Subject: [PATCH 2/8] Move conviction voting section before Approval/Support section --- docs/learn/learn-polkadot-opengov.md | 151 ++++++++++++++------------- 1 file changed, 77 insertions(+), 74 deletions(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 920969683a8f..c592cdbec3a5 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -319,6 +319,83 @@ approval, and a minimum [enactment](#enactment) periods will be predetermined on For detailed information about origin and tracks, and parameter values in Kusama, see [this page](./learn-polkadot-opengov-origins.md#origins-and-tracks-info). +### Voluntary Locking (Conviction Voting) + +{{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} utilizes an idea called voluntary +locking that 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: + +``` +votes = tokens * conviction_multiplier +``` + +The conviction multiplier increases the vote multiplier by one every time the number of lock periods +double. + + + +The maximum number of "doublings" of the lock period is set to 6 (and thus 32 lock periods in +total), and one lock period equals +{{ polkadot: :polkadot }} +{{ kusama: :kusama }} +days. For additional information regarding the timeline of governance events, check out the +governance section on the +{{ polkadot: [Polkadot Parameters page](maintain-polkadot-parameters/#governance) :polkadot }}{{ kusama: [Kusama Parameters page](kusama-parameters/#governance) :kusama }}. + +:::info do votes stack? + +You can use the same number of tokens to vote on different referenda. Votes with conviction do not +stack. If you voted with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} on Referenda A, B +and C with 2x conviction you would have 10 votes on all those referenda and 5 +{{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} locked up only for the 2x conviction period +(i.e. {{ polkadot: two weeks :polkadot }}{{ kusama: two weeks :kusama }}), with the unlocking +countdown starting when the last referendum you voted on ends (assuming you are on the winning +side). If you voted with conviction on referendum and then a week later voted on another one with +the same conviction, the lock on your {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} will be +extended by a week (always assuming you are on the winning side). + +::: + +:::info Staked tokens can be used in governance + +While a token is locked, you can still use it for voting and [staking](./learn-staking.md). You are +only prohibited from transferring these tokens to another account. + +::: + +Votes are always "counted" at the same time (at the end of the voting period), no matter for how +long the tokens are locked. + +See below an example that shows how voluntary locking works. + +Peter: Votes `No` with +{{ polkadot: 10 DOT for a 32-week :polkadot }}{{ kusama: 1 KSM for a 32-week :kusama }} lock period +=> {{ polkadot: 10 x 6 = 60 Votes :polkadot }}{{ kusama: 1 x 6 = 6 Votes :kusama }} + +Logan: Votes `Yes` with +{{ polkadot: 20 DOT for one week :polkadot }}{{ kusama: 2 KSM for one week :kusama }} lock period => +{{ polkadot: 20 x 1 = 20 Votes :polkadot }}{{ kusama: 2 x 1 = 2 Votes :kusama }} + +Kevin: Votes `Yes` with +{{ polkadot: 15 DOT for a 2-week :polkadot }}{{ kusama: 1.5 KSM for a 2-week :kusama }} lock period +=> {{ polkadot: 15 x 2 = 30 Votes :polkadot }}{{ kusama: 1.5 x 2 = 3 Votes :kusama }} + +Even though combined both Logan and Kevin vote with more +{{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} than Peter, the lock period for both of them +is less than Peter, leading to their voting power counting as less. + +:::info Conviction Voting Locks created during Gov 1 + +Conviction voting locks in Governance v1 will not be carried over to OpenGov. Voting with conviction +in OpenGov will create a new lock (as this will use the `convictionVoting` pallet), while any +existing lock under Governance v1 (using the deprecated `democracy` pallet) will be left to expire. +Delegations under Governance v1 will need to be re-issued under OpenGov. + +::: + + + ### Approval and Support :::info Adaptive Quorum Biasing is deprecated @@ -422,80 +499,6 @@ Note that to successfully cast votes you need to have the [existential deposit](./learn-accounts.md#existential-deposit-and-reaping) and some additional funds to pay for transaction fees. -### Voluntary Locking - -{{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} utilizes an idea called voluntary -locking that 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: - -``` -votes = tokens * conviction_multiplier -``` - -The conviction multiplier increases the vote multiplier by one every time the number of lock periods -double. - - - -The maximum number of "doublings" of the lock period is set to 6 (and thus 32 lock periods in -total), and one lock period equals -{{ polkadot: :polkadot }} -{{ kusama: :kusama }} -days. For additional information regarding the timeline of governance events, check out the -governance section on the -{{ polkadot: [Polkadot Parameters page](maintain-polkadot-parameters/#governance) :polkadot }}{{ kusama: [Kusama Parameters page](kusama-parameters/#governance) :kusama }}. - -:::info do votes stack? - -You can use the same number of tokens to vote on different referenda. Votes with conviction do not -stack. If you voted with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} on Referenda A, B -and C with 2x conviction you would have 10 votes on all those referenda and 5 -{{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} locked up only for the 2x conviction period -(i.e. {{ polkadot: two weeks :polkadot }}{{ kusama: two weeks :kusama }}), with the unlocking -countdown starting when the last referendum you voted on ends (assuming you are on the winning -side). If you voted with conviction on referendum and then a week later voted on another one with -the same conviction, the lock on your {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} will be -extended by a week (always assuming you are on the winning side). - -::: - -:::info Staked tokens can be used in governance - -While a token is locked, you can still use it for voting and [staking](./learn-staking.md). You are -only prohibited from transferring these tokens to another account. - -::: - -Votes are always "counted" at the same time (at the end of the voting period), no matter for how -long the tokens are locked. - -See below an example that shows how voluntary locking works. - -Peter: Votes `No` with -{{ polkadot: 10 DOT for a 32-week :polkadot }}{{ kusama: 1 KSM for a 32-week :kusama }} lock period -=> {{ polkadot: 10 x 6 = 60 Votes :polkadot }}{{ kusama: 1 x 6 = 6 Votes :kusama }} - -Logan: Votes `Yes` with -{{ polkadot: 20 DOT for one week :polkadot }}{{ kusama: 2 KSM for one week :kusama }} lock period => -{{ polkadot: 20 x 1 = 20 Votes :polkadot }}{{ kusama: 2 x 1 = 2 Votes :kusama }} - -Kevin: Votes `Yes` with -{{ polkadot: 15 DOT for a 2-week :polkadot }}{{ kusama: 1.5 KSM for a 2-week :kusama }} lock period -=> {{ polkadot: 15 x 2 = 30 Votes :polkadot }}{{ kusama: 1.5 x 2 = 3 Votes :kusama }} - -Even though combined both Logan and Kevin vote with more -{{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} than Peter, the lock period for both of them -is less than Peter, leading to their voting power counting as less. - -:::info Conviction Voting Locks created during Gov 1 - -Conviction voting locks in Governance v1 will not be carried over to OpenGov. Voting with conviction -in OpenGov will create a new lock (as this will use the `convictionVoting` pallet), while any -existing lock under Governance v1 (using the deprecated `democracy` pallet) will be left to expire. -Delegations under Governance v1 will need to be re-issued under OpenGov. - -::: ### Multirole Delegation From 7a5fa36a48cffcb3ac44a1ec774a6a9ea8e38a17 Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Wed, 17 Jan 2024 23:29:57 +0800 Subject: [PATCH 3/8] Add a simple example to compute Approval and Support --- docs/learn/learn-polkadot-opengov.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index c592cdbec3a5..3c8fd172f4ff 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -395,7 +395,6 @@ Delegations under Governance v1 will need to be re-issued under OpenGov. ::: - ### Approval and Support :::info Adaptive Quorum Biasing is deprecated @@ -420,6 +419,12 @@ satisfy the approval and support criteria for the **Confirmation Period**. conviction) compared to the total possible votes ([active issuance](learn-DOT.md#token-issuance)) that could be made in the system. In case of _split_ votes, only _aye_ and _abstain_ will count. +For example, let us consider a hypothetical example where the total active issuance is {{ polkadot: 100 DOT :polkadot }}{{ kusama: 100 KSM :kusama }} +and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, where as account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction +and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 45 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the +referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as Aye'/ Aye' + Nay', where Aye' and Nay' are the votes after +the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance). Hence, Support = (10 + 20) / 100 which is 30%. + :::info Nay votes are not counted towards Support Support is a measure of voters who turned out either in favor of the referenda and who consciously From d6c031001cab10daa4cc343bbc23093ecd510820 Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Thu, 18 Jan 2024 22:07:51 +0800 Subject: [PATCH 4/8] Update docs/learn/learn-polkadot-opengov.md Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com> --- docs/learn/learn-polkadot-opengov.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 3c8fd172f4ff..b1c6f3abe092 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -421,7 +421,7 @@ satisfy the approval and support criteria for the **Confirmation Period**. For example, let us consider a hypothetical example where the total active issuance is {{ polkadot: 100 DOT :polkadot }}{{ kusama: 100 KSM :kusama }} and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, where as account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction -and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 45 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the +and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 35 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as Aye'/ Aye' + Nay', where Aye' and Nay' are the votes after the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance). Hence, Support = (10 + 20) / 100 which is 30%. From cb9e08ae61bbf7889c4ae0a91c49cccff5ddb32a Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Thu, 18 Jan 2024 22:12:45 +0800 Subject: [PATCH 5/8] Update docs/learn/learn-polkadot-opengov.md Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com> --- docs/learn/learn-polkadot-opengov.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index b1c6f3abe092..491899c848b5 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -423,7 +423,7 @@ For example, let us consider a hypothetical example where the total active issua and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, where as account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 35 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as Aye'/ Aye' + Nay', where Aye' and Nay' are the votes after -the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance). Hence, Support = (10 + 20) / 100 which is 30%. +the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance), where "Aye" and "Abstain" are the votes without the conviction multiplier. Hence, Support = (10 + 20) / 100 which is 30%. :::info Nay votes are not counted towards Support From f53a79ab537882daca17fba409e077b14e593c1c Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Thu, 18 Jan 2024 22:13:45 +0800 Subject: [PATCH 6/8] Update docs/learn/learn-polkadot-opengov.md Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com> --- docs/learn/learn-polkadot-opengov.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 491899c848b5..912c16be2657 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -420,7 +420,7 @@ satisfy the approval and support criteria for the **Confirmation Period**. that could be made in the system. In case of _split_ votes, only _aye_ and _abstain_ will count. For example, let us consider a hypothetical example where the total active issuance is {{ polkadot: 100 DOT :polkadot }}{{ kusama: 100 KSM :kusama }} -and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, where as account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction +and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, whereas account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 35 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as Aye'/ Aye' + Nay', where Aye' and Nay' are the votes after the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance), where "Aye" and "Abstain" are the votes without the conviction multiplier. Hence, Support = (10 + 20) / 100 which is 30%. From 1e89ba994dbf2db11611d42f83248a3d8346bc91 Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Thu, 18 Jan 2024 22:18:33 +0800 Subject: [PATCH 7/8] Update docs/learn/learn-polkadot-opengov.md Co-authored-by: Filippo <110459737+filippoweb3@users.noreply.github.com> --- docs/learn/learn-polkadot-opengov.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 912c16be2657..71939f7fb525 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -422,7 +422,7 @@ satisfy the approval and support criteria for the **Confirmation Period**. For example, let us consider a hypothetical example where the total active issuance is {{ polkadot: 100 DOT :polkadot }}{{ kusama: 100 KSM :kusama }} and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, whereas account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 35 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the -referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as Aye'/ Aye' + Nay', where Aye' and Nay' are the votes after +referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as (Aye') / (Aye' + Nay') where "Aye'" and "Nay'" are the votes after the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance), where "Aye" and "Abstain" are the votes without the conviction multiplier. Hence, Support = (10 + 20) / 100 which is 30%. :::info Nay votes are not counted towards Support From 435e141ff5da25f8d3972f371451d276f77e7fb6 Mon Sep 17 00:00:00 2001 From: Radha <86818441+DrW3RK@users.noreply.github.com> Date: Thu, 18 Jan 2024 22:23:16 +0800 Subject: [PATCH 8/8] apply filippo's feedback --- docs/learn/learn-polkadot-opengov.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 71939f7fb525..f5ed4fa4948a 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -420,10 +420,17 @@ satisfy the approval and support criteria for the **Confirmation Period**. that could be made in the system. In case of _split_ votes, only _aye_ and _abstain_ will count. For example, let us consider a hypothetical example where the total active issuance is {{ polkadot: 100 DOT :polkadot }}{{ kusama: 100 KSM :kusama }} -and an account A with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "Aye" with 4x conviction, whereas account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction -and finally account C with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} votes "abstain". In this scenario, only 35 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the -referendum. Now, let us calculate the Approval and Support values for that referendum. Approval is calculated as (Aye') / (Aye' + Nay') where "Aye'" and "Nay'" are the votes after -the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. Support is calculated as (Aye + Abstain) / (total active issuance), where "Aye" and "Abstain" are the votes without the conviction multiplier. Hence, Support = (10 + 20) / 100 which is 30%. +- An account A votes "Aye" with 10 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 4x conviction +- An account B votes "Nay" with 5 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} with 2x conviction +- An account C votes "abstain" with 20 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }}. (no conviction can be applied on "abstain" votes) + +In this scenario, only 35 {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} from the total active issuance participated in voting on the +referendum. Now, let us calculate the Approval and Support values for that referendum. + +- Approval is calculated as (Aye') / (Aye' + Nay') where "Aye'" and "Nay'" are the votes after +the conviction multiplier is applied. Hence, Approval = (10 x 4) / (10 x 4 + 5 x 2) = 40/50 which is 80%. +- Support is calculated as (Aye + Abstain) / (total active issuance), where "Aye" and "Abstain" are the votes without the conviction multiplier. + Hence, Support = (10 + 20) / 100 which is 30%. :::info Nay votes are not counted towards Support