Security Aspects of Blockchain Technology Intended for Industrial Applications

: Blockchain technology plays a signiﬁcant role in the industrial development. Many industries can potentially beneﬁt from the innovations blockchain decentralization technology and privacy protocols offer with regard to securing, data access, auditing and managing transactions within digital platforms. Blockchain is based on distributed and secure decentralized protocols in which there is no single authority, and no single point of control; the data blocks are generated, added, and validated by the nodes of the network themselves. This article provides insights into the current developments within blockchain technology and explores its ability to revolutionize the multiple industrial application areas such as supply chain industry, Internet of Things (IoT), healthcare, governance, ﬁnance and manufacturing. It investigates and provides insights into the security issues and threats related to the blockchain implementations by assessing the research through a systematic literature review. This article proposes possible solutions in detail for enhancing the security of the blockchain for industrial applications along with signiﬁcant directions for future explorations. The study further suggests how in recent years the adoption of blockchain technology by multiple industrial sectors has gained momentum while in the ﬁnance sector it is touching new heights day by day.


Introduction
Blockchain, a distributed ledger based on cryptographic algorithms [1], was first described by Satoshi Nakamoto [2] in 2008 as a distributed peer-to-peer network for handling the first-ever decentralized digital currency "Bitcoin" that was later rated as the number one currency in terms of user adoption and widespread use [3]. The adoption of blockchainbased networks was held back because of its complex architecture; nevertheless, with time it attracted the attention of numerous industries globally, for example the financial industry, healthcare, logistics, manufacturing, energy, agriculture, and other industries [4]. The blockchain supports a complicated framework that amalgamates other prominent technologies such as peer-to-peer networking, distributed environment, decentralized architecture, cryptography, smart contracts, consensus mechanisms, and others [5]. Fundamentally, the blockchain is used to store time-stamped information during the transactions in data blocks, which are chronologically connected to each other to form a chain. Each block of data has a unique hash value, which is generated using a cryptographic algorithm that assures the integrity of the data. These blocks are connected to each other with these hash values like a linked list. Each block consists of a hash of the previous block along with its own, which helps in connecting the blocks forming the blockchain [6]. distributed ledger that is publicly available and hosted by a large number of volunteering hosts, called nodes. The ledger stores and verifies the transactional data over the network. The noteworthy feature provided by the blockchain in Bitcoin is its ability of the prevention of double spending in trades, as the entire network is responsible for the verification of the transactions instead of a central authority like traditional financial frameworks.
Basically, blockchain is a ledger that maintains a list of transactions in an immutable, append-only fashion that is growing with time and expanding the chain in a secure manner; the blocks within the blockchain are protected using cryptographic algorithms that impose the integrity of the transactional details [35]. The blockchain consists of permanent records that cannot be altered or tampered with, thus ensuring the integrity of the data. The data within the blockchain run through the distributed nodes within the network. The feature that makes the blockchain different from other technologies is that it timestamps the data records, providing a total order of blocks. A block consists of the hash value of the data stored in that block, along with the hash value of the previous block, which helps in connecting the chain of blocks. A new block can only be added to the existing blockchain after the successful completion of the consensus mechanism. This consensus mechanism has to control the permissions for entering into the chain, following the protocols for securely verifying the blocks and maintaining the consistency of the records at every node of the network. Hence, in conclusion it can be said that the blockchain is a distributed ledger that stores all the transactional data over a decentralized network in a secure and verifiable fashion. A blockchain-based framework can handle security issues such as unauthorized access of data/transactions, dependency on a third party or central authority and the unreliability of other participants.

Evolution of Blockchain
Bblockchain technology has developed and drastically evolved, and its evolution can be divided into stages as depicted in Figure 1 below. The first stage of the development is called as Blockchain 1.0, which consists of the public ledger for holding the cryptocurrencies over the distributed network. The next stage is Blockchain 2.0, which includes the trust management feature using smart contracts that manages itself with no involvement of any third parties. The third stage is Blockchain 3.0, which is the present and future of the technology and includes various application areas such as DeFe (decentralised finance), IoT, education, identity management, big data, Artificial Intelligence and healthcare, etc. [36]. Blockchain 1.0 began with the first digital currency, Bitcoin, which gave rise to the popularity of blockchain technology. The blockchain framework proposed for handling Bitcoin became famous as it solved various issues related to the data, such as authenticity, security and integrity, using the concepts of cryptography and hash functions [37]. The script used in the original first generation blockchain can be considered limited and purpose-built. It is only possible to express certain contractual agreements using that script. The innovation brought to the blockchain in the second generation is the generalization of the scripting concept. Instead of offering only limited computational capability, the new generation smart contracts bring the power of a universal computation-that is, the smart contracts can express any algorithm that a universal computer can express. The concept of smart contracts allows the expression of complex contractual agreements, algorithms and workflows. Smart contracts allow the users to digitize any physical asset and map the real world logics to it using an expressive (universal) programming language. This improvement in the blockchain network made the technology more robust and flexible as the users can trace the real-world entities on the network that are secure and traceable. The third stage, Blockchain 3.0, is the current stage of blockchain that is still under development and has good scope for growth. This current generation is going to transform the way of internet based transactions facilitating Blockchain as a service [38][39][40].

