Jun 10, 2019
Staking with Chainlink
The recent release of Chainlink on Ethereum mainnet has caused much excitement and growth of the Chainlink community, and a renewed interest in staking LINK tokens. Understandably, the community has many great questions, so the timing is right to provide an article to help clarify how staking with Chainlink is different to typical staking tokens, when it will be possible, and how LinkPool fits into everything.
How does staking with Chainlink work?
The first thing to understand is that staking with Chainlink doesn’t really work anything like it does with other staking tokens or coins. There is inherently more work involved for the node operator than just placing the tokens into a wallet. To give some context as to how rewards are generated with Chainlink, nodes on the network can undertake jobs to retrieve and provide data to smart contracts and get paid in LINK tokens. This reward is determined by the contract creator and will likely vary greatly depending on the nature of the job. However, while this is how rewards are generated this is not where staking comes into play.
As the Chainlink network matures, smart contract creators will eventually have the ability to require node operators to put up collateral before accepting their job. Typically this will be in order to make sure the node operator supplies correct data throughout the length of the contract with no downtime, and in the event any of these requirements are not met, the collateral will be forfeited as a penalty.
This is Chainlink’s concept of staking – depositing LINK tokens on to a node in order to be able to undertake jobs that require collateral.
When will staking be possible?
In order for staking in Chainlink to be possible, two main aspects of the Chainlink software need to be complete, these are commonly referred to as the Penalty and Deposit contracts. These contracts contain the logic that allows smart contract creators to specify collateral requirements and the ability for nodes to be penalised in the event they don’t fulfill their accepted tasks. The Chainlink team do not typically work to set time frames, choosing to release the work when they feel it has met their high standard, so it is difficult to say exactly when staking will be available. However, you can track the teams progress and what they are working on here.
These contracts are not required for the early version of Chainlink’s mainnet. Currently, node operators can still accept jobs and get paid in LINK for completing said jobs, but no upfront tokens will be required to accept the job and therefore there is currently no ability to stake nor do nodes require any LINK tokens on them.
How do I stake?
So the next obvious question is probably — how can I get started staking? (or be prepared at least) There are essentially going to be only two ways to do this: running your own node, depositing LINK on to it and accepting jobs, or joining a staking pool where multiple people combine their LINK and the node is managed for them (as we do at LinkPool). There are pros and cons to both but it is ultimately up to you to decide on the best route for yourself.
If you are interested in setting up your own node, which we highly encourage, there are some great resources available. Here are a few to get you started:
- Running a Chainlink Node
- Chainlink Node Setup Guide (LP EaaS). Documentation
- Running a Chainlink Node for the First Time
Can I stake with LinkPool?
First I would like to backtrack a little and give some context to LinkPool and our history. We started LinkPool in 2017, shortly after the Chainlink ICO. We first realised the necessity for a staking pool for Chainlink due to the higher than normal technical requirements for this type of staking, but we also wanted to help grow the ecosystem by building tools and services for Chainlink. We received great support from the community and decided to hold a small crowdsale of 1000 Ethereum for 1000 LP tokens allowing us to develop LinkPool to the highest standards. We sold 700 Eth worth and distributed the remaining tokens so the ratio was about 1:1.4 ETH/LP, you can read more about that in this article.
What is the LP token?
As part of the crowdsale, we offered up 25% of earnings from our services, so we created 4000 tokens and distributed 1000 to the crowdsale participants to represent that 25%. The earnings distribution process is managed by our Owners Contract and any LINK tokens generated from our services (not just staking) are deposited into the contract, and then distributed to LP holders. This is the main function of the LP token, a way for our contract to determine distribution. The good news for LP holders is that all rewards that our nodes generate before Penalty and Deposit contracts are in place will still be sent to our Owners Contract for distribution.
Staking with LinkPool
With the overwhelming interest in staking in LinkPool, we needed a way to limit the amount of stakers and the amount staked so as to not heavily dilute the initial rewards. We decided that those who hold LP tokens would get first priority to stake. With some tweaks to our contracts we are able to grant each LP token holder a staking allowance based on the amount of LP tokens they hold (an allowance that can be raised at our discretion). You can read about our staking limits in this article.
Users who do not hold LP tokens will be able to stake with LinkPool in the future, after we scale sufficiently to support LP token holders. In the early days of the network, rewards for jobs will be low, and if a staking provider were to let everyone stake without limitation, the returns would get incredibly diluted to the point that the gas costs to distribute between all the stakers would negate any rewards earned. As the Chainlink and LinkPool networks mature, LinkPool will be uniquely positioned to facilitate very high collateral jobs.
Find us on social media where we’ll be providing additional articles like this to help provide clarity and answer common questions from the community.
Thanks for reading!