• © Goverland Inc. 2026
  • v1.0.8
  • Privacy Policy
  • Terms of Use
ssv.networkssv.networkby0x9dcbD4eF4886dB706bC442F2d6F9AFA5175FeB630x9dcb…eB63

Incentivized Testnet

Voting ended about 4 years agoSucceeded

Proposal Overview This proposal aims to create an incentivization layer to the current running SSV testnet by introducing rewards to both validators and operators.

The goal of the incentivized testnet is to scale up the current testnet and simulate “real world” dynamics between validators and operators.

Motivation The goal of a testnet is to thoroughly test all the different components of a network, from the node software all the way to network economics.

A testnet can be regarded as a public beta testing where all involved parties can freely engage and test the network.

Testnets were proven to be a necessary milestone for decentralized protocols before going mainnet.

This proposal aims to scale the current testnet by rewarding more validators and operators to join the network, alongside, introducing “real world” dynamics between operators and validators. As rewards are introduced to validators (as a function of how well their operators perform) it will force validators to carefully choose their operators, requiring a higher level of service and overall network “health”.

Operators will be rewarded depending on the number of validators they are assigned to and the overall performance of those validators.

Mechanics

  • 64k SSV tokens are to be minted as rewards.
  • The testnet will run for ~2.5 month through 5 rounds starting from epoch 69,084 (roughly January 24th: ~17:00 UTC+2) until epoch 84,838 (roughly April 4th).

Distribution

  • Rewards will be calculated per round (2 weeks - 3,150 epochs) but distributed in aggregation at the end of the testnet on the Ethereum mainnet using a merkle distributor contract.
  • Rounds duration (by which the individual rewards are calculated for): * Round 1: epochs 69,084 - 72234 * Round 2: epochs 72235 - 75,385 * Round 3: epochs 75,386 - 78,536 * Round 4: epochs 78,537 - 81,687 * Round 5: epochs 81,687 - 84,838
  • Blox’s operator will be excluded from the reward distribution.

Distribution Allocations (per round, multiply by 5 for entire testnet duration)

  • Allocation A: 6,400 SSV tokens (50%) for validators which registered with an address holding SSV
  • Allocation B: 1,920 SSV tokens (15%) for all validators (registered with addresses holding / not holding SSV
  • Allocation C: 2,240 SSV tokens (17.5%) for verified operators (including dAppnodes)
  • Allocation D: 2,240 SSV tokens (17.5%) for all operators (verified and not verified)

Conditions Validator Eligibility

  • Anyone can register a 32 ETH validator.
  • Each validator performing with at least 85% average attestation rate the previous 3,150 epochs (~14 days) is eligible.
  • Rewards are claimable to the address that registered the validator from allocation B.
  • Rewards per eligible validator is calculated by dividing allocation B by the number of eligible validators.

Abusive Behaviour

  • Abusive behaviour of the network (e.g. getting a hold of big amounts of goerli to register hundreds or thousands of validators) will result in exclusion from the incentivization program, decided by the community’s ambassadors, DAO and/ or Blox.
  • Only validators which were deposited using goerli eth received from SSV.Networks’ bot will be determined valid. This doesn't affect validators created before this proposal. Those validators will be included if found to be eligible.

SSV holder registered validator Eligibility

  • All validator eligibility conditions
  • Every validator has a registering address, if that same address holds SSV tokens on mainnet then that address is eligible.
    • Vested SSV of DAO partners will also be included (vesting contract)
  • A random snapshot to determine SSV balance is used to discourage manipulation.
  • ri (see below) is the reward for a specific address that holds SSV and registered one or more validators.
  • Rewards distributed from allocation A

SSV_i - amount of SSV held by registering address Val_i - amount of validators registered by an address Wi = SSV_i * Log(C * Val_i+1) - weight the registering address has towards rewards calculation C - coefficient for validator count (“50” will be used) W = ∑wi - Total weight of all eligible addresses R - allocation A r i= wi/W*R - rewards for a specific address

SSV Balance Snapshot

  • A snapshot of SSV holders will be taken in a specific mainnet ethereum block for each round.
  • A deterministic method for calculating the snapshot block is used by taking the first 4 bytes of the block root for each round’s end epoch (the last slot of that epoch)
  • It’s virtually impossible to predict that block root making the snapshot block pseudo-random.

b = time(distributionStart) - timestamp for the closest ethereum block to the round start epoch time, rounded down. twoWeeksSec = 1209600 - two weeks in seconds blockTimeStamp = b + integer(blockRoot[0:3]) % twoWeeksSec - taking the first 4 bytes of the block root for the end slot of the end epoch for a specific round, converting it to a number and adding to round start time to get an approximated block time stamp (the closest to it rounded down) block = block(blockTimeStamp) - a block number given a timestamp.

Operators

  • Every operator receives rewards based on the amount of eligible validators it is assigned to and its individual performance (For example, an eligible validator in which the operator has a score of 0 will not reward the operator).
  • Operator score is calculated according to this. Minimum eligibility score is 85% for each round duration.
  • Ri (see below) is the reward for a specific operator.
  • Rewards are claimable to the address that registered the operator.
  • Rewards distributed from allocation D according to the below calculation.

Verified Operators

  • Same as all operators but with the additional rewards allocation.
  • Verified operators include existing operators with the verified / dAppnodes tag in the testnet web app.
  • To become a verified operator please refer to this.
  • Rewards distributed from allocation C according to the below calculation:

Score_i- operator’s score for the entire round duration Val_i - amount of validators the operator is assigned to Wi = Score_i * Log(C * Val_i+1) - weight the registering address has towards rewards calculation C - coefficient for validator count (“0.01” will be used) W = ∑wi - sum of all operators weight R- total rewards (allocation D and/ or C) ri=wi/W*R- operator rewards

Previous Discussions

  • Original proposal
  • 3rd iteration
  • Final draft

References

  • Rewards simulator
  • Rewards lookup & insights (epochs 62332 - 65732)

Off-Chain Vote

Yes
447.47K 100%
No
74 0%
Download mobile app to vote

Timeline

Jan 17, 2022Proposal created
Jan 17, 2022Proposal vote started
Jan 24, 2022Proposal vote ended
Oct 26, 2023Proposal updated