Classification of Blockchain
While blockchain technology is continuously evolving in terms of its construction, access and verification, several application domains are adopting them. The blockchain can be classified in following three types that users can select from as per the requirements and scenario. These types of blockchain are different from each other but have similar basic characteristics like distributed and decentralized structure, peer-to-peer communication, consensus mechanisms, digital signatures and time stamping.

Public Blockchain
The network in such blockchain is distributed and publically available with no restrictions on reading the data from the network. However, in the context of writing, a public blockchain could be permissioned or permissionless. If it is permissionless then anyone can write into the network but if it is permissioned then only some specific nodes are authorized to have privileges to carry out new transactions (writing into the blockchain), verify the transactions by other nodes along with accessing the existing transactions (reading the blockchain). The proof-of-work consensus makes the public blockchain trustworthy. Such blockchain is considered to be safe because the number of nodes joining the network is usually high (as it is publicly available), and more nodes means a more distributed network. Furthermore, the records ledger is available to all the nodes that make the blockchain transparent. However, there are some flaws in such a blockchain, such as low processing speed because of the larger number of nodes within the network. Scalability and efficiency are also problem areas in such block chains, as proof-of-work consumes large amounts of time and energy in verifying requests. Bitcoin [2], Litecoin [41] and Ethereum [42] are the most common public blockchains available on the market today; a diagrammatic representation of such blockchains is shown in Figure 2 below, in which various types of nodes are connected with one another and share a common distributed network:

Private Blockchain
The network of such a blockchain has some restrictions and works in a closed manner. Such networks are favored when an organization wants a blockchain with access and participation of some members. Additionally, no person can have the right to access the data or participate in transactions within the blockchain [43]. Such a blockchain is controlled by the organizations themselves and can be used for protecting the assets of customers; managing digital identities supply chains, etc. These blockchain networks could be permissioned or permissionless within the private group of people. Private blockchains are better than public blockchains in terms of computation speed because of the limited number of participating nodes-the consensus works fast-and scalability that allows the adjustment of the number of nodes on the basis of requirement. The shortcoming of such a blockchain is its maintenance, as the organization has to maintain the trust among the participating nodes because confidential information is at stake; also, it is easy to hack a chain with a smaller number of nodes. Therefore, organizations need to be incredibly careful while deciding upon the participating nodes. Some of the examples are Sawtooth [44], Corda [45], Fabric [46], etc. in which only the representative nodes have the right to make changes in the blockchain; a diagrammatic representation of such network is shown in Figure 3 below:

Consortium Blockchain
Some nodes within the network are responsible for management in such a blockchain. Those nodes are the selected representatives of the participating organizations that are responsible for making the decisions within the network. These authoritative nodes control the consensus mechanisms and a few of them are also allowed to participate in the transactions. This blockchain is also called federated blockchain, and can be seen as a permissioned public blockchain in which anyone can read the data from the network but only the representative nodes have the authority to write into the network. The number of nodes in this blockchain is high, like public blockchain, while some restrictions are imposed on the nodes, like the private one. This type of blockchain is usually preferred in government and banking sectors, for example R3, Energy web foundation, etc. A diagrammatic representation of such blockchain is shown in Figure 4 below in which the representatives are depicted using blue nodes:

Components and Working of Blockchain
A blockchain is a distributed network that is used to store the transactional data logs in a secure manner. The data within the blockchain is stored in the form of blocks that are chained together as shown in Figure 5 below. A block is generated after a fixed amount of time containing the information regarding the transactions that happened during that interval, which means the greater the number of transactions the larger the size of the blockchain. Whenever a transaction is requested, the mining process starts by broadcasting the request to all the nodes of the network for validation via consensus protocols. The block is added to the chain only after validation by all other nodes. A blockchain can have several other components, but following are the necessary and basic ones that are required to be understood for getting better insight into the technology.

Block
A blockchain is a chain made of blocks, i.e., a block is the basic data structure of the network. A block can be divided into two parts as shown in Figure 6 below. The first part is the header, which consists of the index number, time stamp, nonce, data, hash values, etc. The blocks are generated by any of the nodes within the network, which is then verified by the entire network to be added to the chain. The first block of the blockchain does not have any value in the previous hash section, because it does not have any previous block, is called 'genesis block'. There are three types of blocks; 'main branch blocks' are the blocks that are added to the longest available blockchain within the network, 'side branch blocks' are the blocks that are not the part of longest chain or have the previous hash in some other chain and 'orphan blocks' whose previous blocks are not known to the present node.

