Lecture
Proof-of-stake (PoS) (from the English “proof of stake”) — a security method in cryptocurrencies in which the probability that a participant will form the next block in the blockchain is proportional to the share of that participant’s holdings of the given cryptocurrency’s settlement units out of their total supply. This method is an alternative to the proof-of-work method (PoW), in which the probability of creating the next block is higher for the owner of more powerful hardware .
When this method is used, the block-formation algorithm does not depend on hardware power, but the block is more likely to be formed by the account with the larger current balance. For example, a participant holding 1% of the total supply will on average generate 1% of new blocks .
The idea of proof-of-stake was first proposed on the “Bitcointalk” forum in 2011 . The first implementation of the PoS protocol was presented in 2012 in the cryptocurrency PPCoin (now PeerCoin) .
In practice, mixed schemes for forming new blocks are common. For example, both the PoW and PoS methods are used in the cryptocurrencies Emercoin, NovaCoin and YaCoin. In the cryptocurrencies PeerCoin and Reddcoin, the PoW method is used for the initial distribution, while PoS is used to confirm transactions. In the Nxt and BlackCoin crypto-platforms, the PoS method is used at every stage.
The idea of proof-of-stake is to solve the problem of proof-of-work associated with heavy electricity consumption. Instead of participants’ computing power, what matters is the amount of cryptocurrency held in their account. Thus, instead of using a large amount of electricity to solve the PoW task, a PoS participant has a limited percentage of possible transaction checks. The limit corresponds to the amount of cryptocurrency held in the participant’s account .
One of the variants of combined use of PoS technology is “Proof of Importance” (Proof-of-importance, PoI) — an algorithm used in the NEM cryptocurrency. Three components affect the probability of obtaining the right to form a block :
As the balance grows, the influence of the parameters changes — as the number of cryptocurrency units on the balance increases, the influence of the 1st parameter increases, while the influence of the 2nd and 3rd parameters decreases (PoI works almost like PoS). The smaller the balance, the stronger the influence of the 2nd and 3rd parameters.
If the total volume of cryptocurrency emission is limited, then the minimum requirements for the 1st parameter form the maximum number of candidates for creating a block.
Arguments raising concerns :
Peercoin— a system based on “pure” proof-of-stake, in the sense that PoW is used only for the initial distribution of the money supply .
Participants in the Peercoin network are able to create a block based on the following condition :
— the current time, which in this inequality limits hashing attempts and blocks the creation of the next block.
— the result of the transaction.
— the amount of unspent cryptocurrency of the transaction.
If the interested party has the key controlling , it can generate a block using the key as a signature. In this case, the signature will serve as proof that the condition has been satisfied. For example, a participant holding 50 units of the cryptocurrency will create a new block with a probability 10 times greater than a participant holding 5 units.
— the time elapsed since the transaction result
was included in a block. The probability of generating the next block immediately after the previous one is generated is very small, but it increases over time. This makes it possible to avoid an exponential distribution among payouts, raising the chances of participants who hold a small amount of cryptocurrency.
— data from the previous block.
A participant holding a significant share of all the cryptocurrency in the system is able to generate a significant share of the blocks, since the probability of generating a block is proportional to the number of coins in their account. Therefore, from time to time, the interested party is able to generate chains of consecutive blocks .
— a constant that is adjusted so that blocks are generated on average every 10 minutes.
CoA (chains of activity) is partly based on a core element of proof-of-activity, for example, on a lottery among active participants via the follow-the-satoshi procedure (a satoshi[10] — is the smallest unit of a cryptocurrency, for example, for bitcoin it equals 0.00000001 BTC).
The algorithm, which takes as input a satoshi coefficient between zero and the total number of satoshis in circulation. It then requests the block in which that satoshi was produced and tracks the transactions through which it passed until it finds the participant currently able to spend it. For example, if Alice has 6 satoshis and Bob has 2, the probability that Alice will be chosen as the next owner of some satoshi is 3 times higher than the probability of Bob being chosen .
The process of creating CoA blocks makes up a blockchain consisting of groups of consecutive blocks :
The rules of the chains of activity protocol :
Dense-CoA — an alternative implementation of CoA in which the participants generating the next blocks in the chain are not known in advance. In CoA, block generation is carried out by a single participant, whereas in Dense-CoA each block is created by a group of participants:
Let be an irreversible function. Let block
be linked to the initial state (seed)
formed by the group of
participants who generated this block. The participant
who decides which transactions will be included in the next block
is determined using the follow-the-satoshi algorithm with the hash function
as the input value. The remaining participants
are determined by the same algorithm, but
is used as the input value, where
.
Next, the chosen take part in the block-generation procedure
, which consists of two stages:
The participant signs and publishes the block
to the network. The block contains: the transactions, the hash of the previous block
, a current timestamp,
preimages
and the aggregate of all signatures
. The participants use the function
to compute the images
. These images are used to obtain
. The validity of the signature
is then checked against the public keys
of the participants
.
For a cryptocurrency that does not use proof-of-work, there is one simple way to distribute money among participants — holding an ICO. However, in that case, it is implied that initially the entire currency is controlled by a single party, which complicates the process of decentralization. In many cryptosystems that use proof-of-stake, this problem is solved by using PoW for the initial generation of the cryptocurrency that will subsequently circulate in the system. Thus, the initial value of the cryptocurrency units is determined by the cost of producing them .
Some authors argue that proof-of-stake is not an ideal option for a distributed consensus protocol[11].
The “nothing at stake” problem consists in the fact that, in the event of a consensus error, block generators lose nothing by voting for several branches of the chains. This means the consensus may never settle.[11]
Since forming a chain requires few resources (unlike PoW systems), anyone can abuse the problem by attempting to double-spend funds “for free”[11].
In practice, projects have solved these problems in different ways:
Comments