Proof of Transfer (PoX) Explained
When the initial release of Blockstack core was announced in 2015, it introduced a new concept of Blockchain over Blockchain. It used Bitcoin as an underlying Blockchain for the virtual Stacks Blockchain. It was a new concept. Blockstack had no intention of reinventing the wheel. Participants do not have to spend a tremendous amount of energy over mining instead it always believed that energy consumption should be reused. Proof of Transfer is the next step in this vision, with efficient consensus protocol and rewarding mechanism. Read more about Blockstack and Clarity.
Proof of Burn (PoB) in Stacks 1.0:
Stacks 1.0 Blockchain was launched back in 2018. In SIP-001 they announced that they’ll be using Proof of Burn (PoB) to process the transaction of virtual Stacks Blockchain over Bitcoin Blockchain.
Every new block on the Stacks chain is chosen via cryptographic sortition (a function by which block is chosen after some cryptographic calculations). In every new Bitcoin block that gets mined, the burn from every participant is used to calculate “Probability distribution” (what is the percentage share of their burnt Bitcoins). "Verifiable random function (VRF)” (a cryptographic function which generates random verifiable outputs) does its sampling. The VRF gives us a random sample and that’s how it selects the winner. The winner collects the transaction fees as well as Stacks token in reward.
Problem with PoB in Stacks 1.0:
Proof of Burn required participants to burn their Bitcoins to burn addresses, and in the initial days of the Stacks chain, the new cryptocurrency did not have enough value as the base cryptocurrency. So this bootstrapping can make miners unwilling to burn their Bitcoins.
Proof of Transfer (PoX) in Stacks 2.0:
In January, Stacks 2.0 was introduced after the hard fork of Stacks 1.0. In SIP-007, a new consensus algorithm was introduced which is called Proof of Transfer(PoX). It generalizes the concept of PoB. Instead of sending Bitcoins to a burn address, miners send their base cryptocurrency to a set of predefined participants' addresses.
This enabled the network participants to earn rewards in a base cryptocurrency for adding value to the new cryptocurrency. Also read: 5 Popular Consensus Algorithms used in Blockchain.
Selection of the winner:
The process of selecting a winning miner (i.e, the leader) is the same as it was in PoB (in stacks 1.0). Verifiable random function (VRF) generates a random sample using the “Probability distribution”. To calculate this, it uses the transfer of Bitcoins from every participant to a set of Bitcoin addresses.
Determination of addresses:
In PoB mining the consensus algorithm didn’t need to determine an address where miners would transfer their Bitcoins. Because in every cycle it was burn address.
However, in PoX, network participants must validate the addresses that they are transferring Bitcoins to. A set of Bitcoin addresses are iterated over in each reward cycle. In order to qualify for the reward cycle, an STX holder must:
- Own a Stacks wallet with >= 0.02% of the total share of unlocked Stacks tokens.
- Broadcast a signed message before the beginning of the reward cycle. The message includes:
- Locks the Stacks tokens for a protocol-specified lockup period.
- Specifies a Bitcoin address in order to receive the reward funds.
How the reward cycle works:
In Stacks, Blockchain miners compete with one another by transferring Bitcoins to set Bitcoin addresses. Before every reward cycle, the Stacks network must reach a consensus on the valid recipients. As Stacks Blockchain has its own independent properties from Bitcoin Blockchain, this can lead to missing block data, experiencing forks etc. Because of which consensus becomes difficult.
In order to overcome this problem, at the start of every phase two items are decided:
- Anchor block:
The anchor block is a Stacks chain block.
- Reward set:
This is a set of Bitcoin addresses that will receive the funds. Stacks chain state from anchor block determines the reward set. Reward set consists of Bitcoin addresses.
Verifiable random function (VRF) ensures that each miner has sent the reward to the same recipient addresses. If a miner sends funds which is not a valid address, the rest of the network ignores those transactions.
In order to reduce the complexity of the consensus algorithm, reward cycle lengths are fixed. If fewer addresses participate in the reward cycle then burn addresses fill the empty slots.
Proof of Transfer (PoX) bootstraps the concepts of PoB. This allowed participants who added value to the Stacks Blockchain to earn rewards. Other than that the participants can use these rewards to fund app mining. There’s still research going on to improve some factors of this consensus algorithm and one of those factors is how to increase bandwidth, as Stacks Blockchain uses Bitcoin transactions. One solution that has been a center of attention is “Lightning Channels” of Bitcoin Blockchain. In the future, there will be updates and many more things coming such as testnet for Stacks Blockchain.
Need help with building your Blockchain project? Connect with Xord and get moving!