Proof of stake (PoS) is a type of algorithm by which a cryptocurrency blockchain network aims to achieve distributed consensus. In PoS-based cryptocurrencies the creator of the next block is chosen via various combinations of random selection and wealth or age (i.e., the stake). In contrast, the algorithm of proof-of-work-based cryptocurrencies such as bitcoin uses mining; that is, the solving of computationally intensive puzzles to validate transactions and create new blocks.
Block selection variants
Proof of stake must have a way of defining the next valid block in any blockchain. Selection by account balance would result in (undesirable) centralization, as the single richest member would have a permanent advantage. Instead, several different methods of selection have been devised.
Randomized block selection
Nxt and BlackCoin use randomization to predict the following generator by using a formula that looks for the lowest hash value in combination with the size of the stake.[non-primary source needed][non-primary source needed][non-primary source needed] Since the stakes are public, each node can predict—with reasonable accuracy—which account will next win the right to forge a block.
Coin age-based selection
Peercoin‘s proof-of-stake system combines randomization with the concept of “coin age”, a number derived from the product of the number of coins multiplied by the number of days the coins have been held.
Coins that have been unspent for at least 30 days begin competing for the next block. Older and larger sets of coins have a greater probability of signing the next block. However, once a stake of coins has been used to sign a block, it must start over with zero “coin age” and thus wait at least 30 more days before signing another block. Also, the probability of finding the next block reaches a maximum after 90 days in order to prevent very old or very large collections of stakes from dominating the blockchain.[non-primary source needed][unreliable source?][unreliable source?]
Various projects such as EOS, Bitcoin-sCrypt, Steem, Ark and Bitshares are using delegated proof-of-stake, or DPoS.[unreliable source?] The system uses a limited number of nodes to propose and validate blocks to the blockchain. This is meant to keep transaction processing fast, rather than using several hundred or several thousand nodes. EOS uses a limited number of block validators, 21, whose reputation may or may not drop, allowing back-up validators to replace former nodes.[unreliable source?]
Orbs uses a similar process, dubbed randomized proof-of-stake (or RPoS) but selects an entire committee rather than a single block leader. Each node is selected randomly using a verifiable random beacon to propose the current block of transactions. Then, the block is verified through that committee containing a pre-set number of nodes from within the total network of nodes available.[non-primary source needed]
Incentives differ between the two systems of block generation. Under proof of work, miners may potentially own none of the currency they are mining and thus seek only to maximize their own profits. It is unclear whether this disparity lowers or raises security risks.[unreliable source?] Under proof of stake, however, those “guarding” the coins always own the coins, although several cryptocurrencies do allow or enforce the lending of staking power to other nodes.
Some authors[non-primary source needed][non-primary source needed] argue that proof of stake is not an ideal option for a distributed consensus protocol. One issue that can arise is the “nothing-at-stake” problem, wherein block generators have nothing to lose by voting for multiple blockchain histories, thereby preventing consensus from being achieved. Because unlike in proof-of-work systems, there is little cost to working on several chains.
Many have attempted to solve these problems:
- Peercoin is the first cryptocurrency that applied the concept of PoS. In its early stages, it used centrally broadcast checkpoints signed under the developer’s private key. No blockchain reorganization was allowed deeper than the last known checkpoints. Checkpoints are opt-in as of v0.6 and are not enforced now that the network has reached a suitable level of distribution.
- Ethereum‘s suggested Slasher protocol allows users to “punish” the cheater who forges on top of more than one blockchain branch.[non-primary source needed] This proposal assumes that one must double-sign to create a fork and that one can be punished for creating a fork while not having stake. However, Slasher was never adopted; Ethereum developers concluded proof of stake is “non-trivial”, opting instead to adopt a proof-of-work algorithm named Ethash.[non-primary source needed] It is planned to be replaced by a different PoS protocol called “Casper”.[unreliable source?]
- Nxt‘s protocol only allows reorganization of the last 720 blocks.[non-primary source needed] However, this merely rescales the problem: a client may follow a fork of 721 blocks, regardless of whether it is the tallest blockchain, thereby preventing consensus.
- Hybrid “proof of burn” and proof of stake. Proof-of-burn blocks act as checkpoints, have higher rewards, contain no transactions, are more secure, and anchor both to each other and to the PoS chain but are more expensive.
- Decred‘s hybrid proof-of-work and proof-of-stake, in which proof of stake is an extension dependent on the proof-of-work timestamping, based on the “proof of activity” proposal,[non-primary source needed] which aims to solve the nothing-at-stake problem by having proof-of-work miners mining blocks and proof-of-stake acting as a second authentication mechanism.