Blockchain is a distributed ledger technology that maintains all transactions between two or more involved participants through a peer to peer (P2P) network. As presented in [1]}, it can work as a permanently immutable ledger upon blockchain network, no matter the involved participants (nodes) are trustful or not. The stored records are co-owned by all members of the network.
Without a central controller in the blockchain architecture, before a new block is appended to the existing blockchain, all the nodes have to reach a consensus. Many different consensus algorithms have been proposed, including Proof-of-Work (PoW) [2]}, Proof-of-Stake (PoS) [3]}, Proof-of-Authority (PoA) [4]}, Proof-of-Object (PoO) [5]}, Ripple Protocol Consensus Algorithm (RPCA) [6]}, etc.
