Yona Takac

December 2018

Following the release of Part Two of our PSN 101 series which focused on staking and earning rewards on Fusion’s Payable Stage Network, this article addresses the process for validating blocks, the ticketing system and the auto buy ticketing process for Fusion’s PSN. This article is split into two sections, Section A provides background on consensus algorithms to assist in explaining Section B which addresses the concepts of ticketing and lottery.

Part A

An introduction to Consensus Algorithsms

To understand Fusion’s Proof of Stake model (PoS) it is important to have some foundational understanding of consensus algorithms, why they exist and how they work. The place to start is with the Byzantine General’s Problem.

The Byzantine Generals Problem is a useful analogy for explaining the classic security quandary faced by distributed computer systems:

The Byzantine General’s Problem

The Byzantine army encircles a city intended for capture. The area around the city is large and so the army is organized into small camps which are each governed by a General. The Generals communicate via messengers who run between the camps. The army is trying to choose between two courses of action, attack or retreat. So long as the army acts in unison the outcome of either action will be successful. Problematically, there are Generals who are bad actors and messengers who cannot be trusted to communicate accurately. If success is determined by the camps performing the same action, how do you ensure unanimous participation?

A few options immediately spring to mind — economically incentivize voting for the majority action or punish actors who vote against the majority action. What other ideas can you think of?

The Byzantine General’s Problem describes a complex security issue faced by distributed systems that seek to make unanimous decisions in a broad network of individual actors that cannot be trusted. In a distributed system like the Bitcoin network, the network’s imperative is not to defeat an army, but to maintain an accurate ledger of transactions. Blockchain systems are governed by a set of rules that determine whether a course of action can be proceeded with, more specifically, whether the next block of data can be added to the chain. The rule in the bitcoin network is as follows: if a majority (51%) of network participants agree on the accuracy of a block then consensus is achieved, and the block is added to the chain.

The most notable consensus mechanism is Proof of Work (PoW) which is the incumbent algorithm used to secure the Bitcoin and Ethereum networks.

Proof of Work

Proof of Work (PoW) is the most well-known and thoroughly tested of the consensus protocols and is the consensus algorithm used to secure the bitcoin network. In PoW systems, all participating network nodes, known as miners, expend time (on average 10 mins per block on the Bitcoin network) and computing power (that is expensive to produce) in competition to solve a cryptographic puzzle. The miner that solves the puzzle first, presents the next block to the network for verification and if successful, earns a reward as compensation. Interestingly, the verification process is extremely simple whilst the puzzle-solving process used to select the miner eligible to present the next block is highly taxing (by design). In a PoW system, the probability of mining a block is directly proportional to the quantity of computational power contributed by a miner. Because miners have contributed CapEx (mining rig) and OpEx (electricity and real estate costs) into validating transaction blocks, we can trust them to broadcast the truth: A miner can only be successful in earning a reward if he allocates his resources to mining the correct chain and presenting the correct block to the network, therefore he is economically incentivized to broadcast the truth. Indeed, there is a financial disincentive to mining a malicious fork of the main chain because it would simply be a wasted resource.

A common criticism of PoW consensus is that it is inefficient and costly. The computational energy spent by miners in competition to solve a cryptographic puzzle every time a new block is validated, adds no intrinsic value to the network (beyond selecting which miner will validate the next block) and has no positive externalities. Indeed, that is largely the point, forcing the expenditure of a costly resource for the sake of creating a deterrent against voting for a malicious fork. PoW systems also favor large mining companies whose economy of scale benefits and cheaper electricity costs prevent smaller participants from competing effectively. As a result, the Bitcoin network has become highly centralized with more than 2/3rds of the worlds mining power emerging from China, and a significant portion of the total hashing power in the hands of a few large companies. Centralization increases the risk of a failure in the bitcoin network, if a few large mining companies collude to achieve 51% of the networks hashing power then they could potentially rewrite the history of the Bitcoin ledger as they see fit.

This is a simplification of the PoW model and there is an incredible amount to learn from the PoW consensus mechanism that has propelled the bitcoin network to where it is today. However, because of the points discussed above (and others), some members of the blockchain community have explored alternative consensus mechanisms to PoW, most notably, Proof of Stake (PoS).

Proof of Stake

Proof of Stake (PoS) emerged as a potential solution to the efficiency, security and scaling issues persistent in the Bitcoin and Ethereum PoW-based models. PoS proposes that the resource used to determine the validator of a block should be the blockchain’s native cryptocurrency rather than computational power like in the bitcoin network. Simplistically, the idea is that if in an individual possesses native coins in a chain (a stake in the network), they have an interest in maintaining the accuracy of the ledger and we can trust them to broadcast the truth. The validator of a new block is chosen deterministically based on the quantity of coins/tickets held by a participant (this will be explored later). A block reward and transaction fees are awarded to the validator of a block.

There are certainly appealing properties of PoS systems when compared with PoW:

Energy efficient — no highly energy taxing competition to solve cryptographic puzzles to determine validators.

No technology arms race or mining pools that risk 51% attack.

No requirement to have expensive hardware. Staking nodes can be run on consumer grade software or a cheap VPS.

Reduced risk of 51% attack — Obtaining more than 51% of the network requires immense capital (controlling 51% of the circulating token supply).

