LinkPool: The First Network of Chainlink Nodes Backed by a Smart Contract

Jonny Huxtable
LinkPool
Published in
6 min readDec 13, 2017

LinkPool’s concept is a network of Chainlink nodes in which LINK token holders can stake on to earn passive income.

LinkPool: The first Network of Chainlink Nodes Backed by a Smart Contract

It’s a project founded by myself and Mat Beale. We have the goal to operate a network of nodes that provide SmartContract.com users access to closed data sources while ensuring reliability, security and elasticity by using a Software-as-a-service model.

If you’re unfamiliar with Chainlink as a project, I’d recommend reading Signal Capitals article on their investment into Chainlink and my previous article on the test-net implementation. Together they should give you a high-level understanding to help you visualise what we, as LinkPool, are planning to offer to the community and the Chainlink network.

What is a Chainlink Node?

To summarise, a Chainlink node is a service that retrieves and provides data and executes payments on a given Blockchain. These nodes as an entity make up the Chainlink network, and will power the decentralised oracle system. It’s the same high-level concept as say Bitcoin mining, but rather than mining blocks, you’re providing data and executing Blockchain transactions.

As an incentive to the node operators to be part of the network, they will get paid in LINK tokens for the assignments they undertake. The price of these assignments will be set by the node operators, and node operators will also have to pay LINK to SmartContract.com (Chainlink) users if they fail to execute any given assignment. These are called penalty payments.

As a node operator: if you fail to execute assignments; are slow to execute an assignment or are inaccurate in what data you provide, this will harm your reputation in the network and will be less likely to receive assignments in the future. This in practise, will lower any passive income you may receive by staking.

Problem Statement

SmartContract.com and the Chainlink project needs to provide data services that are expensive to get access to, as they’re the most valuable. The network also needs to provide fast and reliable nodes in which contract creators can rely on. This becomes a problem as an individual node operator, as you’ll have to pay to gain access to data sources; ensure a near flawless up-time and have a fast internet connection to ensure quick response times. If you don’t nail those points, your reputation on the network will suffer.

Based on that, it means node operation isn’t just as simple as downloading some software and just running it. You’ll have to configure the data you provide, how you provide it and how much for. Personally, I can see this scaring a lot of people away, especially whom are non-technical, from becoming node operators.

Which is where LinkPool comes in…

Solution

LinkPool wants to remove those obstacles from token holders, to allow for a fair opportunity for all to earn passive income. We’ll do that by providing nodes which we will manage and create that are easily staked onto via a website (dApp).

In practise, it will mitigate all the problems which have been listed. Due to having a network of pooling nodes, we only have to pay for access of data services once while opening that up to each node we will operate. In turn, this will considerably save costs and will allow for us to provide more data sources, bringing more use-case and value to the network.

In-terms of speed and up-time, we will be building our infrastructure on the cloud platform AWS. This will provide a enterprise grade up-time and speed, while also being able to scale the network of nodes as much as is needed. We will also develop a disaster recovery solution in our infrastructure to plan for the worse-case, saving any LINK tokens which would have to get paid as penalties.

High-Level Design

Our platform will consist of three key parts:

  • LinkPool dApp (Website)
  • Ethereum Smart Contract
  • Node Network

dApp
As an end-user of LinkPool, this is the only part of the system which you will interact with. It will be the face of LinkPool and will show all the nodes on the network, the nodes you can stake on, how much has been staked while also keeping you up-to-date on how much passive income you’re earning.

Smart Contract
The contract will be the brains behind the whole solution. It will transfer any tokens you stake to the nodes; manage and calculate your shares of the passive payments and process any withdrawal requests amongst many other things.

To ensure complete security and confidence in what we’re providing, our smart contract will be audited prior to any main-net operation.

Node Network
The LinkPool network won’t be a single master node that holds all the tokens, rather multiple node instances. These instances will be scaled up and down based on the amount of transactions and holders who want to stake on the network.

The main reason for this is due to generating less passive income the more people stake. We envisage there being a hard-limit before the incentive of pooling tokens deprecates from the actual amount of shares you’d earn. This will be something that we monitor and adjust during real operation to ensure the most optimum splits of passive income in any given pool.

The metric we will basing this limit on will be the amount of tokens locked up as penalty payments during operation. The more tokens held, the more potential to facilitate more assignments at once, especially of a higher value.

Approach & Tooling

All the tools we’ve picked have been based on the functionality it provides and how secure/frequently updated it is. It’s also worth mentioning that all the tools we’ve picked other than AWS are open-source.

LinkPool dApp & Contract

  • Truffle: Framework for Solidity and dApp development. (link)
  • ReactJS: Javascript library for modern user interfaces, this will power our interface for the LinkPool dApp. (link)

Node Network

  • Amazon AWS: Cloud platform provider that will host all of our infrastructure. (link)
  • Chef: To describe our Chainlink nodes in code. This makes it easy to create more nodes, update nodes with no downtime and ensure all the nodes on the network are exactly the same. (link)
  • Docker & Compose: The chainlink nodes run in docker containers. We will expand on that by using docker compose to also containerise the node dependencies. (link)
  • HashiCorp Vault: Tool for managing all the secrets on the network, everything stored is encrypted with key authentication. (link)

Node Monitoring

  • Prometheus: Powering metrics and system alerting for node operation. (link)
  • Telegraf: Service which we will install on the nodes which will gather metrics and send to Prometheus. (link)
  • Grafana: Displays all the metrics from the above services in graphs and charts to be digestible. (link)

Security

The security of the platform is mine and Mat’s most important focus. We will ensure the infrastructure we’re building on AWS is thoroughly pen-tested and get our smart contract fully audited. Some of the security features include:

  • Only Chainlink ports exposed to the internet, all other services and dependencies won’t be internet facing.
  • Network access granted via VPN with MAC-address filtering rules.
  • Using HashiCorp Vault for all the LinkPool secrets including node and API keys. This will ensure any reference to any secret is completely encrypted.

Adaptor Development

To drive new functionality within the network, we will develop and release new external adaptors for the Chainlink network when needed. To be at the forefront of adaptor support and development, it should boost the overall network capability and possible use-cases while ensuring our nodes support the most connectivity options as possible.

Planned Release

As a project, we want to complete LinkPool to be ready for a private beta in-time so it can release alongside SmartContract.com’s main-net. We want to be there from the start to grow with the Chainlink network, bringing instant capacity.

Summary

LinkPool will be setup to be a key-part of the Chainlink community and node operation. Since we feel the current prospects of being a node operator may be daunting for some people, we want to ensure everyone has a fair chance to earn passive income on the network. We will be competitive, reputable and the front-runners in node-operation.

If there’s any parts of this article which you would like explained in more detail, or how certain parts will be implemented. Please feel free to comment, get in-touch on twitter or contact me or Mat through the Chainlink slack channel.

--

--