Crust Wiki

Crust Wiki

  • Docs
  • Shadow
  • Contribute
  • Languages iconEnglish
    • 中文
    • Help Translate

›Learn

General

  • Crust Overview
  • Crust Grants
  • Crust Ecosystem Growth
  • CRU Claims
  • LockedCRU Claims
  • LockedCRU Unlock
  • Bridge

    • Ethereum Bridge
    • Elrond Bridge
  • Crust Wallet
  • Glossary
  • Use CRU18 Guarantee
  • Parameters
  • Contributing

Learn

  • Account
  • Crust Tokens
  • New Bond
  • Guarantor
  • Validator
  • GPoS
  • sWorker

    • Overview
    • Entry Network
    • Workload
  • DSM
  • Storage Merchant
  • Identity
  • Governance Guide

Build

  • Builder's Portal
  • Crust Storage 101
  • Basics

    • Developer faucet
    • Crust Rocky Network
    • Store file with Crust Storage API
    • Store file with Crust IPFS Pinning Service API

    Crosschain Storage Solution

    • Crust's XCMP-based cross-chain dStorage solution
    • Crust's Parachain-based cross-chain dStorage solution
    • Crust's Native IPFS cross-chain dStorage solution
    • Crust's Smart contract cross-chain dStorage solution

    Integration Guide

    • DApp Hosting
    • NFTs
    • File Storage

    Node Guide

    • Crust Node
    • Crust Storage Manager

    Toolkits

    • Crust Pinner Github Action
    • Crust Pinner NPM Package
    • IPFS W3Auth Gateway
    • IPFS W3Auth Pinning Service

Build With EVM

  • Overview
  • Build With EVM 101
  • Chains

    • Ethereum
    • Optimism
    • Arbitrum
    • zkSync

    Toolkits

    • SDK

Build With Algorand

  • Overview
  • Build With Algorand 101
  • Algorand applications

Build With TON

  • Overview
  • Build With TON 101
  • TON applications

Node

  • Node Overview
  • Node Hardware Spec
  • Owner Node
  • Member Node
  • Isolation Node
  • Validator Guidance
  • Guarantor Guidance
  • sWorker Version
  • Node Benefits
  • Configure QoS

Storage

  • Overview
  • User Guidance
  • Merchant Guidance
  • Order Settlement
  • Storage Market Benefits
  • Apps Storage Issue

Q&A

  • Basic Knowledge
  • Verifiers and Candidates
  • Guarantor
  • Rewards and Punishments
  • Basic Node Problems
  • Member Node Related
  • Related Groups
  • Fix unstable chain
  • Applications
  • EPID & ECDSA
  • Other
Edit

Validator

Overview

Crust chain is composed of many Validator and Candidate nodes. The validators are elected from the candidates according to the effective staking amount in each ERA. The validator is the node that validates transactions and generates blocks in Crust Network, also maintaining the security of Crust Network.

Under the GPoS (Guaranteed Proof of Stake) consensus of Crust Network, validator nodes obtain rewards via staking and block generation.

Validators’ Rewards and Slash

1.Rewards

The rewards of validators are composed of two parts: authoring rewards and staking rewards. Normally, validators will receive both the authoring and staking rewards, while candidates receive only staking rewards.

In Crust mainnet, each Era (6 hours) generates authoring and staking rewards, more details about the reward decreasing refer to economic whitepaper.

1.1 Authoring rewards

Authoring rewards are the incomes obtained by validators participating in block generation and transaction packaging in Crust Network. The incomes are related to staking points. The Babe algorithm randomly selects a validator for each block to produce the block. Normally, each validator's block production score is roughly average. If the validator does not have a block production score, please check the chain operation of the Owner machine. No block production score means no block production reward.

staking_points

The authoring rewards for each validator in each Era are calculated as:

authoring_rewards = total_authoring_rewards * point_ratio (individual_points / total_points)

A new round of validator elections will be conducted in each era, and the next validator of the era will be selected from all candidates and validators. The rule for the election is:

Electing from high to low according to effective stake 

1.2 Staking rewards

Staking rewards refer to the validators or candidates who hold storage resources obtaining incomes through staking CRUs. The staking income is related to the following factors:

  • Stake Limit: The Stake Limit determines the upper limit of the effective stake of CRUs by the validator, which is directly related to the amount of storage provided by the validator. In Crust mainnet, a 1TB SRD(check the meaning of SRD from glossary) file corresponds to an upper limit of 1CRU, and a meaningful file corresponds to 1-10 times the upper limit of SRD, with specific "times" related to the number of duplicates of meaningful files. For details, please refer to DSM Guidance;
  • Effective Stake: The Effective Stake is the amount of staking that actually generates incomes, which is related to the stake limit of the validator that is guaranteed. An example will be provided later.
  • Guarantee fee: Guarantee fee is the ratio of the share to guarantors. The larger the value, the higher the guarantor’s revenue share. However, A higher guarantee fee does not mean higher guarantee income. The guarantee income of any guarantor needs to consider the effective stake and his own staking amount.

