This commit is contained in:
bkchr committed 2025-07-16 01:21:50 +00:00
1 parent 01c56814b9
commit 36efee5a07
4 files changed
+6 -4

No files matched your search

+2 -1
View File
@@ -268,6 +268,7 @@ CandidateRewards {
<p>We no longer require this data during disputes.</p>
<!-- You could optionally track a `downloaded_one: Option<AuthorityBitField>` too, for the nodes from whome we douwnloaded only one chunk, but this seems like premature optimization -->
<p>After we approve a relay chain block, then we collect all its <code>CandidateRewards</code> into an <code>ApprovalsTally</code>, with one <code>ApprovalTallyLine</code> for each validator. In this, we compute <code>approval_usages</code> from the final run of the approvals loop, plus <code>0.8</code> for each backer.</p>
<p>We say a validator 𝑢 uses an approval vote by a validator 𝑣 on a candidate 𝑐 if the approval assignments loop by 𝑢 counted the vote by 𝑣 towards approving the candidate 𝑐.</p>
<pre><code>/// Our subjective record of what we used from, and provided to, all other validators on the finalized chain
pub struct ApprovalsTally(Vec&lt;ApprovalTallyLine&gt;);
@@ -285,7 +286,7 @@ pub struct ApprovalTallyLine {
</code></pre>
<p>At finality we sum these <code>ApprovalsTally</code> for one for the whole epoch so far, into another <code>ApprovalsTally</code>. We can optionally sum them earlier at chain heads, but this requires mutablity.</p>
<h3 id="messages"><a class="header" href="#messages">Messages</a></h3>
<p>After the epoch is finalized, we share the first two lines of its <code>ApprovalTally</code>.</p>
<p>After the epoch is finalized, we share the first three field of each <code>ApprovalTallyLine</code> in its <code>ApprovalTally</code>.</p>
<pre><code>/// Our subjective record of what we used from some other validator on the finalized chain
pub struct ApprovalTallyMessageLine {
/// Approvals by this validator which our approvals gadget used in marking candidates approved.
+2 -1
View File
@@ -262,6 +262,7 @@ CandidateRewards {
<p>We no longer require this data during disputes.</p>
<!-- You could optionally track a `downloaded_one: Option<AuthorityBitField>` too, for the nodes from whome we douwnloaded only one chunk, but this seems like premature optimization -->
<p>After we approve a relay chain block, then we collect all its <code>CandidateRewards</code> into an <code>ApprovalsTally</code>, with one <code>ApprovalTallyLine</code> for each validator. In this, we compute <code>approval_usages</code> from the final run of the approvals loop, plus <code>0.8</code> for each backer.</p>
<p>We say a validator 𝑢 uses an approval vote by a validator 𝑣 on a candidate 𝑐 if the approval assignments loop by 𝑢 counted the vote by 𝑣 towards approving the candidate 𝑐.</p>
<pre><code>/// Our subjective record of what we used from, and provided to, all other validators on the finalized chain
pub struct ApprovalsTally(Vec&lt;ApprovalTallyLine&gt;);
@@ -279,7 +280,7 @@ pub struct ApprovalTallyLine {
</code></pre>
<p>At finality we sum these <code>ApprovalsTally</code> for one for the whole epoch so far, into another <code>ApprovalsTally</code>. We can optionally sum them earlier at chain heads, but this requires mutablity.</p>
<h3 id="messages"><a class="header" href="#messages">Messages</a></h3>
<p>After the epoch is finalized, we share the first two lines of its <code>ApprovalTally</code>.</p>
<p>After the epoch is finalized, we share the first three field of each <code>ApprovalTallyLine</code> in its <code>ApprovalTally</code>.</p>
<pre><code>/// Our subjective record of what we used from some other validator on the finalized chain
pub struct ApprovalTallyMessageLine {
/// Approvals by this validator which our approvals gadget used in marking candidates approved.
+1 -1
View File
@@ -1 +1 @@
Object.assign(window.search, {"doc_urls":["introduction.html#introduction","proposed/0000-rewards.html#rfc-0000-validator-rewards","proposed/0000-rewards.html#summary","proposed/0000-rewards.html#motivation","proposed/0000-rewards.html#stakeholders","proposed/0000-rewards.html#logic","proposed/0000-rewards.html#categories","proposed/0000-rewards.html#observation","proposed/0000-rewards.html#messages","proposed/0000-rewards.html#rewards-computation","proposed/0000-rewards.html#strategies","proposed/0000-rewards.html#concensus","proposed/0000-rewards.html#explanation","proposed/0000-rewards.html#backing","proposed/0000-rewards.html#approvals","proposed/0000-rewards.html#availability-redistribution","proposed/0000-rewards.html#tit-for-tat","proposed/0000-rewards.html#concerns-drawbacks-testing-security-and-privacy","proposed/0000-rewards.html#performance-ergonomics-and-compatibility","proposed/0000-rewards.html#prior-art-and-references","proposed/0000-rewards.html#unresolved-questions","proposed/0000-rewards.html#future-directions-and-related-material","proposed/0000-rewards.html#synthetic-parachain-flag","proposed/0150-voting-while-delegating.html#rfc-150-allow-voting-while-delegating","proposed/0150-voting-while-delegating.html#summary","proposed/0150-voting-while-delegating.html#motivation","proposed/0150-voting-while-delegating.html#backdrop","proposed/0150-voting-while-delegating.html#the-issue","proposed/0150-voting-while-delegating.html#factors-limiting-delegation","proposed/0150-voting-while-delegating.html#an-aside","proposed/0150-voting-while-delegating.html#stakeholders","proposed/0150-voting-while-delegating.html#explanation","proposed/0150-voting-while-delegating.html#new-data--runtime-logic","proposed/0150-voting-while-delegating.html#locked-balance","proposed/0150-voting-while-delegating.html#migrations","proposed/0150-voting-while-delegating.html#drawbacks","proposed/0150-voting-while-delegating.html#an-unbounded-rate-of-change-of-the-voter-preferences-function","proposed/0150-voting-while-delegating.html#lessened-value-in-becoming-a-delegate","proposed/0150-voting-while-delegating.html#testing-security-and-privacy","proposed/0150-voting-while-delegating.html#performance-ergonomics-and-compatibility","proposed/0150-voting-while-delegating.html#performance","proposed/0150-voting-while-delegating.html#ergonomics","proposed/0150-voting-while-delegating.html#compatibility","proposed/0150-voting-while-delegating.html#prior-art-and-references","proposed/0150-voting-while-delegating.html#unresolved-questions","proposed/0150-voting-while-delegating.html#future-directions-and-related-material","proposed/0151-crowdsourced-decision-deposits.html#rfc-0151-crowdsourced-decision-deposits","proposed/0151-crowdsourced-decision-deposits.html#summary","proposed/0151-crowdsourced-decision-deposits.html#motivation","proposed/0151-crowdsourced-decision-deposits.html#backdrop","proposed/0151-crowdsourced-decision-deposits.html#the-issue","proposed/0151-crowdsourced-decision-deposits.html#stakeholders","proposed/0151-crowdsourced-decision-deposits.html#explanation","proposed/0151-crowdsourced-decision-deposits.html#drawbacks","proposed/0151-crowdsourced-decision-deposits.html#testing-security-and-privacy","proposed/0151-crowdsourced-decision-deposits.html#performance-ergonomics-and-compatibility","proposed/0151-crowdsourced-decision-deposits.html#performance","proposed/0151-crowdsourced-decision-deposits.html#ergonomics","proposed/0151-crowdsourced-decision-deposits.html#compatibility","proposed/0151-crowdsourced-decision-deposits.html#prior-art-and-references","proposed/0151-crowdsourced-decision-deposits.html#unresolved-questions","proposed/0151-crowdsourced-decision-deposits.html#future-directions-and-related-material","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#rfc-0152-decentralized-convex-preference-coretime-market-for-polkadot","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#summary","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#motivation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#stakeholders","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#guide-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#reference-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#drawbacks","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#performance","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#user-experience","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#governance-burden","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#testing-secuLine truncated
Object.assign(window.search, {"doc_urls":["introduction.html#introduction","proposed/0000-rewards.html#rfc-0000-validator-rewards","proposed/0000-rewards.html#summary","proposed/0000-rewards.html#motivation","proposed/0000-rewards.html#stakeholders","proposed/0000-rewards.html#logic","proposed/0000-rewards.html#categories","proposed/0000-rewards.html#observation","proposed/0000-rewards.html#messages","proposed/0000-rewards.html#rewards-computation","proposed/0000-rewards.html#strategies","proposed/0000-rewards.html#concensus","proposed/0000-rewards.html#explanation","proposed/0000-rewards.html#backing","proposed/0000-rewards.html#approvals","proposed/0000-rewards.html#availability-redistribution","proposed/0000-rewards.html#tit-for-tat","proposed/0000-rewards.html#concerns-drawbacks-testing-security-and-privacy","proposed/0000-rewards.html#performance-ergonomics-and-compatibility","proposed/0000-rewards.html#prior-art-and-references","proposed/0000-rewards.html#unresolved-questions","proposed/0000-rewards.html#future-directions-and-related-material","proposed/0000-rewards.html#synthetic-parachain-flag","proposed/0150-voting-while-delegating.html#rfc-150-allow-voting-while-delegating","proposed/0150-voting-while-delegating.html#summary","proposed/0150-voting-while-delegating.html#motivation","proposed/0150-voting-while-delegating.html#backdrop","proposed/0150-voting-while-delegating.html#the-issue","proposed/0150-voting-while-delegating.html#factors-limiting-delegation","proposed/0150-voting-while-delegating.html#an-aside","proposed/0150-voting-while-delegating.html#stakeholders","proposed/0150-voting-while-delegating.html#explanation","proposed/0150-voting-while-delegating.html#new-data--runtime-logic","proposed/0150-voting-while-delegating.html#locked-balance","proposed/0150-voting-while-delegating.html#migrations","proposed/0150-voting-while-delegating.html#drawbacks","proposed/0150-voting-while-delegating.html#an-unbounded-rate-of-change-of-the-voter-preferences-function","proposed/0150-voting-while-delegating.html#lessened-value-in-becoming-a-delegate","proposed/0150-voting-while-delegating.html#testing-security-and-privacy","proposed/0150-voting-while-delegating.html#performance-ergonomics-and-compatibility","proposed/0150-voting-while-delegating.html#performance","proposed/0150-voting-while-delegating.html#ergonomics","proposed/0150-voting-while-delegating.html#compatibility","proposed/0150-voting-while-delegating.html#prior-art-and-references","proposed/0150-voting-while-delegating.html#unresolved-questions","proposed/0150-voting-while-delegating.html#future-directions-and-related-material","proposed/0151-crowdsourced-decision-deposits.html#rfc-0151-crowdsourced-decision-deposits","proposed/0151-crowdsourced-decision-deposits.html#summary","proposed/0151-crowdsourced-decision-deposits.html#motivation","proposed/0151-crowdsourced-decision-deposits.html#backdrop","proposed/0151-crowdsourced-decision-deposits.html#the-issue","proposed/0151-crowdsourced-decision-deposits.html#stakeholders","proposed/0151-crowdsourced-decision-deposits.html#explanation","proposed/0151-crowdsourced-decision-deposits.html#drawbacks","proposed/0151-crowdsourced-decision-deposits.html#testing-security-and-privacy","proposed/0151-crowdsourced-decision-deposits.html#performance-ergonomics-and-compatibility","proposed/0151-crowdsourced-decision-deposits.html#performance","proposed/0151-crowdsourced-decision-deposits.html#ergonomics","proposed/0151-crowdsourced-decision-deposits.html#compatibility","proposed/0151-crowdsourced-decision-deposits.html#prior-art-and-references","proposed/0151-crowdsourced-decision-deposits.html#unresolved-questions","proposed/0151-crowdsourced-decision-deposits.html#future-directions-and-related-material","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#rfc-0152-decentralized-convex-preference-coretime-market-for-polkadot","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#summary","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#motivation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#stakeholders","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#guide-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#reference-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#drawbacks","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#performance","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#user-experience","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#governance-burden","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#testing-secuLine truncated
+1 -1
View File
@@ -1 +1 @@
{"doc_urls":["introduction.html#introduction","proposed/0000-rewards.html#rfc-0000-validator-rewards","proposed/0000-rewards.html#summary","proposed/0000-rewards.html#motivation","proposed/0000-rewards.html#stakeholders","proposed/0000-rewards.html#logic","proposed/0000-rewards.html#categories","proposed/0000-rewards.html#observation","proposed/0000-rewards.html#messages","proposed/0000-rewards.html#rewards-computation","proposed/0000-rewards.html#strategies","proposed/0000-rewards.html#concensus","proposed/0000-rewards.html#explanation","proposed/0000-rewards.html#backing","proposed/0000-rewards.html#approvals","proposed/0000-rewards.html#availability-redistribution","proposed/0000-rewards.html#tit-for-tat","proposed/0000-rewards.html#concerns-drawbacks-testing-security-and-privacy","proposed/0000-rewards.html#performance-ergonomics-and-compatibility","proposed/0000-rewards.html#prior-art-and-references","proposed/0000-rewards.html#unresolved-questions","proposed/0000-rewards.html#future-directions-and-related-material","proposed/0000-rewards.html#synthetic-parachain-flag","proposed/0150-voting-while-delegating.html#rfc-150-allow-voting-while-delegating","proposed/0150-voting-while-delegating.html#summary","proposed/0150-voting-while-delegating.html#motivation","proposed/0150-voting-while-delegating.html#backdrop","proposed/0150-voting-while-delegating.html#the-issue","proposed/0150-voting-while-delegating.html#factors-limiting-delegation","proposed/0150-voting-while-delegating.html#an-aside","proposed/0150-voting-while-delegating.html#stakeholders","proposed/0150-voting-while-delegating.html#explanation","proposed/0150-voting-while-delegating.html#new-data--runtime-logic","proposed/0150-voting-while-delegating.html#locked-balance","proposed/0150-voting-while-delegating.html#migrations","proposed/0150-voting-while-delegating.html#drawbacks","proposed/0150-voting-while-delegating.html#an-unbounded-rate-of-change-of-the-voter-preferences-function","proposed/0150-voting-while-delegating.html#lessened-value-in-becoming-a-delegate","proposed/0150-voting-while-delegating.html#testing-security-and-privacy","proposed/0150-voting-while-delegating.html#performance-ergonomics-and-compatibility","proposed/0150-voting-while-delegating.html#performance","proposed/0150-voting-while-delegating.html#ergonomics","proposed/0150-voting-while-delegating.html#compatibility","proposed/0150-voting-while-delegating.html#prior-art-and-references","proposed/0150-voting-while-delegating.html#unresolved-questions","proposed/0150-voting-while-delegating.html#future-directions-and-related-material","proposed/0151-crowdsourced-decision-deposits.html#rfc-0151-crowdsourced-decision-deposits","proposed/0151-crowdsourced-decision-deposits.html#summary","proposed/0151-crowdsourced-decision-deposits.html#motivation","proposed/0151-crowdsourced-decision-deposits.html#backdrop","proposed/0151-crowdsourced-decision-deposits.html#the-issue","proposed/0151-crowdsourced-decision-deposits.html#stakeholders","proposed/0151-crowdsourced-decision-deposits.html#explanation","proposed/0151-crowdsourced-decision-deposits.html#drawbacks","proposed/0151-crowdsourced-decision-deposits.html#testing-security-and-privacy","proposed/0151-crowdsourced-decision-deposits.html#performance-ergonomics-and-compatibility","proposed/0151-crowdsourced-decision-deposits.html#performance","proposed/0151-crowdsourced-decision-deposits.html#ergonomics","proposed/0151-crowdsourced-decision-deposits.html#compatibility","proposed/0151-crowdsourced-decision-deposits.html#prior-art-and-references","proposed/0151-crowdsourced-decision-deposits.html#unresolved-questions","proposed/0151-crowdsourced-decision-deposits.html#future-directions-and-related-material","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#rfc-0152-decentralized-convex-preference-coretime-market-for-polkadot","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#summary","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#motivation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#stakeholders","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#guide-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#reference-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#drawbacks","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#performance","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#user-experience","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#governance-burden","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#testing-security-and-privacy","proposed/0Line truncated
{"doc_urls":["introduction.html#introduction","proposed/0000-rewards.html#rfc-0000-validator-rewards","proposed/0000-rewards.html#summary","proposed/0000-rewards.html#motivation","proposed/0000-rewards.html#stakeholders","proposed/0000-rewards.html#logic","proposed/0000-rewards.html#categories","proposed/0000-rewards.html#observation","proposed/0000-rewards.html#messages","proposed/0000-rewards.html#rewards-computation","proposed/0000-rewards.html#strategies","proposed/0000-rewards.html#concensus","proposed/0000-rewards.html#explanation","proposed/0000-rewards.html#backing","proposed/0000-rewards.html#approvals","proposed/0000-rewards.html#availability-redistribution","proposed/0000-rewards.html#tit-for-tat","proposed/0000-rewards.html#concerns-drawbacks-testing-security-and-privacy","proposed/0000-rewards.html#performance-ergonomics-and-compatibility","proposed/0000-rewards.html#prior-art-and-references","proposed/0000-rewards.html#unresolved-questions","proposed/0000-rewards.html#future-directions-and-related-material","proposed/0000-rewards.html#synthetic-parachain-flag","proposed/0150-voting-while-delegating.html#rfc-150-allow-voting-while-delegating","proposed/0150-voting-while-delegating.html#summary","proposed/0150-voting-while-delegating.html#motivation","proposed/0150-voting-while-delegating.html#backdrop","proposed/0150-voting-while-delegating.html#the-issue","proposed/0150-voting-while-delegating.html#factors-limiting-delegation","proposed/0150-voting-while-delegating.html#an-aside","proposed/0150-voting-while-delegating.html#stakeholders","proposed/0150-voting-while-delegating.html#explanation","proposed/0150-voting-while-delegating.html#new-data--runtime-logic","proposed/0150-voting-while-delegating.html#locked-balance","proposed/0150-voting-while-delegating.html#migrations","proposed/0150-voting-while-delegating.html#drawbacks","proposed/0150-voting-while-delegating.html#an-unbounded-rate-of-change-of-the-voter-preferences-function","proposed/0150-voting-while-delegating.html#lessened-value-in-becoming-a-delegate","proposed/0150-voting-while-delegating.html#testing-security-and-privacy","proposed/0150-voting-while-delegating.html#performance-ergonomics-and-compatibility","proposed/0150-voting-while-delegating.html#performance","proposed/0150-voting-while-delegating.html#ergonomics","proposed/0150-voting-while-delegating.html#compatibility","proposed/0150-voting-while-delegating.html#prior-art-and-references","proposed/0150-voting-while-delegating.html#unresolved-questions","proposed/0150-voting-while-delegating.html#future-directions-and-related-material","proposed/0151-crowdsourced-decision-deposits.html#rfc-0151-crowdsourced-decision-deposits","proposed/0151-crowdsourced-decision-deposits.html#summary","proposed/0151-crowdsourced-decision-deposits.html#motivation","proposed/0151-crowdsourced-decision-deposits.html#backdrop","proposed/0151-crowdsourced-decision-deposits.html#the-issue","proposed/0151-crowdsourced-decision-deposits.html#stakeholders","proposed/0151-crowdsourced-decision-deposits.html#explanation","proposed/0151-crowdsourced-decision-deposits.html#drawbacks","proposed/0151-crowdsourced-decision-deposits.html#testing-security-and-privacy","proposed/0151-crowdsourced-decision-deposits.html#performance-ergonomics-and-compatibility","proposed/0151-crowdsourced-decision-deposits.html#performance","proposed/0151-crowdsourced-decision-deposits.html#ergonomics","proposed/0151-crowdsourced-decision-deposits.html#compatibility","proposed/0151-crowdsourced-decision-deposits.html#prior-art-and-references","proposed/0151-crowdsourced-decision-deposits.html#unresolved-questions","proposed/0151-crowdsourced-decision-deposits.html#future-directions-and-related-material","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#rfc-0152-decentralized-convex-preference-coretime-market-for-polkadot","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#summary","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#motivation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#stakeholders","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#guide-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#reference-level-explanation","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#drawbacks","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#performance","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#user-experience","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#governance-burden","proposed/0152-decentralized-convex-preference-coretime-market-for-polkadot.html#testing-security-and-privacy","proposed/0Line truncated