Hash Pointer
Hash pointer consists of the hash of the data that is stored in the block. This hash is achieved using cryptographic hashing function (e.g., SHA256) and points towards the actual storage location of the data. It can be used to find out the integrity of the data. The hash pointers are responsible for the connectivity of the blocks in the blockchain, as a block is connected to the previous block using this hash value. Each block consists of the hash pointer to its data and data of previous block. The users verify these hashes publicly to assure that the data are tamper-proof. If a data are tampered with, the hash value will change not for that particular block, but for all the previous blocks up to the genesis block, which is not quite practically possible. Therefore, the hash pointer plays a vital role here in blockchain, in assuring the tamper resistance of the network.

Merkle Tree
It is a type of binary search tree with nodes connected to each other via hash pointers of the blocks, used to generate the blockchain. Whenever, more than one node is merged into single node, the Merkle tree creates a parent node for them that contains the hash of the nodes (those are merged) using a tree construction algorithm. The Merkle tree provides the capability of managing the data in a tamper-proof way, as it traverses down from the parent node towards the current node. For instance, if someone tries to alter the data of a node, the hash at the parent level are disturbed and the level above that, etc. up to the root, which makes it impossible for the attacker to change all the hashes at the time, and the tampering can be easily detected within the network.

Digital Signature
It uses cryptographic algorithms (public-private key cryptography, such as RSA or DSA) that can be used to establish the validity of the data within the network. It can also be used to verify the integrity of the data. In order to generate a digital signature, two keys are required a private key that is used by the generator to sign the document which is kept secret and the public key that is announced publicly, that can be used to verify that a certain private key has generated the digital signature. Then, a signing algorithm is required for actually putting a signature on the data using the available private key. Moreover, the signatures are verified using the verification algorithm. The digital signatures algorithms need to make sure that the signatures can be verified and cannot be forged.

Transactions
A block within the blockchain consists of the details of the transactions that happened in a particular time span. A transaction is one of the prominent parts of the block. It consists of the data that is being transmitted over the blockchain network along with the addresses of the sender and receiver. The sender applies the digital signature before sending it. The digital signature is applied on the hash value of the previous block. Next, the requested transaction is announced on the entire network, and the nodes calculate the current status of the node based on the data that they have so as to verify the transaction. The data of these transactions is time stamped-that means any change could be traced. Moreover, nothing can be changed in a blockchain; if a change is required a new transaction is requested instead of altering the existing one.

Consensus Mechanism
A blockchain network is distributed, and peer-to-peer connected, in which the transactional data are available to each and every node. The consensus mechanisms are imposed to ensure the security of the blockchain. Since each and every node owns a copy of the data, it is necessary to update it from time to time, and make sure that the data are consistent. The consensus mechanism is supposed to ensure that every node has an equal right and a new block can only be added to the network after these nodes agree to a consensus with proper participation and co-operation.

Inner Working of a Blockchain-Based System
A blockchain is a chain of blocks containing transactional data, connected using cryptographically generated hash pointers. Each of the blocks within the blockchain consists of data, timestamp of the data, generated hash value of data, hash value of previous block, etc. The blocks consist of information related to the transactions that happened in the given time-period. These transactions are made publicly available and are only carried out when the nodes of the network agree to via consensus mechanism that acts as a trust machine among the unknown parties. The transactions are also permanent, i.e., nobody can alter the data once entered the chain. The blockchain verifies itself on its own that makes it unique and trustworthy. A simple blockchain transaction can be carried out in following manner as shown in Figure 7 below: Blockchain technology supports distributed and decentralized networks, where all the nodes are equally important and have equal rights, and the data are stored in a secure fashion. Whenever a node requests a transaction, it is represented in the form of a block containing all the details regarding the transaction such as data, hash values, time stamp, etc. Then, this transaction is presented to every node of the network, which verifies the genuineness of the transaction by using the consensus mechanism. When the block is verified, it is added to the chain and the node that requested the transaction is notified that the transaction is complete. A blockchain is a huge chain that stores the transactions happening within the network so far in a distributed manner, which is what makes it better than other available platforms at ensuring security and fault tolerance.

Security Traits of Blockchain-Based Systems
The blockchain network is implemented in such a way that it assures data consistency and data provenance, tamperproof and auditability, it is pseudonymized, Distributed Denial of Service resistant, resistant to majority attacks, secure, private, and confidential. These properties make the blockchain network unique, transparent, and secure for handling online transactions. These security traits of the blockchain-based systems are described below.

Consistent Data
The consistency of the data in a blockchain network refers to the concept of ensuring the same copy of the data for every node of the network at every point of time. In the context of Bitcoin, the consistency of data is debatable as it is claimed to be weak as well as strong by different researchers [47,48]. A model for ensuring the data consistency is proposed for distributed networks (the Eventual Consistency Model) that provides a balance between the data's availability and consistency, which updates the data in a lazy manner and provides the readers with the updated values [49]. Eventual consistency does not mean that the data are made consistent straightaway; it only ensures that the data will be consistent eventually, with no restrictions on the time taken. However, such a model can provide stale data if the reader reads the node before the data update. In order to cope up with such situations, a consistency model must assure that no reading can be performed until all the nodes are updated, but the challenge here is cost with respect to availability. Therefore, the blockchain network stores the data transactions in blocks, and when a new request of transaction is received, the miner would add the request and start the proof of work mechanism, after which the block is sent to other nodes within the network to verify the transaction. Then, only that block is added to the blockchain and the other nodes accept it by making its hash the previous hash of their blocks.

