# From NFT 1.0 to NFT 2.0: A Review of the Evolution of Non-Fungible Tokens
## 2 Background and Preliminaries
### Consensus Protocols  
There are numerous consensus protocols available for a blockchain network. The most important ones are summarised in Table 2. The first protocol proposed, called proof of work (PoW) [23], establishes that to add a new valid block to the blockchain, a node must solve some sort of computationally hard problem. For this problem, PoW blockchains usually require the node to find a value (called a _nonce_) to concatenate to the block header, so that by applying a cryptographic hash function, a value with a certain number of leading bits equal to 0 is found. Since a brute force approach is the most effective known method, nodes are expected to perform a lot of computation before finding a valid nonce for their candidate block. \begin{table}
\begin{tabular}{p{56.9 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt}} \hline \hline
**Property** & **Public Blockchain** & **Private Blockchain** & **Consortium Blockchain** & **Hybrid Blockchain** \\ \hline Consensus determination & All miners & One organisation & Multiple organizations & One organisation \\ \hline Consensus process & Permissionless permission & Permissioned & Permissioned & Permissioned \\ \hline Read permission & Public & Public or Restricted & Public or Restricted & Public or Restricted \\ \hline Immutability & Almost tamper-proof & High potential for tampering & Medium potential for tampering & Low potential for tampering \\ \hline Efficiency & Low & High & High & Medium \\ \hline Centralised & No & Yes & Partial & Partial \\ \hline Example & Bitcoin & Hyperledger & Quorum & IBM Food Trust \\ \hline \hline \end{tabular}
\end{table} 
Table 1: A comparison of the types of blockchain structures and their properties. Figure 2: Blockchain Classification. Since PoW requires immense computational power, other protocols, such as proof of stake (PoS) [24], have been proposed. PoS requires each node that wants to participate in the block creation process to put some cryptocurrency at stake. The next block creator is chosen proportionally to the amount of cryptocurrency and the time it has put at stake. To prevent nodes from acting maliciously, if the block proposed by a node is not valid, part of the stake of that node is lost. A variation of the PoS, called delegated proof of stake (DPoS) [25], tries to address the fact that to be able to confirm blocks in a PoS, one needs to put a lot of cryptocurrency at stake. Indeed, DPoS works like an indirect democracy, where cryptocurrency holders can put some at stake, and vote for their favourite block validators. The top validators, based on the votes weighted by the stake of the voter, are scheduled to produce blocks in round-robin at fixed time intervals. Liquid proof of stake (LPoS) [26] is a combination of PoS and DPoS, because according to this consensus protocol, token holders can either stake their token for themselves or delegate their stake to other nodes. Therefore, in an LPoS network, large token holders can become block creators, but smaller holders can also become block creators by seeking support from other holders. The proof of authority (PoA) [27] consensus protocol instead leverages the value of identities of nodes, meaning that block validators put their reputation at stake, rather than their cryptocurrency. Therefore, in PoA blockchains, block creator nodes are entities considered trustworthy by the network. Since the number of block creators is low, PoA blockchains are usually highly scalable. The proof of staked authority (PoSA) [28] consensus algorithm is a hybrid between DPoS and PoA, where a set of candidate validator nodes is elected via DPoS, and among them, an authority elects the designated block creator. Finally, proof of history (PoH) [29] consists of a sequence of computations that can provide cryptographic proof that some time passed between two events. It carried this out by concatenating the output of one computation to the input of the next.