22/January/2020

Monetizing Full Nodes with POKT Rewards

The blockchain ecosystem is currently undergoing a tragedy of the commons. Full-node counts are not only decreasing but also centralizing. 

Since the time of “The Race Is On to Replace Ethereum’s Most Centralized Layer” was published on December 5th, 2018, the total Ethereum node count has fallen from 11,803 to 7,669 as of now. Then, there’s an observable trend towards nodes moving to the cloud. According to a study by Chainstack, 61.6% of the total Ethereum nodes are run in the cloud, with the top ten cloud hosting providers accounting for a total of 57% of Ethereum nodes. This isn’t happening to just Ethereum, it also plagues other blockchain commons, because of the lack of inherent incentives to run full nodes. 

Pocket Network is a protocol that incentivizes individuals and organizations to run full nodes for any blockchain. This will lead to a festival of the commons, fueled by an abundance of full nodes supporting a diverse set of blockchains. 

What does running a Pocket Service Node mean?

Pocket Network functions as a two-sided marketplace that matches the demand of application developers building blockchain-enabled applications together with the supply from infrastructure providers running full-nodes of external blockchains (i.e. Service Nodes). 

The mechanism Pocket Network employs to regulate the interactions between applications and nodes are called Sessions. A Pocket Network Session refers to the relationship between an Application and the Service Nodes that service it during the session duration within the protocol. 

A unit of work in Pocket Network can be boiled down to an API request, or “Relay”. So, on one hand, applications submit Relays and other the other hand, Pocket Service Nodes validate these Relays on their appropriate blockchain(s) as well as the Pocket Blockchain, and in doing so, receive a percentage of POKT minted.

Service Nodes fulfill the supply-side role of the network. They serve the demand created by applications and provides network security through a Proof of Stake (PoS) consensus mechanism. 

What’s the minimum amount of tokens to stake as a Service Node?

The minimum amount required to stake is set at 15,000 POKT, with a minimum node bonding period of 30 days. This means you can not unstake those tokens during this time period. 

While the initial amount of POKT needed to stake is not dynamic, for node operators, it may be adjusted over time by the Pocket DAO after it’s launch. This ensures the barrier of entry remains low; therefore, maximizing the amount of Service Nodes supported by the protocol and preventing centralization of the protocol.  

The other initial cost is the purchase of hardware. Once these initial costs of a Service Node are covered, the only additional cost is electricity and bandwidth.  

What are the requirements for running a Pocket Service Node?

These are the minimum testnet VM requirements to run a Pocket Service Node:

  • 1 vCPU
  • 2 GB RAM
  • 20 GB Storage

With an applicable minimal instance type:

  • t2.micro

Any comparable hardware will work. Pocket Network remains neutral to the hardware utilized by Service Nodes. This means that the hardware could be a physical server running in your home or local data center. We’ve partnered with DAppNode, a plug n’ play hardware solution, to make this part as seamless as possible for individuals, especially developers and hobbyists. 

Keep in mind that each of the supported blockchain networks has different hardware requirements to run a full node and may require more advanced setups then needed to serve Pocket’s blockchain. 

 

How to earn POKT tokens?

Node operators earn POKT token rewards by validating relays and transactions.  

For each served and validated relay, 0.0001 POKT is minted. The reward is split:

  1. 89% to the Service Nodes for serving validated relays
  2. 1% to the Service Node participating as a Block Producer in Finality Storage Consensus
  3. 10% to the Pocket DAO governing the protocol

A set of Service Nodes is pseudo-randomly assigned to a Session. Regardless of how much POKT they’ve staked, each Service Node has an equal opportunity of being chosen to participate in every available Session within the protocol. 

Once Relays  are validated by the network, then a new block is confirmed. Triggering POKT to be minted and issued to the relevant Service Nodes as a reward for their work. As is the standard with PoS consensus, each Service Node has a weighted chance of being selected to be the block producer for any given block based on the total amount staked for that given node. The leader-elected Service Node earns 1% of the total block reward.

Everyone has a chance to earn POKT, whether they are running a big or small operation.  

In order to maximize their income, we expect node operators to naturally engage in the optimal strategy of replicating as many nodes as they can with the amount of POKT they hold. Thereby, maximizing their chances of being chosen in as many sessions as possible and giving them more opportunity to serve relays within the network.  

However, if a Service Node stake falls below the minimum amount by serving incorrect data or incorrect block validation, a portion of their stake will be slashed. 

 

How to get POKT tokens?

During testnet, node operators will be able to get POKT test tokens from an online faucet. This will give them a chance to get comfortable with the staking process and participate in the protocol as a Service Node. 

We’ll communicate the process on how to get POKT tokens the closer we get to the mainnet launch.  

 

Want to get involved?

If you are a cloud provider, staking-as-a-service operation, or individual interested in running a Pocket Service Node contact us at nodes@pokt.network.

The Pocket Network testnet is launching on February 11th, with mainnet tentatively scheduled for May 4th. 

The community at Pocket Network has been working diligently to ensure the best release possible and are very excited to bring this solution to market, at a time where it is desperately needed. 

For more information and support, join us in our Discord server and follow us on Twitter.