Tamper-Resistant Data
The tamper-resistance of data ensures the ability of the data to resist any type of damage or interference in the data, system, or any product, intentionally or unintentionally. The blockchain is said to be tamper-resistant [50], which means that the information being stored or generated on the blocks of the blockchain can never be modified or tampered with in any case, neither while generating nor after the generation [51]. There could be two cases when the information can be tampered with; first, when the miner tries to modify the data or second, when the opponent tries to tamper it. The tampering can be controlled in a blockchain-based environment, as the transactions are secured using the hash function and digital signatures. Furthermore, the nodes of the network via mining verify the transaction. The first case is handled in such a situation, as when a miner would try to forge the signature or modify the content, it would not be possible, as he would not have the private key of the request generator. The second case when some opponent tries to tamper with the data would be handled the same way using the hash pointer and the cryptography. Were someone to try to change the data, the hashes of the other blocks would be affected, leading to a discrepancy in the hash values. Furthermore, the blockchain-based distributed network ensures that every node has a copy of the data, and it would not be possible for the attacker to modify the content in each and every copy within the network [52]. Conclusively, it is impossible to tamper with the data within the blockchain network without being noticed.

Pseudonymized Network
The blockchain network guarantees the pseudonymized identity of the users [53]. The public keys of the users within the network are stored in the form of hashes, which are the addresses of the data [54]. The nodes within the network communicate with the framework using these hashes (public keys) while protecting the actual identities of the users, thus making the addresses of the user nodes as their pseudoidentity. Furthermore, a person can have more than one pseudoidentity. The concept of pseudonymized network in blockchain-based systems makes the system more private and confidential for the users in application domains such as healthcare, finance, insurances, news sharing, etc. [54][55][56].

Distributed Denial of Service Attacks-Resistant Network
The distributed denial of service attack on the blockchain-distributed network refers to the unavailability of the resources for the intended users. The attacker floods the host with an overloaded of requests for the resources that results in a shortage of the resources for the legitimate users. In the blockchain, the multiple nodes within the network that are distributed throughout the globe can conduct the DDoS attacks. The attackers take control over some nodes of the network by exploiting the vulnerabilities of the system. It is rather difficult to control such attacks by simply blocking the nodes one at a time. The race in such situations depends on the rate of handling such compromised systems within the network. However, it is still a major concern to handle the availability of the blockchain, as in such a way that the attacker could not knock out the network (partially/wholly). Therefore, decentralized peer-to-peer connections are the solution provided to maintain the blockchain, which ensures that the blockchain network processes the transactions even when a few of the nodes within the network fail. Additionally, for the attacker to totally block the blockchain, more than half of the network nodes would have to be compromised, which is practically not possible [57,58].

Secure and Confidential Data
The security of the data in the blockchain refers to the authorized access and safe storage, while confidentiality refers to the privacy provided to the sensitive data. The blockchain was first proposed for handling digital currencies; however, its scope is much larger than that. It can be utilized for contract management, copyright handling, and the digitization of several other domains such as healthcare, sales, etc. [59,60]. The confidentiality of the transactions is one of the most critical aspects of the blockchain-based distributed network. In order to keep the nodes secure and confidential, the pseudoidentities are used in the blockchain. The aim of the security within the blockchain is to make sure that there is no malicious or nonmalicious attack on the data [61]. It covers the execution of several tools, policies, and services to ensure that the network is safe. The aim of confidentiality is to make sure that the transactions are being made within the system without making the nodes recognizable, which disables the capability of the adversary to copy the profile of an authentic user. One of the best ways to assure the security of the network is to add the blocks to the chain that is longest (having maximum number of blocks), that makes it difficult for the attacker to hack (majority attack) [62].

Security and Privacy Methods Used in Blockchain-Based Systems
Based on literature studies, a thorough discussion of the techniques that can be used to improve the privacy and security of blockchain-based systems is presented in this section.

Anonymous Digital Signatures
The types of digital signatures that can offer secrecy for the one who uses them are called anonymous digital signatures. Two such signatures are "group signature" [63] and "ring signature" [64], which can be used in blockchain-based systems for enhanced security and privacy. In the group signature technique, a group is formed, and the members have their private keys and a shared public key. Any of the group members can sign by using its private key on behalf of the group in an anonymous way, which can be verified by the other members using a shared public key. The verification can only find out about the membership of the signer to that group and no other personal detail or identity. It also has a group manager who is responsible for handling the disputes (if any occur), revealing the signer's identity, adding, or removing group members, etc. Such an anonymous digital signature schemes can be used in consortium blockchain; as certain nodes in such blockchain are responsible for managing it, those can also be selected as group manager. The ring signature technique is another anonymous digital signature mechanism, which is like a group signature as any member can sign on behalf of the group and can be verified using other members' public key. However, there are two differences; first there is no group manager, thus the identity of the signer can never be revealed, and second the group can be formed by the users themselves, hence, can be applied on public blockchain.

