One of the challenges of the distributed systems is the information storage mechanism. Using the database is the commonest storage method. Today, different types of database technologies have been developed according to various needs in this field and are applied in various applications. Through providing central management, the database offers four main actions, including creation, updating, deleting, and retrieving, which is shown as CRUD. Trusting in applications based on databases such as payment applications is made through trusting in a centrality (central management); in other words, in case the users don’t trust in the management of the individual or organization, they will lose their trust in the application too. Decentralized Ledger Technology (DLT) is one of the alternatives proposed for the conditions where the users of the system don’t trust in a central management to control information storage. In the distributed systems, different parts of a system are broadcasted in a network and interact with each other.
Blockchain is a popular idea to deploy DLT. The information is stored in the blocks in this technology. Block is nothing more than a specified volume (size) of information. In the Blockchain, the blocks make communication via hash algorithms; namely, the blocks are chained to each other. This communication is provided through applying the sum of the previous hash in generating the hash of the current block. Using hash algorithms to make communication among information blocks causes Blockchain become immutable against being tampered with or removed. According to what has been stated, the immutability of Blockchain is one of its differences with the database. This immutability is created using hash algorithms. This feature of Blockchain maintains all the history of the stored events while this feature is not provided in the common method of using the database, and it will be possible to manipulate the history.
In addition to information storage method in blocks chain, a set of protocols for the consensus has been deployed in making a new block in Blockchain. Consensus protocol has provided a reliable and agreed-upon mechanism to generate new blocks where all network nodes develop Blockchain and preserve it according to that Blockchain. In the centralized systems, the investigation and verification of transactions are carried out by a central point. The presence of a central node can be assumed an Achilles heel and vulnerability of the system from different angles while in the decentralized systems based on Blockchain; the central node is deleted using consensus protocols. In the new blocks generated in the network are distributed in the network until all the nodes update their chain of blocks. In such a distributed system, the chain of blocks is kept in all the nodes. The nodes which investigate network transactions and generate new blocks are called miner or validator. To attract the participation of these nodes, a fee and a reward have been considered in most of the deployed networks for generating new blocks. The most prevalent consensus protocols in Blockchain are offered in the following parts.
Proof of Work (PoW) protocol
In this consensus method, a difficult mathematics problem is proposed in the network to generate a new block. The first node which finds the correct answer for the question broadcasts the answer with the new block in the network. The other nodes take measure in accepting it after receiving this message and investigating the accuracy of the answer and the generated block. The issues of PoW include reversing the hash amount; i.e., the node should find an amount its hash is correct in the problem condition. Solving such problems means testing different amounts. Hence, high processing power is an important factor in finding the answer in PoW. In PoW deployment methods, the problem gets more difficult with increasing the processing power to keep the block generation rate stable. Because of that, it is said that such a protocol is not eco-friendly. Currently, networks such as Bitcoin and Litecoin use PoW for the consensus. In recent years, as a result of Bitcoin value increase, the processing power of the network has strongly increased.
One of the weaknesses of the networks such as Bitcoin which use PoW protocol is the 51% attack. In this attack, the miner which owns at least 51% of the network hash rate can run a double-spending attack. In the double-spending, the attacker buys with his/her bitcoin, but after a while, the aimed transaction will not be placed in the main route of Blockchain and his/her account balance returned to the state it had before buying. In Bitcoin, the longest chain will be considered as the main chain of the blocks. In 51% attack, a corrupted miner starts generating blocks chain, but it won’t distribute it in the network. The corrupted miner confirms its aimed transactions out of the chain it makes itself. Finally, due to the processing advantage, the length of the chain the corrupted miner makes gets longer. The corrupted miner distributes its chain in the network, and because of being longer, it is made consensus on being the main route. As a result, all the transactions out of the main route, including the aimed transactions by the attacker are considered null, and the account balance returns to the before-attack amount. As the number of miners and the hash rate increase, the possibility of a 51% attack decreases sharply.
Proof of Stake (PoS) Protocol
In this protocol, the generator of the new block is selected based on the probabilities and the assets volume of that person from the digital tokens. Proportional to the increase of the asset of a node of digital tokens, it's a chance to generate a new block and receive the fee rises. But this selection doesn’t just depend on the amount of asset, and the probabilities are effective too in order for the node with the highest asset value not to always be selected to generate a new block. Ethereum network is the most well-known network which uses PoS protocol for the consensus. No need to process and consume energy; much energy is the advantage of PoS over Pow. In this protocol, different mechanisms have been predicted to avoid forging the amount of miners’ asset.
Delegated Proof of Stake (DPoS) Protocol
This protocol is the improved version of PoS, which uses a voting system for the consensus. The miners vote delegators to generate a new block. The weight of each vote is proportionate to the amount of the miner’s asset. Finally, the winner delegator in the voting divides the profit from generating a new block between the voters. In this protocol, the validity of each delegator is effective on collecting the votes, and trespasser delegators are removed.
Proof of Authority (PoA) Protocol
The validity of the nodes is used to select it in generating a new block in this protocol. The nodes are validated and trusted. This protocol is an appropriate option for the private networks. Microsoft Azure currently uses this method for the consensus.
Proof of Weight Protocol
Each node is assigned a weight in this protocol. The weight of each node is calculated according to different parameters such as the degree of the node’s participation in the network or the amount of digital tokens in its ownership. If the amount of the asset is used to calculate the weight, this protocol will be similar to PoS.
Anonymity and privacy have been among the features drawing the attentions in Blockchain. A pair of public and private keys is given to the user through joining Blockchain. The address of every individual is generated through applying a hash function on the public key. Each user is introduced with his/her address in the network. Hence, adapting the address with the real identity of its owner is impossible. Although, in this architecture, the people’s identity keeps hidden; however, source, target, and the amount of each transaction and the balance of all addresses are available for all the network users. This feature is recognized as transparency in Blockchain and is introduced as one of the benefits of Blockchain compared to common storage methods with the database. Anonymity in Blockchain has also been attended to circumvent financial surveillance systems for illegal trades and money laundering. It has led to imposing rigid rules in many countries to oversee the activities in this field. Some networks like Monero have surpassed this feature and deployed anonymity more widely. In this network, a new address is generated for each transaction, and in this way, the relationship between transactions and accounts balance is kept hidden, and the privacy is preserved.
As it was stated, all events are stored and remained in Blockchain from the first one. With increasing the number of events, the Blockchain size increases in time too, and its maintenance and flexibility get more difficult. Using Blockchain sharding is one of the solution to cope with this challenge. Similar to what is used in the database, the Blockchain network is divided into smaller parts in this idea, and each miner just confirms the transactions in its part with this idea, network management and speed increases besides decreasing the Blockchain size. Since different parts can act in a parallel manner, and multiple transactions are investigated and confirmed in different parts in every moment. Although the sharding method solves the problem of flexibility, the relationship between different parts and its security turn into one of the sharding challenges. Due to the decrease of hash rate in such a network, it will be easier for the attacker to control apart and manipulate the others through it.
Low speed and relatively high fee are among the challenges of Blockchain in meeting the human’s daily needs. The speed of transaction in famous Blockchains like Bitcoin and Ethereum cannot be competed with well-known non-Blockchain solutions such as Visa. On the one hand, the transaction confirmation fee in some Blockchain networks is sometimes higher than the value of the exchanged goods or services and makes paying through cryptocurrencies uneconomical. This problem is called the lack of support from Micro-transactions. The idea of Lightning Network in Blockchains such as Bitcoin and Litecoin has been suggested and implemented to solve these challenges. In this idea, the users can do their transactions off-chain and without any fee through changing shared wallet balance. Through finding a relationship between two nodes which lack shared wallet via the nodes owning shared wallet, the Lightning network makes possible the exchange of cryptocurrencies by changing the balance of all shared wallets in the route.
At last, through defining expiry data for the shared wallet, the final balance is stored in Blockchain. Although lightning network looks efficient in solving Blockchain challenges, it has some problems too. Keeping stagnant the capital in the shared wallets and always being available are among the problems discussed about in a lightning network. On the one hand, although developing this network is concomitant with transactions becoming faster and cheaper, it can lead to the lowering the miners’ income and exiting from the network and the decrease of processing power accordingly. In addition, transaction ceiling being supported in the lightning network is limited to the maximum balance of the shared wallets.
Developing DLT is not just limited to Blockchain. Tangle is one of the proposed ideas in deploying DLT without using Blockchain. This idea uses a concept called the Directed Acyclic Graph (DAG). In this network, the role of the miner is not distinguished separately, and each node should investigate and confirm the other transactions to do the transactions. This network has drawn the attentions through removing the miners and paying the fees as one of Blockchain rivals. The degree of the success of Tangle network depends on the increase of the number of its nodes. IOTA cryptocurrency network has been designed and deployed based on Tangle.
[Hackernoon] “Should we be afraid of Fake Stake attacks?”, Guarda Wallet, 6 February, 2019
[Researchgate] “An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends”, Zibin Zheng, Hong-Ning Dai, Shaoan Xie, Xiangping Chen, June 2017
[Lisk Academy] “Delegated Proof of Stake”, Jan, 2019
[Binance Academy] “Delegated Proof of Stake Explained”, September 2019
[Coincodex] “What Is Proof of Weight?”, Peter Compare, December 2018
Dr. Pooyan Ghamari