This technology is divided into different subcategories according to the structure created to keep the data record. Each of these subcategories includes a wide range of technologies that have their own advantages and disadvantages.
2.1. Blockchain
Blockchain technology was first used to solve the problem of double spending [
1]. Cryptographic algorithms and distributed ledgers form the basis of this technology. It consists of a chain of blocks linked to each other, with each block containing numbers of transactions merged to the previous block and linked to previous transactions. As a general rule, an initial block is formed, and then new transactions result in a new block that is linked by keeping the previous block’s hash data. Moreover, these blocks are widely distributed within a distributed network without central management, making it difficult to easily add a fake block or question a block’s existence. With these features, transactions are immutable; therefore, data can be recorded on a Blockchain network without any changes or the ability to track the record history [
41]. In addition, each Blockchain has a unique consensus algorithm for agreeing on a new block to prevent attacks such as Sybil attacks [
14]. The selection of a trusted entity to make a new block in Blockchain can be based on algorithms such as proof of work [
42], proof of burn [
43] and proof of stake [
44].
Distributed databases and cryptographic algorithms are combined in Blockchain technology to reliably store transactions [
45]. Data integrity can be guaranteed by this technology without a centralized entity managing or controlling it. All transactions made with Blockchain technology are placed into a block and verified by all the nodes. Additionally, a hash of the transaction will be recorded in the block, and a hash from the previous block will be recorded to provide a link [
46]. Therefore, if one transaction in a block changes, the newly calculated hash will differ from the hash already registered, and the block will become invalid [
46].
The structure of the Blockchain is multiple blocks chained together in a timestamped chronological manner. Blocks generally consist of three parts: data, hash for the current block, and hash for the previous block that is included in the new block to determine the order of the blocks. The genesis block will be the first block created, and the next block will keep the hash of the genesis block with its own data and hash. A hash is a mathematical function that changes data into a short, arbitrary size, array of data [
47]. The hash function produces results that cannot be decrypted and should be unique so that every dataset has its own fingerprint. By changing data on a block, the hash will no longer be the same, and if the hash has also been altered, the chain of the subsequent block cannot be linked due to the difference between the hash recorded in the next block and the current block. Therefore, the following chain will be considered invalid [
46].
Figure 1 illustrates the Blockchain and the block, which consists of data, their current hash and the previous block hash. Any tampering with a block will result in the invalidity of the block and the following chain of blocks.
In Blockchain, a hash function acts as a fingerprint [
48], whereas in central systems changing the hash data is easy due to the single-failure node issue. Therefore, to prevent the data from being altered in a distributed network, a copy of the Blockchain will be shared among all participants. Whenever a node joins the network, they will receive a copy of all Blockchain records, so in the event of an attack, the attacker will need to gain the support of more than 50 percent of the network to change the data that exist in the Blockchain. Furthermore, every participant on the Blockchain should verify and agree on the new block before it is added to the Blockchain. It is here that consensus algorithms play a vital role. As a result of the consensus algorithm, one of the participants wins the ability to declare and share the new block with the network. The other participants are required to verify the block to ensure that the data and hashes on the block are valid. In the example of Bitcoin, a group of transactions will be chosen from a pool of transactions, and a proof of work algorithm will require a mathematically difficult puzzle to be solved, and each participant who solves the puzzle will create data consisting of the transactions chosen from the pool and send the new block for verification to other participants. Other participants will verify the data and the validity of the transaction, such as by verifying the sender and recipient’s address and the Bitcoin that is going to be transferred, before approving the new block [
49].
With this technology, cryptocurrencies were born. Bitcoin’s market and demand have grown so rapidly that, at the time of writing this paper, the price for each Bitcoin is around USD 47,000. Since the introduction of Bitcoin and Blockchain, this technology has been studied by many researchers and has been used in many other applications in addition to payment processing. As a result, many other Blockchain technologies have been introduced to the world, but all of them have the same key features of transparency, immutability and decentralization [
50].
Blockchain transactions can be tracked, as it is necessary to verify new transactions against old ones. All the nodes in the Blockchain network hold a copy of the Blockchain, and by checking the last block, the previous block can be found from the hash data [
51].
Blockchain data are recorded in different copies, which are encrypted and linked to previous data. Additionally, they have a robust consensus algorithm for making new blocks, such as proof of work, making it difficult to change recorded data or introduce fake data into the network [
52].
All Blockchain technologies aim for decentralization, but some do have some central management. In some cases, private Blockchain networks are not completely decentralized [
53,
54].
The application of Blockchain to real-world problems has gained increased attention in recent years because of the above key features. Bitcoin and other cryptocurrencies were first used as financial and payment systems, and many industries have adopted them as a payment method [
55,
56,
57,
58]. Financial services that employ cryptocurrencies can be seen in tourism [
59], the trading of digital assets [
60] and black markets [
61]. While cryptocurrencies are mostly used to make payments, this technology has also opened up many other opportunities. The second generation of Blockchain technologies such as Ethereum and the addition of smart contracts into this technology have evolved.
Ethereum was introduced by Vitalik Buterin in 2014 [
62]. The Ethereum protocol has a built-in programmability feature that implements Nick Szabo’s definition of smart contracts [
63]. The introduction of smart contracts opened up the possibility of Defi Applications (decentralized finance), which allowed finance applications to run on the Ethereum network without the need for central validation. In Szabo’s definition of smart contracts, a computer program can replace paper contracts and automate the process of implementing contract terms and conditions [
63,
64]. Smart contracts have shown a wide range of applications in areas such as secure voting [
65], insurance policies [
66], healthcare record data security [
67,
68] and digital asset trading, among others. Blockchain-based smart contracts have advantages over paper contracts due to their transparency, prevention of errors and fraud, and low cost.
Blockchain technology has also shown the potential to compete with and replace other digital solutions. A Blockchain can, for instance, be used to secure a system through its own public-private key authentication. There have been many studies on using Blockchain technology and solving issues in other areas such as supply chain management without involving a third party with greater transparency and immutability. However, this technology has its own limitations in its ability to replace older technologies.
In addition to having some similar features such as transparency or being decentralized to govern the network, Blockchain technology also has some differences such as its scalability, access, programmability, and open-source nature that make it useful in certain areas while useless in others. While there are many benefits and advantages of Blockchains, their disadvantages should also be considered. The most common issue is scalability [
69]. The Bitcoin network can handle up to 10 transactions per second, so it is difficult to use Bitcoin to replace a payment system such as Visa, which has the ability to handle millions of transactions per second. Furthermore, a Blockchain such as Bitcoin has limited storage for each block (1 MB) and a proof of work algorithm that ensures the creation of new blocks every 10 min. As a result, the validation of one transaction is expensive compared to traditional systems such as the Visa or Mastercard networks.
2.1.1. Blockchain Life Cycle
The transaction is built by a node and signed by its private key, which can be accessed by its own public key. A gossip protocol is used to send this transaction to the network [
70]. The next peer-named miners select some number of transactions for validation and verification. The miners create a block based on those verified transactions and attempt to get that block approved by the network. In this step, consensus algorithms play an important role in determining which miner is eligible to create the next block [
71]. For instance, the Bitcoin network uses proof of work to ask miners to solve a difficult math puzzle in order to be eligible to add a new block. This algorithm requires the miner to pay a high price for securing the validation of transactions. In Bitcoin, a reward is given for making a block, and some Bitcoin is given to the miner who solves the puzzle and adds the new block to the network. To keep track of all transactions in recent blocks, the new block will be linked to the chain by hash algorithms. To show the order of blocks in the chain, each block stores a hash of its previous block. Additionally, they include the number of transactions based on their size, which varies depending on the technology. Because all ledgers and peers in the Blockchain network have copies of the blocks, they can be tracked.
Figure 2 illustrates the lifetime of a transaction and the addition of a new block to Blockchain.
Blockchain technology can be classified from many perspectives. Depending on how a node joins the Blockchain network, it can be classified as public or private. The Bitcoin Blockchain, which is the quintessential example of a public Blockchain, is entry/exit free. In private Blockchain networks, only known nodes can enter the network [
72]. Cryptocurrencies can be divided into two categories based on the way they are generated and distributed.
The first category includes cryptocurrencies created by the first transaction on the genesis node, which is then distributed among stakeholders. The second category includes cryptocurrencies that are generated over time and distributed. There are different methods for the generation process, depending on the type of cryptocurrency. With proof of work, miners are rewarded with cryptocurrencies for solving difficult problems, e.g., Hashcash [
73] in Bitcoin. As an alternative to the proof of work, the proof of stake is another approach [
44]. Proof of stake enables a miner who possesses more cryptocurrency to have a higher chance of placing blocks in the Blockchain and earning coins. However, in proof of work, the power of the miner’s processors determines their ability to create a new block and acquire coins as a reward. Further, there are other approaches, such as proof of burn, which is used in cryptocurrencies such as Slimcoin, where miners earn Slimcoin in exchange for destroying another cryptocurrency such as Bitcoin [
73].
Although Blockchain technology has many benefits, it also has many disadvantages. The disadvantages of Blockchain technology are outlined below.
2.1.2. Scalability
In order to have a trustless robust system, Blockchain needs to propagate data amongst all the nodes as there is no trust amongst the networks. To do that, it needs to make limited storage available for each block; for example, in Bitcoin only 1 MB is available, which can hold only a limited number of transactions. Further, the consensus algorithm is another bottleneck in this process that makes it difficult to constantly build new blocks. As a result, in the Bitcoin network the limitation for transactions per second is 10, and in Ethereum it is around 13 to 17 transactions.
Table 5 shows a comparison between different Blockchain technologies.
2.1.3. Security
Blockchain technology has many security issues, most of which are related to the amount of power miners possess. As such, a 51 percent attack is one in which a malicious side gains more than 50 percent of the power in the network. This allows them to commit double spending and produce fraudulent blocks, which leads to the loss of trust in that network [
78]. To prevent such an issue, any new Blockchain technology needs to make sure it avoids giving such power and starts growing quickly among different stakeholders to make it more difficult for this to occur. In addition, there are other types of attacks such as Sybil attacks [
79], fishing on wallets holding private keys [
80], and selfish mining attacks [
81] that make the Blockchain more vulnerable. Any good Blockchain technology must be immune to these attacks.
2.5. Holochain
Holochain is an agent-centric distributed application platform. A major difference between Holochain and other DLTs is that it is based on agents. Each agent holds a Blockchain for itself with access to the main Holochain with a private key that allows it to record data. Using the application-driven agents, Holochain performs transactions and stores the data. In contrast to Blockchain, it is more of a distributed application that can be used for asset trading in a scalable and energy-efficient manner [
86].
Table 6 shows a comparison between DLTs based on scalability, cost, fairness, security, permission, and open-source status.
In comparison, these five technologies differ mostly in their architectures although they all share two important characteristics in common, namely, their distribution and the use of a consensus algorithm to provide data immutability. These technologies have various uses depending on their structure. IOTA technology, for instance, is designed exclusively for IoT networks and IoT devices, because other technologies require computationally intensive operations that cannot be handled by small IoT devices.
They also differ in the scalability of their systems, which has been solved by changing the consensus algorithm in other technologies such as Tangle, Hashgraph, Sidechain and Holochain. The other difference between them, which stems from the differing consensus algorithms and structures, is the cost of transactions in each, which has made it harder to use them in various cases due to the high cost of proof-of-work algorithms in technologies such as Bitcoin. The creation of new methods has led to a reduction in the costs associated with these networks.
The discussion of fairness in the execution of transactions is also important, as it can lead to long-term delays in the execution of a transaction, and in technologies such as Blockchain, due to the existence of transaction costs and incentives, this position becomes important to investigate. This problem in technologies such as Hashgraph has been solved by prioritization of the time that each event has been created. In addition, this problem is not seen in other technologies with a high number of transactions per second.
Furthermore, the security of these networks depends on the consensus algorithm, which should protect against intrusions such as the Sybil Attack. As another point of comparison between these technologies, it may be worth highlighting the openness of the network to new users, whether it is a public network or a private one that needs permission to access. In general, private networks have better access control and higher transaction speeds, but due to the existence of a supervisory body, they cannot be fully monitored in a distributed fashion, and this conflicts with the main purpose of these technologies.
In the end, the availability of the source codes is vital for drawing attention to these technologies and building trust in them, which can be an issue with a technology such as Hashgraph, since this technology is not open source.
The different characteristics of these technologies showed their potential utility in a variety of areas that require these features. Comparing these technologies with each other and with traditional approaches is necessary. Thus, in the next section a comparison of their application with regard to their features has been given.