Possible Scaling benefits

Greater decentralization

Equality in Consensus Algorithms

A routine criticism levelled against PoS systems is that it creates a scenario of inequality where the rich get richer. Consider that a validator is chosen proportionally based on the number of coins/tickets he possesses, more tokens, means more validations, means more block rewards, you get the idea. This argument is fallacious because it doesn’t address the inequity of the incumbent PoW system. In fact, one could argue that PoW mining is less egalitarian given the economies of scale, location-based energy price benefits and other factors that favour large mining companies. The cost of 1 unit of energy for an individual miner is more than the cost of 1 unit of energy for a large mining company, whereas is a PoS system 1 coin = 1 coin regardless of other factors.

Part B

Ticket Purchasing and Lottery Selection Explained

Part Two of our PSN 101 series acts as a primer to the section below.

Fully understanding how the ticketing and lottery system works in a PoS model is not mandatory to participate. The Fusion wallet interface makes it incredibly easy to participate in staking. Staking no Fusion’s MainNet involves two unique concepts, ‘tickets’ and ‘lottery’. These ticket and lottery processes will mainly happen behind the scenes. Staking on Fusion will be as easy as ‘set it and forget it’ but if you want to understand the finer details, please read on.

To Participate in Staking:

Staking is the action of using your Fusion tokens to pack and validate blocks on Fusion’s MainNet in order to earn block rewards. On MainNet, rather than staking directly with your FSN tokens, stakers purchase ‘tickets’ with their FSN tokens. Purchased tickets then compete in a lottery, the winning ticket in the lottery is chosen to pack and validate the next transaction block on the network and the owner of the ticket earns a reward if successful.

The cost of one staking ticket is 5000 FSN tokens time-locked from now until 30 days into the future (0, 30 days).

How the “lottery” Works

Once a ticket is purchased, it enters the lottery to pack and validate the next block. The ticket remains in the candidate pool until it is picked. This means that if your ticket is not picked for the first block it automatically enters the lottery to compete to validate the following block 15 seconds later (and so on) until it is picked.

If a ticket is not picked within 30 days, your 5,000 FSN (0, 30 days) is returned to your wallet and you will need to purchase a new ticket to participate. If your ticket is picked to validate a block and your node is online, then the 5,000 FSN (0, 30 days) is returned to your wallet immediately with an additional reward of 2.5 FSN tokens as a reward. If your ticket is picked to validate a block and your node is offline, then your ticket will be removed from the pool and not returned to your wallet.

Buying Tickets and Lottery FAQs

Q. Can a user purchase more than one ticket?



A. A staker can buy as many tickets as he wants, the only limitation is the ability to purchase only one additional ticket every per block.

Q. Does having more tickets increase your chance of being selected to validate the next block?



A. Yes, a person who has 2 tickets competing in the lottery has more chance (almost exactly double the chance, there is a small adjustment based on the age of the ticket) than a person who has 1 ticket competing in the lottery.

Q. How can you have more than 1 ticket competing in the lottery if you can only buy 1 additional ticket per block?



A. A user buys one ticket in ‘Block 1’ and is not selected, then a user buys an additional ticket in ‘Block 2’ and so will have two tickets competing in the lottery in ‘Block 2’ (and so on).

Q. Does staking guarantee reward? What happens if none of my tickets are selected?

A. Technically there is no ‘guarantees” in earning rewards from staking. It’s a matter of probability. You can use the Fusion Staking Estimator to get an estimation of your staking rewards. It is also important to note that the term ‘guarantee’ is misleading because just like if you throw a coin 10,000 times there is no ‘guarantee’ that you will ever land on tails, the probability is so low that we can generally ignore it.

Q. How much can I expect to earn from staking?

A. Check out this document that explains the inputs required to estimate staking returns. You can also use Fusion’s Staking Estimator

Q. Is it true that that the longer a ticket sits in the lottery pool the greater it’s chance of being picked compared with a new ticket that enters the lottery pool.



A. This is a complex question that a user can investigate in-depth in the public Fusion GitHub repository. Simplistically, a tickets probability of being picked is impacted by the length of time it has been sitting in the lottery pool. For example, a ticket that has been in the pool for 10 days has a slightly greater chance of being picked compared to a ticket that has been in the lottery pool for 9 days, that has a slightly better chance of being picked than a ticket that has been sitting in the lottery pool only since the previous block 15 seconds ago. This impact is small, and the algorithm used to determine the probability of a ticket being picked is complicated, you can deconstruct the process on GitHub.

Q. Do stakers have to buy each ticket manually?



A. No, Fusion has developed an Auto-Buy Ticket script and user interface that will enable users to set parameters for automatically repurchasing tickets.

Q. How does the “Auto Buy” Ticket process work?

A. A user accesses the Auto-buy Ticket from https://tickets.fusionnetwork.io/ and sets the parameters based on his preferences. The user has the option to auto-buy tickets that expire or win the lottery.

Q. Is there an alert for when my ticket is selected?

A. At this stage there is no built-in alert for when a ticket is selected in the lottery.

For more information visit: Fusion.org, The Official Fusion Telegram Channel

Follow DJ on Twitter and the Official Fusion Twitter @FusionProtocol