![](https://csdnimg.cn/release/download_crawler_static/87500554/bg3.jpg)
E. Deirmentzoglou et al.: Survey on Long-Range Attacks for Proof of Stake Protocols
full nodes are expected to come across transactions that are
received with different order and possibly with colluding
outcomes. Therefore, nodes must reach to an agreement, that
we call consensus, on which transactions must be kept in the
blockchain to guarantee that while there might be corrupt
branches, users will be able to trace them and disregard
them [14], [16]. The way that the nodes reach consensus is
what differentiates most blockchain implementations. The
‘‘traditional’’ way, introduced with Bitcoin, is through what
we call Proof-of-Work (PoW). In this case, nodes have to
prove that they spent a lot of computational effort by solving
complex computational problems, e.g., hash-based crypto
puzzles like hashcash [17] and in return, they expect a ver-
ification of their blocks. In Proof-of-Stake (PoS) protocols,
the trust of the network is bounded on digital assets, the cur-
rency of each protocol. Instead of miners, PoS protocols use
the term minters or validators. At any point of the protocol’s
operation, a static or dynamic set of validators stake their
assets to the network to be capable of producing and vali-
dating blocks. Other consensus approaches include Byzantine
Fault Tolerance (BFT) and its variations [18]–[20].
Evidently, the lack of a central and unique repository
and complete overview of all the transactions communicated
by nodes results to nodes having different branches of the
blockchain until they reach a consensus. Therefore, nodes
compete in having their branch as the main branch of the
blockchain.
B. VALIDATING TRANSACTIONS IN PoW AND PoS
In principle, all participants of a blockchain network submit
their transactions to a pool, the pool of transactions. These
transactions must be verified and mined (in the case of PoW)
to be added to the blockchain. To this end, in PoW, nodes
commit their processing power in an attempt to gain a net-
work reward. They can do so only if they are the first one
to accomplish this task, while the rest of the nodes will see
their time and computational power being thrown away. The
network reward might be from the blockchain system itself,
in the form of a block reward e.g. once a block is created
and added to the main chain, the blockchain mints a certain
amount of tokens and awards the miner for their hard work.
Another form of reward can be from transaction fees. Due
to the congestion of blockchain networks, users can add an
extra cost to their transaction which will be given to the
miners as a reward to have their transaction processed with
a higher priority. Block rewards are not the de facto opera-
tion of a blockchain, e.g. while Bitcoin uses block rewards,
the Ethereum network does not and miner rewards are solely
based on transaction fees. It must be noted that even though
the Bitcoin network uses block rewards, transaction fees can
also be used.
In both consensus protocols, miners have complete control
over their block and use the transaction pool to fill up their
blocks with transactions and may prioritise the transactions
as they see fit. In addition, the block size is finite, mak-
ing this prioritisation usually based on the transaction fees.
Therefore, in a blockchain system, a miner or validator selects
some transactions from the transaction pool and adds them
to their block. While in PoS systems the validator will only
have to publish the block, in PoW systems the miner has to
go one step further and solve a hashing puzzle. The willing
miner will have to pay that cost; work for them, not knowing
whether this work will be in vain or result into a monetary
reward.
As already discussed, the task is usually a strong crypto-
graphic or mathematical problem whose difficulty changes
dynamically based on the overall network computational
power to keep a stable pace of block generation (an aver-
age of 1 block per 10 minutes for Bitcoin). For instance,
in Bitcoin, the challenge is to find a hash below a threshold.
More precisely, one creates a block where the block header
consists of the hash of the previous block, the network diffi-
culty, a timestamp, a block version number, a merkle proof
of the transactions she believes that should be added in the
blockchain, and a nonce. By using different nonces, one tries
to find a hash below the threshold that was set by the network
difficulty. Once a node finds such a nonce, she disseminates
it, and the block is added in the blockchain once the other
nodes verify its validity.
In PoS blockchains, to generate blocks users will have to
be part of the staking system as validators. Network users
who want to participate in the staking system have to pur-
chase tokens and stake them. The staking system is usually
weighted, and validators with more stake in the system have
more voting power consequently. In PoW systems the cryp-
tographic puzzle is there to define the rate of block genera-
tion, in PoS systems this rate is defined with time intervals,
e.g. every 10 minutes one validator is elected to create a block.
In general, the election of the validator is made through a
pseudo-random generator where candidate nodes with more
stake are more likely to be elected to validate blocks.
Once the validator has concluded on the transaction
selection for the block, a block is forged containing all
the approved transactions. The block is then added in the
blockchain or delegated to other validators for approval,
depending on the type of proof of stake protocol in use.
For more details, the interested reader may refer to
[21] and [22].
C. PROOF OF STAKE PROTOCOLS
PoS as a concept, contrary to the Bitcoin-like PoW protocols,
does not rely on hashing or computing power to distribute
‘‘ownership’’ among peers on the network. As previously
mentioned, it rests upon the idea that ‘‘ownership’’ between
peers of the network is attributed to their ownership of
‘‘stake’’ in the form of the native currency (usually called
coins), recognised and supported by the blockchain network
in question. These coins grant them the ‘‘voting power’’ on
the block generation and/or verification of the underlying
network. As the concept of PoS evolved via various iterations
of protocol implementations and networks, one major ques-
tion was constantly pressuring developers and researchers to
28714 VOLUME 7, 2019