Counter Stake - Stage 1 Details

Start date: 10th February 2020
Reward Pool: $40,000 worth of MATIC tokens

Overview

Counter Stake stages will progressively have more validators, starting initially with ~30 nodes, and increasing in number as we move forward.

For Stage 1, we will start with ~30 nodes, of which the Matic Foundation will control a majority stake in the testnet in week 1 of the program. Slots for the public will be available on a first-come-first-served basis. In the subsequent weeks of the program, we will be incrementing the validator slots at significant stages of the event. There will be periodic auctions to ensure that additional validators can join the network after week 1.

Once all slots are filled, based on the uptime performance of all the validators, folks on the waitlist will be provided with more Test tokens to replace the poorly performing validators. Interested participants will need to submit their address to the Matic project team, and tokens will be distributed directly to the address.

As we move forward through the stage, other nodes will end up replacing the nodes run by the Matic Foundation.

A request for additional details from interested participants for Stage 1 will be sent soon.

There will be a Dashboard available for validators and others to view their performance on a daily basis.

We will also be releasing additional documentation regarding the following:

  • Simplified validator node setup (https://docs.matic.network/staking/participate-in-counter-stake/)
    • Docker images
    • Linux packages
    • Native builds
  • A guide on the internals of the Matic Proof-of-Stake system, including directly interacting with the contracts and network components
  • A how-to article on the Staking UI and dashboard for validators and delegators

We will also be releasing a detailed system overview of Matic’s Validator Architecture.

Counter Stake Stage 1 Phases

Stage 1 of Matic’s public incentivized staking testnet – Counter Stake ( https://matic.network/counter-stake/ ) – will be conducted in 3 different stages:

Stage 1A – Setting the stage for the basic network rollout, excluding staking rewards and delegation

The following features will be unlocked in this stage:

  • Validator Join : Setting up the Validator nodes and staking test tokens.
  • Validator Power Update : Overall power weightage as per staked tokens.
  • Validator Signer Change : Changing the signer address via the staking contract. Signer address is used for signing blocks.
  • Validator Exit : A contract call to initiate the un-stake from the Network
    • Unstake Claim : Claiming stake+rewards after un-stake is successful
  • Generate + Propose new span on Bor : A selection of 7 validators is proposed and selected for a span of 6400 blocks and in the 7 validator subset, 1 validator will be selected for producing 64 blocks.
  • Producer set switches on Bor : A selection of 7 validators is proposed and selected via a pseudo-random algorithm for a span.
  • Deposit event sync to Bor : A trustless bridge run by the validator nodes designed to move assets from Ethereum to Matic.
  • Proposing and Submitting new checkpoints : Based on the Staking power from the validator pool, a validator will be selected using the Tendermint algorithm to submit checkpoints to the mainchain.
  • Verifying and signing checkpoints: All validators are supposed to verify Bor blocks and sign checkpoints.
  • Validator Replacement Mechanism: A process by which validators outside the pool can bid to become a validator by replacing current validators with a higher stake.

Component terminology:

Span : A set of blocks produced by a Block producer set selected from the Validator set by Heimdall.

Power : The amount of tokens staked by a validator.

Checkpoint : A cryptographic snapshot of the Matic sidechain submitted to the Ethereum mainchain.

Stage 1B – Unlocking reward distribution and slashing

The following features will be unlocked in this stage:

  • Rewards – Distribution : Reward distribution mechanism in the overall architecture.
  • Rewards – Claim : Claiming rewards based on their respective performance.
  • Slashing : Slashing is a process where, based on fraud activity or node downtime, a percentage of their staked amount will be slashed.

Stage 1C – Unlocking delegation, delegation rewards and slashing

The following features will be unlocked in this stage:

  • Delegation: Delegation allows users to stake an amount of tokens with a validator without running a node themselves, and earn delegation rewards.
  • Delegation rewards and slashing
    • Distribution : Based on the validator performance, rewards will be distributed.
    • Claim : Delegators can claim their rewards.
  • Testing all features, including rewards and slashing

There will be detailed posts on our forum – https://forum.polygon.technology/c/counter-stake/26 – on the different sub-stages for Stage 1.

Rewards for Stage 1 will be distributed for the following sub-categories:

  • Uptime
  • Bug Bounties
  • Mini-contests for tasks announced during Stages 1a, 1b and 1c

Uptime (~50% of reward pool / ~$20,000 worth of MATIC tokens)

People who are running the node for the entirety of the Counter Stake program (Stage 1) will be rewarded based on node uptime %. Uptime will be calculated on the performance of the blocks signed on Heimdall.

Note this is a testnet, and therefore it will be subject to issues and bugs which may affect the network and uptime. In such events, uptime calculation may be reset. All uptime calculations will be decided by the Matic project team at this stage.

Typically, participants are not expected to do anything other than just stake their testnet tokens and have a high-uptime validator node setup to qualify for this phase.

Top 10 participants calculated based on uptime percentage will be rewarded with this pool. The reward distribution will be weighted based on relative uptime scores.

To determine the winners, Matic Network will primarily consider the uptime (votes on the blockchain) of the validators rather than the total bonded stake or the total amount of test tokens held. This means that delegating or transferring stake from Sybil accounts does not directly lead to winning.

Note that all rewards in the Matic Counter Stake program are awarded at the Matic project team’s discretion. Matic Network reserves the right to modify or revoke any rewards.

Bug Bounties (~40% of reward pool / ~$16,000 worth of MATIC tokens)

There will bounties for bugs that are found and reported during Stage 1 of the Counter Stake program. The bugs reported will be categorised as:

  • L0 – Highest Severity
  • L1 – Moderate Severity
  • L2 – Lowest Severity

The categorization of a reported bug will be at the Matic team’s discretion. Rewards will be based on the category of the bugs reported.

Following are the provisional nature of the bugs:

  • Node stopped
  • Staking Contract bugs
  • Heimdall bugs
  • Bor bugs
  • Checkpoint issues

There will be more categories of bugs which will be identified during the course of the event.

To qualify for this you will need to create GitHub issues in the correct repository. Depending on the severity (decided by the project team, for example L0 is the highest severity and L2 would be the lowest severity) reported issue will be rewarded.

Other Rewards (~10% of reward pool / ~$4,000 worth of MATIC tokens)

During the course of the event (Stage 1) there will be multiple mini-contests taking place where validators can earn further rewards. Depending on completing certain tasks or activities, rewards will be distributed. Some of the tasks are mentioned below:

  • Validator Join
  • Validator Signer Change
  • Validator Exit
  • Validator Replacement
  • Claim Rewards
  • Delegation

The above tasks/activities may be subject to change in the future. The rewards for these events will be disclosed once Stage 1 starts.

Disqualification

Matic will disqualify and, if necessary, fork out players that undermine the goals of Counter Stake to test interesting strategies for manipulating the incentive system. The most obvious reason for disqualification is trying to “win” through a sybil attack on the registration process. If you simply registered accounts for your friends and then delegate or transfer all your stake to a single or small number of validators, this will disqualify all the participants. Grieving validators by delegating stake to try and get them disqualified is also forbidden. Cartel based attacks that require custom engineering are expressly in bounds (are allowed).

What you CAN or CANNOT do

  • You CAN customise the code, play with the network and tweak with the hardware, etc.
  • You CAN run a node, become a validator.
  • You CANNOT use social engineering to manipulate others or divulge information.
  • You CANNOT hack into machines of other participants. Instead, please report these vulnerabilities privately to the affected entity.