Mixing
As we know by now that the users within the blockchain uses pseudonyms to hide their real identity, but there is a possibility that the addresses corresponding to these pseudoidentities can be revealed by tracking down the transactions performed. Therefore, in order to prevent such situations, a mixing technique was proposed. In mixing, the assets of the users are mixed with one another, which creates confusion within the network. However, the identities can be concealed with this mechanism, but the theft of digital assets/data cannot be protected. One such technique is called Mixcoin, which was first described in 2014 [65] in which the mixing was performed on cryptocurrencies like Bitcoin and others. In order to guard the digital assets from challengers/attackers, Mixcoin conceals the users by mixing the currency concurrently. Mixcoin delivers anonymity like conventional communication mixing techniques and also utilizes a mechanism for accountability to uncover theft of assets. CoinJoin is another technique that was proposed in 2013 [66] that was based on the concept of a joint payment in which if more than one user wants to make a transaction, they both make it jointly which reduces the chances in which one can trace the user's details. An extension of CoinJoin named CoinShuffle [67] eliminates the need of a third party for mixing of the transactions. It is based on a completely decentralized framework that abolishes the chances of theft and assures anonymity using Dissent [68], which is an anonymous communications protocol for a group. The cryptocurrency Dash [69,70], a fork of original Bitcoin cryptocurrency, has CoinJoin mixing built into the core of the protocol, and calls it PrivateSend. In Dash, users can automatically mix their wallets, increasing the anonymity of their funds and the support for mixing is part of the core protocol [71].

Homomorphic Encryption Algorithms
Homomorphic encryption is a cryptographic technique that has this special property of allowing the computations to be performed on the cipher text itself [72]. That means that in order to perform some operation on the data, it is not necessary to convert it into plaintext. Furthermore, it also ensures that when the same operation is performed on the same encrypted data after decryption, i.e., reverted to the plaintext, the result generated is the same as the result generated on the cipher text. Homomorphic cryptography can be easily used on the data in the blockchain without any kind of changes in the blockchain features, which assures the privacy of the data in the public blockchain and allows auditing and managing of the data in encrypted form only. Several cryptosystems already use this technique [73,74]. An Ethereum smart contract also offers the privacy and security of the data on blockchain using Homomorphic encryption technique.

Secure Multiparty Computation Protocol
This is a model that has a protocol for multiple parties that help in carrying out some joint computations on the private data of those parties, and the output is provided without leaking anything about their data (maintaining the privacy). Initially the protocol was designed for two parties only [75], which was then generalized for multiple parties [76], and it allows sharing in a secretive manner. This generalized version has been used for many MPC mechanisms for applications such as voting, bidding, auction, etc. The MPC has been adopted by blockchain-based systems in the past few years for applications such as "multiparty lottery system" [77] that ensure fairness without any authority. Another such blockchain-based system working on SMPC named "Enigma" [78] offers a scheme for sharing the data secretly using the concept of a hash table in a distributed manner and utilizes the concepts of the blockchain externally for keeping a record of the network in a peer-to-peer decentralized manner. The framework of Enigma is quite like that of Bitcoin, which facilitates autonomous data transactions without any intermediary.

Attribute Based Encryption Algorithm
The Attribute Based Encryption (ABE) is a cryptographic algorithm that uses the attributes as regulatory factors for the cipher text, which was encrypted using the user's private key [79,80]. The text data can be decrypted only when the attributes of the decoders are matched with the encrypted data. The resistance from the collisions is the default property of this scheme that makes sure that the malicious or nonauthentic user can only access the data which can be decrypted from its private key. It was first proposed with one authority only, which has been extended a few times supporting multiple authoritative parties [81], arbitrary predicates [82], etc. The ABE is an influential technique but has not been applied to many applications because of the lack of knowledge regarding its concepts as well as its implementation details. It can be used for deployment on blockchain; by considering the tokens (privileges issued to the node) as tracking agents by the authorities that are responsible for the distribution of those tokens, these tokens should be considered as nontransferable. The implementation of this concept has still not been done on blockchain and remains an open challenge for researchers and coders.

Non Interactive Zero-Knowledge Proof System
Non Interactive Zero Knowledge (NIZK) is a powerful technology for cryptography that preserves the privacy of the system using the concept of zero-knowledge proofs [83]. The concept behind it is that a program can be executed with some unknown (private) input data and the output (public), which is generated without disclosing any other detail about the data or users; which means a user can prove about some claim to be true by proving it without revealing the actual data. A variant of NIZK system [84] suggested that a zero-knowledge computational knowledge could be achieved without any type of interactions among the users. The same concept can also be leveraged in a blockchainbased system as the data within the blocks are stored after encrypting-thus, a user can make the transaction by using the NIZK proof without revealing the actual data. An extension called ZoE (Zerocash over Ethereum), which is also available on GitHub, serves as a smart contract for the verification of the transactions while maintaining the privacy of the users [85,86].