When a Validator or Candidate adjusts its own guarantee fee, the guarantee fee of the first Era after the adjustment will be set to 100% compulsively, which means that all the income of the node except for its own effective stake will be distributed to the guarantor. After an Era, the guarantee fee is restored to the value set by the Validator/Candidate.

For example, if the validator obtains 900 CRU staking rewards and 100 CRU block generation reward in one era, and if his self-staking accounts for 90% of his total staking(The remaining 10% is contributed by guarantors). If the guarantee fee is 30%, then the guarantors finally obtains (900 + 100) * 10% * 30% = 30 CRUs income, and the remaining 970 CRUs belongs to the validator.

The income obtained by the validator and candidate is calculated as following steps:

validator_total_staking_amount = self_staking_amount + guarantee_amount
validator_effective_staking_amount = MIN (stake_limit, validator_total_staking_amount) * (self_staking_amount / validator_total_staking_amount)
guarantor_effective_staking_amount = MIN (staking_limit, validator_total_staking_amount) * (guarantee_amount / validator_total_staking_amount)
validator_rewards = total_staking_rewards * validator_effective_staking_amount / total_effective_staking_amount + total_staking_rewards * guarantor_effective_staking_amount / total_effective_staking_amount * (1 - guarantee_fee)

The following is an example:

If node A staked 1000 CRUs itself, and was guaranteed with 200 CRUs. The staking upper limit is 1000 CRUs, with the guarantee fee set at 30%, and the staking income generated per round is 600 CRUs. Supposing the effective staking amount of the network is 2000 CRUs, we can work out the income of each Era:

  1. Validator's effective staking amount = MIN(1000, 1200)*(1000 / 1200) = 1000 * (1000 / 1200) = 833.3 CRU
  2. Guarantor's effective staking amount = MIN(1000,1200)* (200 / 1200)= 1000 * (200 / 1200) = 166.66 CRU
  3. Validator's rewards = 600 * (833.3 / 2000) + 600 * (166.66 / 2000) * 70% = 285 CRU

1.3 Withdraw rewards

The validator’s authoring rewards and staking rewards cannot be directly received and transferred, but will be changed to the Binding state to increase the staking amount of the validator itself. To make the rewarding tokens transferable, you need to do the following steps:

  1. you need to do the unbond for the amount that you want to withdraw.
  2. After 28 days, you can withdraw your reward by click the "withdraw" icon as the following picture.

withdraw

2. Slash

Only validators (block generators) and the nodes that actually package blocks and transactions will get slashing. It should be noted that:

  1. Conditions for slash
  • At the end of each Session (1 hour), an examination will be performed to detect whether validators are offline. Once validators are found to be offline, the slash mechanism will be triggered to calculate the slashing amount;
  • Each time a block is generated, the packager (block author) of the block will be checked on double authoring. If it is detected that the packager attempted to generate two different blocks out of the same block height, a slash will be imposed on him.
  1. Consequence of slash

The staked CRUs will be deducted according to the slash ratio, and the validator himself will be revoked the entitlement. The validator in the state of slash will lose the guaranteed part before him being slashed.

  1. Slash ratio

The slashing amount is the maximum slash ratio that occurs in a SlashingSpan multiplied by the validator’s effective stakes:

slash_ratio = min((3 * (k - (n / 10 + 1))) / n, 1) * 0.07

where k is the number of offline validators in one era and n is the overall number of validators (for block authoring). Less than 10% offline triggers 0% slash which however can climb linearly up to the maximum of 7%. When one-third of the validators are offline, the slash ratio is approximately 5%.

  1. Deduction time point for slash

The slash will not take place instantly, rather, a delayed deduction comes after 108 Eras (27 days). A slash that does not actually occur can be canceled (applicable through the Governance).

To become a validator

To become a validator of Crust Network requires you to have a certain amount of storage resources, a high-quality network, as well as configured nodes ready. For details, please refer to the description of validators (nodes) in Validator Guidance.

← GuarantorGPoS →
  • Overview
  • Validators’ Rewards and Slash
    • 1.Rewards
    • 2. Slash
  • To become a validator
Docs
Getting StartedCRU ClaimsWebsite Hosting with CrustNFT Data Storage with Crust
Community
DiscordTwitterTelegram
More
CooperationGitHub
Copyright © 2025 Crust Network