Matic is a Layer 2 scaling solution for public blockchains. It uses account-based variant of More Viable Plasma to guarantee the security of assets on the main-chain and it ensures the security of generic transactions by using a decentralized network of Proof-of-Stake validators. The system is designed to enable quicker partial confirmations for better user experience while the final confirmation is attained periodically as the checkpoints are committed on the main-chain.
Validators stake their Matic tokens as collateral to work for the security of the network and in exchange for their service, earn rewards.
What’s the incentive?
Matic will be allocating 12% of its total supply of 10 billion tokens to fund the staking rewards. This is to ensure that the network is seeded well enough until transaction fees gain traction. These rewards are primarily meant to jump-start the network. While the protocol in the long run is intended to sustain itself on the basis of transaction fees.
Validator Rewards = Staking Rewards + Transaction Fees
This is allocated in a way to ensure gradual decoupling of staking rewards from being the dominant component of the validator rewards.
Below is a sample snapshot of the expected annual rewards for the first 5 years considering staked supply ranging from 5% to 40% at 5% interval
Who all can avail this?
Stakers running validator nodes and stakers delegating their tokens toward a validator that they prefer. Validators will have an option to charge a commission on the reward earned by delegators.
It is important to note that funds belonging to all stakers will be locked in a contract deployed on the ethereum main-chain. Also, no validator holds custody over delegator’s tokens.
Setting up a Validator Node
Setting up a validator node is a job that comes with responsibilities. To better run and maintain the node, one needs to think around backup, uptime, firewall security, HSM, attack preventing strategies and much more. There are a lot of recommendations and practices for validators, especially now, including learnings from experiences had so far across staking with different networks. Layer 2 demands all of it and a bit more.
- A subset of active validators from the pool are selected to act as block producers for a span. The selection of each span will also be consented by at least ⅔ +1 in power. These block producers are responsible for creating blocks and broadcasting it to the remaining of the network.
- A checkpoint is basically the Merkle root of all blocks produced in between intervals. All nodes validate the same and attach their signature to it.
- A selected proposer from the validator set is responsible for collecting all signatures for a particular checkpoint and committing the same on the main-chain.
The responsibility of creating blocks and also proposing checkpoints is variably dependent on a validator’s stake ratio in the overall pool.
We have updated certain attributes of the staking program since the release of the previous post after careful consideration. Please disregard any further information in this blog post.
Please refer this blog to check the updates.
The first year reward at around 312 million Matic tokens is to be considered absolute which means irrespective of the overall stake in the network, the said amount will be given out as a reward to stakers in chunks at every checkpoint. There are two ways to distribute this reward; a simpler one would be to give it in entirety to the proposer. However, a fairer one would be to share it among all signers. This solves various purposes, incentivizing signers for their validation work, not giving reasons to delegators to bond their tokens with a large validator, disbursing rewards at short intervals to all participants of the network.
What we need before settling on our reward sharing mechanism is to simulate how different options function, here so because of interoperation between the two chains. Wanting to keep all funds secured on the main-chain, making claiming rewards easy for all, considering its transaction cost and so on.
We will soon be launching our staking experience with large rewards in real Matic tokens on test environment “House of Stakes” – where we hope to receive participation from validators, try out different approaches, get consensus on the best things possible, encourage competition, try to make and break things and evolve our staking into something robust for the main-net version.
Why are we distributing the reward in entirety and not keeping a cap on the maximum rewards?
Let’s first understand the additional cost of committing checkpoints on the main-chain. There are different ways to approach this. Depending on a validator’s ratio in the overall stake, is its probability to be the proposer and commit checkpoints. Let’s say, its 5% for some validator at a given point in time. Along with following assumptions:
- Checkpoint interval is 15 minutes which makes 2928 checkpoints monthly
- Gas needed per checkpoint at the higher end to be around 1,500,000
- Eth at $300 and average gas price at 30 Gwei, cost of committing checkpoints for this validator with 5% probability of becoming proposer is around $1,976.40
Depending on all these external factors, one may even be able to proportionate the checkpoint cost value from the reward. Someone else might invest in Eth in advance to be used to commit checkpoints and thereby making the reward even more profitable in the longer run.
The incentive scheme is designed such to make sure that running a validator as a service on Layer 2 is profitable irrespective of the total amount staked or number of validators in the network or individual’s proposer probability.
Each block producer at BOR layer (the block producer layer) will be given a certain percentage of the transaction fees collected in each block. Selection of producers for any given span is also dependent on individual’s ratio in the overall stake. The remaining of the transaction fees flows through the same funnel as does incentives which gets shared among all validators working at Heimdall layer. What exact percentage of transaction fees will be shared with every block producer will be decided at a later point in time taking into consideration the overall statistics of live network. Until then, the bundle flows through the same funnel disbursing everything collected among all validators.
Validator has an option to charge commission percentage from its pool’s reward earning. The remaining will be shared among all stakers proportional to their stake in that pool. Following can be considered while deciding its commission percentage.
- As they are also responsible for committing the checkpoint transaction on the main-chain, a certain portion from the reward could be factored into the cut percentage. Though, this would vary from one validator to another depending on their approach to take care of checkpoint transactions.
- A certain percentage might be charged from delegations in exchange for one’s node running service.
Becoming a Validator
This is what we are thinking currently and is subjected to change once we receive more feedback.
There will be a limited number of validators, initially ~100. And to reserve a slot, we are thinking to accept a minimum investment of about 1,500,000 Matic tokens. There is no requirement around locking the funds for any specific time. However, one needs to serve a certain notice period (around 2-3 weeks) in active state after resigning. A validator is liable for partial slashing if it misbehaves. This applies to the bonded delegations as well. Slashing mechanism will get modified over time as we understand more about the overall behaviour of the network. For now, we are thinking around the following conditions:
- 2-5% slashing if a validator double signs a checkpoint. Once the system identifies one or multiple checkpoints double signed by a party, that validator faces slashing only for its first double signing and is immediately jailed where it earns no reward and is in inactive state. If it fails to revoke itself from jailed state within a certain time or fails to maintain a minimum balance for longer than this defined certain time, it is unbonded immediately.
- Penalizing validators in case they are inactive for a long time.
- In a chain halt scenario, validators not signing for a checkpoint for reasons like facing downtime can be slashed heavily and in worst case scenario might lose their entire stake. The first iteration should slash a small percentage of all inactive validators. This percentage keeps increasing with time and eventually one might lose everything for staying inactive during a time of halt. This is to ensure that in adverse conditions like such, the network can gradually make the honest and active validators stake powerful enough to continue committing checkpoints and thus the chain back to action.
How can one participate in Matic’s incentivized testing?
We’ll be rolling out details soon. Rules, registration, node guide, bug bounties, rewards and lots more. Meanwhile, reach out to firstname.lastname@example.org, if you’re interested. We’d be happy to know your thoughts.
All the details shared are tentative as of now and are subject to change based on the feedback received.
Thank you for reading- please sign up for our email list if you’d like to receive updates from our end.
To keep up with the upcoming announcements please follow us on our Blog, Twitter and Telegram announcement channel