Blockchain-Based Industrial Applications
Blockchain technology has a vast range of features that can be used for managing transactional records in any type of industry. The way it protects and secures the data with transparency and ensuring its integrity makes it a perfect choice for applications where sensitive data are involved. As the blockchain works on a distributed network platform, every node within the network holds a copy of the data, which makes it difficult for the attacker to modify or tamper with it. Blockchain is changing the means of information sharing over the internet and is being adopted by several industries globally for conducting business transactions in a secure manner. Some of these applications are discussed in this paper and depicted in Figure 8 below:

Supply Chain
Counterfeit products are one of the biggest issues for every type of industry, as they generate poor customer satisfaction rates, unreliability among stakeholders and downfall in the market economy [87]. The implementation of blockchain-based platforms would minimize the gap between the manufacturers and end users by making the entire process of development and supply chain transparent. Since the entries within the blockchain are tamper-proof and time stamped, it becomes difficult for the intruders to engage in foul play with the products. Currently, the reliance of the quality of the product is based on the documents provided by the manufacturer, but such documents can also be tampered. Implementing blockchain would ensure that the data are secure from any kind of theft, breach, or alteration by providing total traceability of the data along with time stamping. Maintaining the supply chain is an important aspect for every industry, and it is important to keep track of the products throughout the manufacturing and delivery. The traditional supply chains handle the complexities of the system, but they are slow and expensive, and cannot provide real time tracking of the system because of fragmented infrastructure at the customer and manufacturer ends [88].
Due to the limitations in technical knowledge, and the lack of skills and awareness, the implementation of blockchain in the field of supply chains is quite slow. These challenges are hindering the popularity and adoption of the blockchain by the organizations. Although there are several startups that are entirely based on blockchain technology, the field of supply chains is still evolving [89]. Currently IBM provides solutions for managing the supply chain via permissioned blockchain. There are several startups that aims to manage the supply chain via blockchain technology, some of the prominent ones are: Everledger, which tracks the provenance of the diamonds and luxury articles [90]; Openport [91], which helps in connecting carriers and shippers in a cost-effective and optimized manner; Skuchain, which works [92,93] on the concepts of cryptography used in Bitcoin to provide secure and visible management of supply chains at a global level; and Origin Trail, which provides the exchange of data among supply chains that are interconnected to one another. The blockchain can provide solutions to various challenges within the supply chain, as mentioned in Table 1 below:

Challenges Possible Solutions
Counterfeit products leading to poor customer satisfaction [37] Tamper-proof records and transactions [37] Difficult tracking of products [94] Time stamping enabled tracking of products [94] Authentication dependency on documents [95] Keeping records in immutable ledger [95] Difficult tracking in real time [96] Decentralized-Distributed ledger for efficiency [96]

Healthcare
The healthcare industry is said to be an important industry for any country. Traditionally, healthcare data was stored and managed manually on paper, and then, with the emergence of cloud environments, the records were shifted to a central storage facility where only authentic and authorized users can access the data. The privacy and security of the healthcare data are a concern, as healthcare data consists of personal information that is confidential and vulnerable [97]. Blockchain technology has the ability to provide a transparent and secure platform for storing and analyzing medical data in an efficient manner [98]. The new era of healthcare (called smart healthcare) requires the remote and real time collection of heterogeneous data from a large number of patients via different sensors and wearable devices. These data are generated at high speed and need to be monitored, transmitted and handled in a secure way, as they is shared among different stakeholders like doctors, patients, path labs, chemists, etc. for better decision making to provide intelligent and smart diagnosis and treatment. However, there are some patients who are unwilling to share their personal details to a distributed network and some hospitals are also reluctant to share the exact details of the medications with the insurance companies-thus, the interoperability between the two organizations could become difficult [99]. Researchers have conducted studies on secure healthcare data management [100], healthcare records management [101] and healthcare image sharing [102], etc.
Currently the electronic health records are stored digitally, and the systems are centralized on a small scale. In order to make block chain technology successful, multiple funds providers, healthcare researchers and health ministries will have to work in alliance for the transformation of the healthcare sector, as it is so going to highly benefit the end users. There are several startups that aim to provide healthcare solutions via blockchain technology-some of the them are: Patientory, which manages the patient, healthcare institution and healthcare provider's data and allows the users to track history, insurance, bills, medications, etc.; Nebula Genomics, which is designing a platform based on blockchain that is going to provide the management of genomic data and will allow the buyers to obtain it in a secure manner; Doc.AI, which utilizes the blockchain concepts to obtain insights from the available medical data; and Medical-chain, which stores health records in the blockchain and helps in sharing them among several stakeholders along with supporting telemedicine facility [103,104]. The blockchain can provide solutions to various challenges within the healthcare industry besides diagnosis and treatment, as mentioned in Table 2 below: Table 2. Blockchain for Healthcare.

Challenges Possible Solutions
Sharing of Electronic Health Records (EHRs) [105] Access control mechanisms [105] Handling voluminous and complex data [106] Immutable data records [106] Inconsistency and heterogeneity in data [107] Linking multiple data files to a single patient [107] Data confidentiality and security [108] Actual information is replaced by hash keys that point towards the location of data [108] Counterfeit drugs [109] Immutable and Time-Stamped transactions to track dealers and manufacturers [109]

