Fantom’s Proof of Stake Decrypted

Fantom Foundation
5 min readApr 5, 2019

--

Fantom is proud to announce the publication of the comprehensive document on our Proof of Stake model that is planned to launch with the mainnet release, the document is available here.

There are several interesting aspects to the PoS model, however we realize the document may be cryptic and mathematically heavy. We’ve decided to decrypt the PoS model and clarify everything into an easy-to-digest article to better help everyone understand our model.

There are four main aspects of the PoS model that we would like to discuss here:

Overview of Token Staking and Delegation

Validator scores

How rewards are distributed to Stakers

Transaction-based Staking

Overview of Token Staking and Delegation

In order to earn FTM, a FTM holder has two options:

  1. Running a validator node, or
  2. Delegating to a validator node

Validator nodes require a minimum of 0.1% of the total FTM supply staked. Validator nodes will be responsible for generating and validating blocks. In return they will receive block rewards and a portion of transaction fees. Based on performance and reputation, validator nodes will be assigned a validator score. They are incentivized to act in accordance with the overall network because they are subject to penalization if they behave maliciously.

However, not all FTM holders have 3.175 million FTM. Thus, Any FTM holder can delegate to a validator node and become “delegators”. Delegators will act as support for the validator nodes in completing tasks such as transaction creation and validation. This is to enforce a quick and reliable network. Once a delegator has chosen a validator to delegate to, that delegate node will start receiving a portion of the rewards that the validator node is receiving. In order to keep the relationship between validator and delegator symbiotic, the delegator will give a 15% fee to their validator. This is a fixed fee, so competition is on performance and efficiency — not price. Validators will not be able to take a delegator’s own FTM; That belongs to the delegator itself.

Validator Scores

Validator nodes will be subject to a detailed scoring system to maintain network integrity. The Validator Score is a number between 0 and 1, representing the quality of the validator. There are a handful of factors that determine the validator score, including validation performance, number of original transactions, and processing power. It will be important for delegates to choose a validator node with a good score in order to ensure consistent rewards and help boost the throughput and security of the network.

Validation Performance:

An effective validator should validator as many events blocks as possible. Those who do not consistently participate in block validation will be penalized in the form of earning fewer block rewards and eventually be pruned from the network.

Originating Transactions:

Validators will be expected to accept new transactions submitted to the network and act as originators of such transactions. Similar to performance standards, those who do not consistently accept and process transactions will be penalized in the form of earning fewer block rewards and eventually be pruned from the network.

Processing Power:

The processing power of validators will be measured on a regular basis. Ideally processing power will remain consistent and reliable. This is still a work in progress and more details will be given in time.

How Rewards Are Distributed To Stakers

Approximate distribution of block rewards over a 4 year period (across validators and delegators)

This is a relatively generous block reward return compared to other PoS ledgers with the goal to make the Fantom network an attractive option to stake. This serves both Fantom in securing the network and you, the staker, in receiving high rewards for doing so. Block rewards should be able to cover hardware costs of a node in order to encourage high performing, optimal hardware from the beginning of the main network launch.

The total reward given to a validator is calculated with the formula below.

Daily Validator Reward = Total Daily Attributable Reward * (validation staked tokens + 15% * total tokens delegated) / validator weight (tokens staked by, and delegated to, the validator)

The following formulas are explanations of the variables in the first formula.

Total Daily Attributable Reward = total reward distributed on day D* to the validator (validating power of validator / total validating power)

(30% and 0.7 (1–30%) corresponds to the SPV fee)

Total Reward Distributed on day D = 0.7 * total transaction fee paid on day D + total block reward distributed

The total reward given to a delegator is represented by this formula:

Daily Delegator Reward = Daily Validator Reward * (0.7 * tokens delegated / validator weight)

Transaction-Based Staking

We’ve included a mechanism known as Transaction-Based Staking in order to ensure that the network always has enough throughput to validate transactions as quickly as possible.

Opting for this model of staking guarantees the staker a percentage of nominal network processing capacity at all times and a guaranteed amount of gas that the user can spend per block. Transaction-Based Staking will essentially allow users to transact on the network for free.

This is a way to allow users themselves to signal the need for higher transaction capacity.

Suppose a user has the choice between staking tokens for transacting and staking tokens for validation. When there is plenty of processing capacity, we would expect more of validation staking. But as demand for transactions grow, we could see a shift towards transaction staking.

The advantage is that this would provide a clear and visible signal to the entire network to increase processing capacity. This might happen even before actual volume increases, as users increase their transaction staking in anticipation of increased future transaction volume.

We hope this article has helped inform everyone of our PoS model. If you have any further questions, please join our Telegram channel and ask!

--

--