Internet of Things (IoT)
With the emergence of smart devices and sensors, the IoT has become one of the most widely researched domains within the IT sector in the past few years. The number of IoT devices is continuously increasing and is estimated to reach half a trillion in the coming years. The IoT is not only limited to smart homes or devices but is expanding its implications in other areas and at a larger scale as well. In upcoming times, the internet is going to be denser and tightly connected. Therefore, it is necessary to have a network that is secure and safe, as its failure would cause the loss of confidential information, which is the most precious asset for organizations as well as individuals. The main areas of concern for the IoT domain are the transactions among the devices and servers and with the storages. Additionally, if the sustainable and smart world were to be made, the amalgamation of the blockchain with IoT with distributed network would provide safer data transactions. Moreover, there are no intermediaries in blockchain-based models, which would make the transactions faster and cheaper [110].
There are several types of attacks that can affect the overall performance of the IoT [111]. One such attack is an identity theft attack or impersonation attack, in which the hacker creates a number of fake anonymous identities, which he later attaches to any of the real users' identities, using malicious code during an unprotected data access or data transfer portal. Then, the hacker uses this anonymous identity to replace the real one and executes it as if he is the real end user. Thereby, he uses his tools to unlock the personal and sensitive information of the real user to his own advantage. Another such attack is a manipulation attack, a quite common attack viz. Man in the Middle (MITM), which is is generally used by a hacker with a fake public-key [112]. A similar type of manipulation attack could also be made by the injection of false data into the system of the prey user [113].In the cases of Distributed Denial of Services (DDoS) attack, the connectivity of services or access to a particular service (like sign-in or login) is strategically denied for a particular node or server or computer system on the grid, so that the hacker's objective is achieved by the delay during which DDoS was in execution [114,115]. Therefore, the Blockchain platform must have some stringent security protocols to guard the sensitive and personal information from being accessed by unauthorized users [116,117]. There are several organizations that offer IoT solutions via blockchain technology-some of the them are: Helium, which connects low power IoT devices to the internet through a blockchain network; ArcTouch, which develops software based on blockchain technology for connected IoT devices; NetObjex, which created a platform for IoT devices within the same network to connect and communicate with each other; XAGE, which provides a platform for industries like agriculture, utilities, transportation, etc. to securely access smart devices through blockchain connectivity. Some of the challenges of the IoT that can be addressed by blockchain are stated in Table 3 below:  Table 3. Blockchain for IoT.

Challenges Possible Solutions
Maintenance of large number of devices [118] Peer-to-Peer connection [118] Attacks on central storages [119] Data distributed among the nodes of the network [119] Risk of forging [120] Consensus mechanisms [120] 5.4. Governance The government of any nation always has access to and control of the information about its citizens and government organizations. A blockchain-based framework could be used for integrating the services and infrastructures in a secure and decentralized manner. The blockchain could be used to provide facilities by the government such as voting, the handling of legal documents, marriage registration, contracts, etc. [121]. Some the projects have already been deployed using blockchain technology; for instance, the World Citizen Project [122], is a blockchain-based framework that handles citizens' data at global level. The internet is taking over lives in every aspect, from healthcare to insurance, from personal identity to professional credentials. Everything is on the internet, thus, making the security and confidentiality of the personal information is a concern for everyone (individuals as well as organizations). Subsequently, blockchain would be a smart choice as it provides the secure integration and transmission of data over the internet. Blockchain can be used to facilitate services such as handling property transactions [123], electronic voting [124], tax management [125] and electronic residents management [126], etc. However, all these facilities are available today but in a centralized framework that could be breached or hacked easily. There are a few organizations that provide digital governance via blockchain technology, some of them are as follows: Exonum [127] provides the online registry of land titles via blockchain network, Blockcerts [128] that allows the secure sharing and storing of academic certificates in the blockchain, Chromaway [129] utilizes blockchain technology for providing transparent property transactions. Conclusively, moving the governance towards the blockchain would assure the security and privacy of the data along with cost effectiveness in implementation, few challenges that can be addressed by blockchain are depicted in Table 4 below: Table 4. Blockchain for Governance.

Challenges Possible Solutions
Selling/Renting property [130] Immutable and Time-Stamped transactions to track and manage assets [130] Notary/Attestation [131] Secure automated mechanisms following consensus protocols [131] Citizen identity data management [132] Actual information is replaced by hash keys that point towards the location of data [132]

Finance
The concept of blockchain was first introduced for supporting Bitcoin, which was the first digital currency ever. It is now making its way into every industry including banking and finance. Blockchain has applications such as asset management, stock markets, banking, etc. [133,134]. The banking sector undergoes thousands of transactions per minute that involve dealing with the money or other valuable assets, which makes blockchain a prime choice for this industry. The advantages of blockchain-based frameworks are more storage for data, less energy consumption, more speed and efficiency [135]. Blockchain can facilitate various areas of applications within finance, such as handling payments, managing loans, cryptocurrencies, etc. [136,137]. Blockchain promotes the working of the users on a transparent platform at a low cost of operations. Moreover, there is no need for any third-party intervention, thus eliminating any vulnerabilities from the system. It can optimize the network by reducing the transactional costs. Furthermore, the blockchain can also be used for providing standard guidelines and regulations to the stakeholders for proper and transparent functioning of the industry. Some of the currently available finance solutions based on blockchain are: We.Trade [138], which provides a trading environment for enterprises and banks; Robinhood, which allows customers to invest their money in the stock market, cryptocurrencies and mutual funds for no cost via the blockchain network; Ripple, which provides the delivery of any currency to any part of the globe in no time; BitPay [139], which aims at increasing the usage of and popularizing cryptocurrencies by accepting payment in Bitcoins. Some of the challenges faced by the finance sector that blockchain can address are mentioned in Table 5 below: Table 5. Blockchain for Finance.

Challenges Possible Solutions
Digitization of currencies [140] Distributed-Decentralized secure network with time-stamped immutable transactions [140] Handling assets transmission [141] Immutable and Time-Stamped transactions to track and manage assets [141] Managing guidelines and regulations [140] Secure automated mechanisms for implementing consensus protocols [140]

Manufacturing Business
The procedure of manufacturing something involves several aspects including proper planning, managing operations, managing assets, manufacturing intelligence, interactions between humans and machines, the optimization and monitoring of performance, and visibility. The privacy of data is one of the prominent concerns of the manufacturing and business domains. The systems and frameworks may face data breaches, leaks, theft, eavesdropping, unauthorized access, etc. With blockchain, all these concerns can be addressed as the network stores the records of the data in an immutable chain of blocks that are time stamped, secure, transparent, and managed using consensus mechanisms. The blockchain can be used for handling supply chains, verifying online payments, commercial marketing, etc. [142,143]. Moreover, vending machines can also be handled using blockchain for maintaining the log of availability of the products. Reputation systems can also be implemented using the blockchain network, which are used to rate the products or sites on the basis of customer experiences.
Data management is an important aspect for any type of business, and blockchain can be used for this purpose to handle the data in a decentralized and cost-effective way. Furthermore, bidding and contracts are also an aspect of the business domain that needs to be secured and transparent, which can be implemented using blockchain, which would eliminate third party/human involvement, hence reducing the chances of any discrepancy or unnecessary costs [144,145]. Currently Samsung and Maersk are using a blockchain-based distributed network to trace their international shipments. Moreover, the U.S Air Force and Navy also use blockchain for additive manufacturing and controlling 3D printers, respectively. Table 6 below gives a brief about the current challenges in the business/manufacturing industry and the blockchain-based solutions for the same.

Concluding Remarks
Blockchain technology that was first proposed as a backbone for implementation of the first digital currency and is now being deployed in various application domains because of its unique properties that assure the secure, transparent and confidential transactions of data in a peer-to-peer manner within a distributed network. The features such as time-stamped data, digital signatures, consensus mechanism, cryptographic hashing, etc. provided by the blockchain make it an extremely secure framework for handling data transactions without any intermediaries. Apart from this, the blockchain offers certain properties such as pseudoidentity, tamper-resistance, data consistency and confidentiality, etc. that assure the security and privacy of the data on the network, thus making the blockchain system more secure. A thorough analysis of blockchain and its contribution is presented in this paper.
This study highlighted the blockchain-based applications in several industrial domains, such as supply chains, where it can efficiently handle the marketing of counterfeit products by keeping track of the entire supply chain mechanism in a time-stamped and tamper-proof manner in real time. We have also discussed how blockchain can also be leveraged in the healthcare domain for securely sharing and confidentially storing Electronic Health Records (EHRs). The blockchain could also provide solutions for the challenges faced by the IoT industry by maintaining large numbers of devices in a distributed and peer-to-peer manner. The governance sector can also benefit from blockchain technology by providing secure mechanisms for the tracking and management of assets and identities. Manufacturing is a domain which consists of several steps such as planning, managing operations and assets, interacting with resources (human and mechanical), monitoring of performances, etc. making data security a big concern. The study suggests that blockchain technology can provide secure solutions to every aspect of the manufacturing process, from the management of supply chains, to verifying online payments, to commercial marketing. However, the sector in which blockchain technology has the most potential includes banking and finance. It is capable of facilitating several applications such as handling payments, managing loans, digitizing currencies, transmitting assets, etc. The smart contract can be employed in future for various processes such as documents' provenance, ownership rights, digital or physical assets or to stop fraud. Likewise, in other industries like the diamond industry, the digital ledger for diamond identification and transaction verification could enable more transparency to be brought into the very opaque diamond market. For the reasons that are discussed in this paper, it is clear that blockchain technology has huge potential to transform almost all industrial sectors. As such, making use of this reliable, trusted technology could contribute to the development of a safer, more secure, and more transparent working environment in all the industrial sectors.