1 Introduction

The recent years has witnessed the improvement of Blockchain technology. Blockchain is a stable digital ledger system applied in a distributed environment without a central authority as defined by National Institute of Standards and Technology (NIST) [1]. It allows the untrusted parities to have a consensus (agreement) on the common digital ledger (history) while eliminating the need of a trusted intermediary such as Visa or MasterCard. The digital assets and transactions are protected from being faked or duplicated by using this immutable digital ledger [2]. Blockchain was proposed by Nakamoto in 2008 [3], as a Bitcoin system, then it was extended to be deployed in many fields and applications including financial [4], governance [5], education [6], security and privacy [7], and Internet of things (IoT) [8]. Blockchain technology combines numerous mechanisms including asymmetric cryptography, hash functions, consensus protocols, and game theory. Consensus mechanisms is one of the main techniques in blockchain technology leads to an agreement on the state of the ledger. Proof of work (PoW) was the first proposed consensus protocol by Nakamoto [3], and then it has been extended to other versions varying in complexity, energy consumption and other factors. Examples of other versions are proof of stake (PoS), proof of burn (PoB), and practical byzantine fault tolerance (PBFT). Blockchain technology combines many unique features which helps in its wide deployment such as security, privacy, data integrity, decentralization, immutability, and traceability.

Integrating blockchain with Internet of things (IoT) technology is getting more attention nowadays. It is expected that by 2025 and 2030 more than 21 and 29 billion IoT devices (respectively) will be used especially with use of cloud, fog and edge computing architectures [9] [10]. The use of IoT technology is expanding through many fields and adopted in many applications including smart cities [11], smart healthcare [12] and smart industry [13]. It is known that IoT is a highly distributed network that joins many heterogeneous IoT devices and objects over the internet [14]. Currently, most of IoT implementations rely on centralized management architecture, while the new proposals suggest the decentralized architecture to be adopted. However, the issues regarding security and privacy appeared and should be addressed [15]. IoT devices have low computing power resources, limited storing capability and network bandwidth. This resource constraint leaves IoT devices vulnerable to malicious attacks. Furthermore, IoT end-node devices have limited battery power, and hence energy efficiency is a major design concern [15]. In general, energy is the most challenging and vital resource in resource-constrained devices [16].

Blockchain based-IoT can potentially improve security and privacy, speed and costs, traceability and reliability, and eliminates single point of failure [16, 17]. In contrast, many issues and challenges have arisen including processing power and time, storage capabilities, scalability, and consensus algorithms. Blockchain needs massive resources and high computation capabilities for communication processes, validation and mining processes which is considered as one of the main challenges when deploying blockchain in IoT architecture. Most of the consensus protocols used for the blockchain need huge computational capabilities and as a result they are not suitable for resource-constrained devices [18].

The IoT device has low battery capability and hence IoT network connectivity is limited, however blockchain is intended for balance and steady network connection [17]. As blockchain is a distributed ledger, it eliminates the needs for storing the data on a central server, and so data is distributed and stored on the nodes. These nodes are the IoT devices which has a low storage capability [19].

Many studies and reviews examined these issues and proposed solutions on how to adapt blockchain in IoT environments and devices including [15, 19,20,21,22,23]. Some techniques and mechanisms were proposed for effective integration of blockchain concept in lightweight IoT devices such as lightweight consensus protocol for low-power IoT devices as in [24]. Others focused on an energy efficiency mechanism based on optimizing the allocation of cache, computation and communication resources in blockchain based IoT network as proposed in [25]. Some considered a green blockchain framework which take into consideration the resource limitation of edge computing as in [26]. A lightweight authentication and access control technique for ensuring secure communication between IoT devices is presented in some works such as [27]. A decentralized secure technique based on the blockchain technique is proposed to solve data reliability, security and privacy concerns of IoT-cloud based system as presented in [28]. A comprehensive review for the recent lightweight solutions which efficiently integrate blockchain in lightweight IoT devices is presented and discussed in detail in Sect. 5.

However, there is still a gap in considering the lightweight framework and techniques for energy efficient implementations while providing the required level of security. Special implementations should be considered with IoT constrained devices as most of the blockchain techniques are not suitable and are not optimized for constrained resources’ environments. Most of the solutions suggested by these reviews are considered “potential” solutions, and not based on real implementations or evaluation. The hardware platform perspective is not discussed as an important factor in blockchain-based IoT implementation.

The lightweight implementations targeting the IoT constrained devices that are deploying blockchain technology should study four main issues (as shown in Fig. 1): the framework or the architecture type, energy efficiency, security and privacy, hardware devices. The system architecture should be fine tuned to suite the IoT architecture and its components, as discussed in Sect. 4.1. Energy and Security are the main factors to be considered while integrating the blockchain with IoT technology due to the limitations and constraints of the IoT devices. Hardware devices include the hardware mining platform and IoT end device. They should be chosen carefully while considering the other factors such as energy, security, power consumption, latency, etc. More explanation on this point is in Sects. 4.3 and 5.3.

Fig. 1
figure 1

Lightweight solutions dominant issues

Our main contributions in this review are summarized as follows:

  • Conduct a comprehensive review on lightweight solutions and techniques proposed and implemented in literature.

  • Classify and analyze surveyed techniques, discuss the advantages and limitations.

  • Present Blockchain technology concepts, workflow, characteristics and its applications.

  • Examine the advantages and challenges of the convergence of blockchain and IoT technologies.

  • Present guidelines and conclusions to better implement efficient lightweight techniques in IoT devices deployed in blockchain technology.

To the best of our knowledge, this is the first work focuses on the lightweight solutions for blockchain based-IoT environments from energy, security and hardware perspectives.

The rest of the paper is organized as follows. Section 2 presents the blockchain technology concepts, architecture and algorithms. Section 3 discusses the existing work in the literature regarding blockchain and IoT convergence. The integration of blockchain with IoT is illustrated in Sect. 4. Section 5 reviews the recent advances and lightweight solutions for efficient implement blockchain with IoT. Summary and discussion are presented in Sect. 6. Finally, the paper is concluded in Sect. 7.

2 Blockchain Concepts and Background

In this section, we discuss the following blockchain topics: architecture, structure, transaction workflow, cryptography algorithms, consensus, and characteristics.

2.1 Overview

The concept of blockchain was introduced in 2008 by Nakamoto in [3], and was proposed for the cryptocurrency Bitcoin. Bitcoin is a peer-to-peer electronic cash system that allows safe cash transactions and online payment without a third party control (e.g. a bank or financial institution) using cryptography technology instead for validation and trust aims. Blockchain technology depends on distributed computing and decentralized data sharing environments to record transactions over many users [29]. In 2013, Ethereum platform was introduced in [30], which allows blockchain to realize various types of transactions called smart contracts [31, 32]. Ethereum has many distinctive advantages including secure, private, fast, decentralized and immutable transactions, reliable platform, adaptability and fault tolerance that enable the blockchain to be applied in other applications including industry, IoTs, medical, identity management, and government [23, 29]. The development of blockchain went through three main phases; 1.0, 2.0, and 3.0 which are formed by bitcoin, smart contract and decentralized applications (DApps), respectively.

Recently, there are projects indicate that the next phase of blockchain (blockchain 4.0) is coming with more features and improvements over phase 3.0 such as InterValue and Seele [33, 34]. This phase concentrates more on scalability, flexibility and usability, and incorporating real world industrial applications [33]. Additionally, more improvements in terms of underlying P2P network, data structure, consensus algorithm and transaction anonymity.

Blockchain is also named as distributed ledger technology (DLT), as the transactions among peers/nodes in the peer-to-peer network (P2P) are stored as a chain list of data structure known as blocks [35]. When a new transaction is generated, all nodes in the network participate in block validation. A copy of this transaction at each instant is distributed, stored in and updated by each blockchain peer in the network. Altering any of created block can easily be noticed by other nodes in the network [20]. Based on data managements and application type, blockchain is classified into three categories: (1) private blockchain (permission), (2) public blockchain (permissionless), (3) consortium blockchain (community) [36]. Private blockchains require a centralized trusted organization to manage and control the authorization process in the P2P network. However, public blockchains allow anyone to access the P2P network. Consortium blockchains lies in between public and private blockchains.

2.2 Blockchain Architecture

Figure 2 displays the architecture of blockchain technology which consists of four main layers: data layer, network layer, consensus layer and application layer [23]. Each layer has its own purpose and responsibility.

Fig. 2
figure 2

Blockchain architecture layers

2.2.1 Data Layer

The data layer is concerning about structuring, organizing and storing of data. A data block is the basic element of blockchain structure that is used for storing transaction data and block information. Blocks are connected by their hash values to form the chain structure (i.e., blockchain). Each block has a hash of the prior block which indicates its information and has a unique cryptographic hash value. The main data part to organize and store data is the Merkle tree. It assures security, authenticity, integrity and data non-repudiation [37]. As blockchain is used in open untrusted networks and transactions are recorded in all nodes, cryptography is another major part to protect data layer from privacy leakage and to ensure high level of security and verification. The main cryptography algorithms applied in blockchain are asymmetric encryption and hash algorithms [23, 37].

2.2.2 Network Layer

A peer-to-peer (P2P) network is used to apply and manage blockchain nodes which are either miners or users. Each node is responsible for transmitting, recording and verifying data. Nodes can access, leave the network at any time and communicate with each other with no control of a central organization and without disturbing the blockchain operation. Nodes share the same features such as equality, autonomy, distributed [23]. Each node can broadcast the block and transaction information and ensure the integrity and correctness of data being processed. A copy of block and transaction information is stored in each node after verification.

2.2.3 Consensus Layer

Consensus mechanism is a major part of blockchain technology due to its decentralized nature. It ensures and validates the trustfulness of the information stored in all nodes in P2P distributed network. Various consensus procedures are offered to attain different business requirements and to improve blockchain performance [37]. These procedures is divided into two groups: (1) Proof of Work (PoW), Proof of Stake (PoS), Delegated Proof-of-Stake (DPoS) and their alternatives; and (2) Byzantine fault tolerant (BFT) and its alternatives [23]. Details of consensus procedures and algorithms are described in Sect. 2.6.

2.2.4 Application Layer

An application layer is built on the top network layer as it contains the services and the application platforms accessed by clients. It consists of general applications and an extension layer. The extension layer includes smart contract, sidechain and many other technologies [23]. This layer allows blockchain to be widely applied on many applications and add many functions to it. General applications include many application fields, starting from fintech, payment, supply chain management, government, security and privacy services ending by cloud, IoT, artificial intelligence and much more.

2.3 Blockchain Structure

The blockchain structure, shown in Fig. 3, comprises of a sequence of consecutively-connected blocks. A hash function is used to recognize each block which is connected to the prior one called parent block by its hash values (except the first block) to form a linked chain list structure of all data [38]. For example, block i contains the hash of block i-1. This important property ensures the immutability of blockchain ledger, any attempt to alter the content of one block means changing all the afterward blocks in chain. Genesis block is the first block in the chain list which has no parent and all the following blocks are linked to it. The hash of the previous block in the genesis block is always initialized to zeros. A block involves a header and transaction data part [29]. Block header contains the following information:

  • Block hash is created by hashing the earlier block header which is considered as a digital fingerprint. It is calculated by each node as the block arrived to the network [39].

  • Block version specifies the version of blockchain validation protocol.

  • Prev hash is the hash of the parent block; which is the preceding block of the current block.

  • Timestamp records current time in seconds

  • Merkle tree root hash is derived by frequently combining and hashing the pairs of blocks hash values and then hashing them again to gain the single hash value known as Merkle Root or Root hash value [40]. Figure 4 shows the Merkle tree and the process of obtaining the Merkle Root hash value. This hash tree guarantees the integrity of data and verifies all transactions included in the block.

  • Nonce is a value that miners try to find to meet a target hash requirement.

  • nBits specifies current hashing target in a compact format.

Fig. 3
figure 3

Blockchain structure

Fig. 4
figure 4

Merkle tree

The data transaction part indicates the following:

  • The transaction counter indicates transaction number, and the transaction number depends on block size [41].

  • Transactions shows the list of the relevant transactions included in that block. The maximum number of transactions rely on the block size and the size of each transaction [38].

2.4 Transaction Workflow

Blockchain transaction process is the process of transferring financial value or execution of a smart contract depending on the application [40]. Each transaction is digitally signed and recorded in blockchain ledger and is considered as an open record [23]. In blockchain P2P network, user has two keys: (1) private key, (2) public key. The private key is used for encrypting and signing the transaction, while the public key is used by other users for decrypting and verifying transaction. Figure 5 shows the workflow steps of transaction process, which are the following:

  1. 1.

    Transaction signature Initially, a hashed value is generated from transaction data using hashing function for verifying the data integrity later on. User then encrypt the hashing value using the user’s private key and the output is known as a transaction digital signature. The original transaction and digital signature are then broadcasted to other peers in P2P network.

  2. 2.

    Transaction validation When peers receive the signed transaction,

    • they validate it by two steps:

      • decrypting it with the user’s public key (i.e., user authentication) and

      • hashing the transaction data by the same hash function and comparing it with the decrypted signature (i.e., data integrity) [40].

    • After the transaction is validated, it is broadcasted over network nodes. The transaction is validated mutually by the involved parties to reach consensus agreement [29].

  3. 3.

    Block generation A selected node based on the consensus called miner which is the block generators node in the network verifies the valid transaction. The hash Merkle root value is then calculated to join the transaction with the Merkle root and the block hash is generated. The valid transaction is included into a timestamped block and is spread back to the network by the miner (mining process).

  4. 4.

    Block validation Validating nodes are responsible for verifying the block validation by confirming the correctness of the following: (1) the block hash, (2) the parent block hash value, (3) the block timestamp to be larger than the timestamp of parent/previous block, (4) the validity of all transactions involved in the block, (5) the block height and size. The generated block is then added to the blockchain and each node has a copy of the updated blockchain.

Fig. 5
figure 5

The workflow steps of transaction process

2.5 Cryptography/Hash Algorithms

Cryptographic techniques are the foundation of blockchain technology due to its openness, public and untrusted features. Each node has a complete reduplication of the ledger which may cause privacy leakage [23]. Additionally, the ownership of user’s digital assets are not easily proven like physical currency which requires cryptographic technique such as digital signature to ensure the user’s ownership of digital assets [23].

The main cryptographic components used in blockchain are hash algorithms and asymmetric encryption to assure high level of data security, privacy and verification. A hash is known as unidirectional cryptographic function. An input data of arbitrary value and arbitrary length is processed and mapped to a fixed-length output of bit string by the hash function [35]. An example of the hash function is Secure Hash Algorithm 256 (SHA-256) which is a part of SHA2 family. Hashing is used to chain and connect blocks together as the newly block generated holds the hash of the previous block. Moreover, each block holds the Merkle tree hash root, which records all transactions. Hashing guarantee data integrity in blockchain by these two features. Any alteration can be easily detected [20]. Asymmetric encryption (i.e. public key cryptography) has two keys: public key and private key. Public key is shared, while private key is kept secret by the user. Asymmetric encryption is used for user’s authentication, signature and encryption [37] by applying the digital signature algorithms e.g. Elliptic curve digital signature algorithm (ECDSA) [42].

2.6 Consensus

Consensus is one of the main component in blockchain technology and it is defined as a group of mechanisms and protocols to ensure the accuracy, trustfulness, consistency, authenticity and reliability of the records distributed over nodes in the network [37, 43]. The target of consensus protocols is to get an agreement on the newly-generated block to avoid confusion and duplication of transactions between many nodes. Several consensus protocols are available and applied according to the application and type of network used. Consensus protocols vary in performance aspects including energy efficiency, scalability, speed of transactions, and immutability of records [44]. Consensus mechanisms can be divided into two groups: (1) probabilistic mechanisms, (2) deterministic mechanisms. In probabilistic mechanisms which is also knows as proof-based consensus algorithm, the validated block is first saved to the chain by one node (miner) that has the sufficient proof and then the consensus of all the nodes is sought. In deterministic consensus, which also called a voting-based consensus algorithm, the validated block is first consented by a number of verified nodes (miners) and then saved to the chain [20]. Examples of probabilistic consensus include: PoW, PoS and their variants. Deterministic consensus mechanisms include: PBFT and PBFT variants. A description of the main consensus mechanisms is shown in the next subsections.

2.6.1 Proof of Work

Proof of work (PoW) is the original consensus mechanism proposed by Nakamoto [3]. To add the validated block to the blockchain by validating nodes using PoW mechanism, a complex puzzle should be solved. The node which succeeds in solving the puzzle first will append the block to the chain and this node is known as a miner. If more than one node solves the puzzle at approximately same time, a fork (or bifurcation) problem usually results. Fork is about getting more than one chain at the same time and this problem is mostly solved by considering the longest fork chain and discarding the shorter chains as shown simply in Fig. 6 [45]. Then, all nodes should follow this longest fork chain. When the block is recognized in the chain by all nodes, the miner successfully appends the block to the chain will be rewarded by getting some bitcoins. A hard computational work is required by PoW mechanism to solve the puzzle which result in high energy consumption and resource-waste [20, 38] and low throughput [23].

Fig. 6
figure 6

Forking problem

2.6.2 Proof of Stake

Unlike PoW mechanism, Proof of stake (PoS) gives the priority of validating block to the nodes with more stakes or cryptocurrencies as they are more trustful than those nodes with fewer stakes [20]. Stakes are used to decide which node will add the block to the chain. PoS mechanism is a good alternative of PoW as it reduces the consumed recourses and energy, and achieves higher transactions throughput. Mining process and miners in PoS are known as forging and forgers. Two ways are used to decide the next forger: (1) coin age-based selection depending on the larger and older set of coins owned, (2) randomized block selection based on the lowest hash value using the private key of the forger [38, 40].

2.6.3 Practical Byzantine Fault Tolerance (PBFT)

Practical byzantine fault tolerance (PBFT) is a replication algorithm used to tolerate byzantine faults proposed by Castro and Liskov [17] which was used for Hyperledger Fabric. It depends on a voting process, where each node with equal right to vote, votes for the consensus until the consensus is determined. There is no hashing or mining process in PBFT, which saves energy efficiently.

2.7 Characteristics

Blockchain technology had the following characteristics:

  • Decentralization Transactions in blockchain technology does not rely on a trusted third party to validate and control the transactions over the network as in the traditional transaction management systems. Instead, all nodes can be involved and participate using consensus protocols, which eliminates the risks of centralized systems like single point of failure (SPF), performance bottleneck and the service cost [20].

  • Immutability A block of transaction in blockchain is linked with the earlier block with its hash values which form a chain of linked blocks. Any attempt to alter a block is detected and all the newly-generated blocks are invalidated. Additionally, each block has the root hash of Merkle tree which has the hashes of all previous blocks. Tampering a block results in generating new root hash. Hence, any modification is identified easily [4, 13].

  • Transparency Participating in public blockchain networks is free for everyone, any user can enter or leave the network and contribute in the validating process according to the consensus protocols. Each transaction is saved in the ledger which is owned by nodes. That makes the transactions or records transparent for everyone [46].

  • Anonymity and Identity Private data can be maintained in the public blockchain as it makes the blockchain addresses pseudonymous and user’s identity not identified. Hence, blockchain preserve a certain level of privacy [47].

  • Reliability: the decentralized nature of the blockchain implies that there is no single point of failure that would shut down the entire network.

  • Traceability Tracing and verifying previous transactions history is easily achieved as every transaction stored in the blockchain is verified using timestamp on each block.

  • Security The built-in encryption implementation in blockchain technology, allows secure transactions between parties with no need for the control of a third party [48].

3 Related Work

In this section, the existing surveys, and reviews of blockchain and IoT integration are presented below.

In [23], a comprehensive survey of blockchain is presented in many aspects including the IoT technology. It is considered as one of the guidance surveys for future studies. The survey discusses IoT which is one of blockchain-based application, existing solutions and implementations that address blockchain-IoT integration issues, and the energy consumption problem from consensus algorithm perspective. Unfortunately, limited solutions were presented regarding energy/power efficiency, and security and privacy in lightweight implementation for IoT resource-constrained devices.

An overview of blockchain consensus algorithms that are appropriate for IoT constrained environment is presented by Salimitari and Chatterjee in [18]. The advantages and limitations for each consensus algorithm are discussed. Other comparisons regarding blockchain framework are conducted to efficiently implement blockchain in IoT environments. An evaluation and analysis of these consensus protocols from energy and security aspects is not considered. Additionally, it focused only on consensus protocols, where there are other factors to be considered when deploying blockchain into IoT architecture.

Dai et al. provides a comprehensive study on the combination of blockchain with IoT in [20] including IoT technology and its challenges, a review of blockchain, and the integration of blockchain with IoT technology. A blockchain-based IoT (BCoT) architecture proposal is presented. Issues regarding blockchain and IoT convergence are identified including resource constraints, security vulnerability and privacy leakage. The study discussed potential solutions, however, did not consider the lightweight solutions that targets the energy efficient implementations along with secure techniques.

An overview of blockchain and IoT integration, advantages and challenges are presented in [22]. Future research directions are discussed as well. Limited processing power and time for IoT devices are presented along with other challenges including storage capabilities, scalability, naming and discovery. However, solutions for these challenges are not discussed. The research does not examine the resource-constrained devices issues including energy consumption and security techniques, which are important to blockchain and IoT integration.

In [15], a comprehensive review on the adaption of blockchain technology in IoT to develop blockchain-based IoT (BIoT) applications is presented. The blockchain technology basics are described with the common BIoT applications. Authors discuss the challenges and optimized solutions related to architecture, cryptography algorithms, consensus mechanisms, security, privacy, and energy efficiency. The solutions are only suggestions and not based on real implementations or techniques.

Maroufi et al. in [21], presents a survey on the hybridization of blockchain and IoT technologies. They highlight on the importance of this integration and the main challenges and issues to be considered. These challenges include data privacy, energy consumption and scalability. Limited solutions are presented for these issues. Moreover, energy efficiency concerns related to IoT resource-constrained devices, and its optimized solutions are not presented.

Security features of blockchain-based (BC) heterogeneous IoT networks are explained in [19]. The evolution of IoT into different heterogeneous architectures are illustrated. These architectures are: SDN-based IoT, SDN-based IoT-Fog, BC-based IoT, and BC-based SDN, and IoT-fog architecture. Security and privacy issues are dominant in such heterogeneous networks. The exiting BC-based IoT and BC-based SDN- IoT integration frameworks presented in literature are examined. However, optimized implementations related to the restrictions of IoT devices are not discussed including the energy efficiency.

The possibilities and architectural challenges of applying blockchain for IoT are described in [49]. These challenges include resource constraints, bandwidth requirement, security, and transaction volume. However, the article does not present suggestions regarding lightweight solutions for blockchain-based IoT architecture, and the energy consumption issues.

Authors in [50] provides a survey of blockchain and IoT integration by analyzing the present trends of blockchain methods from IoT perspective. Different application areas are presented while classifying the exiting works in these areas. Additionally, two usage patterns are introduced: device manipulation and data management. Moreover, the challenges of blockchain-IoT integration are described. However, this paper focused more on addressing the security challenges and solutions. Lightweight solutions are not considered regarding energy challenges and hardware limitation.

A statistical review is presented in [51] while focusing on the security issues and challenges of deployment the blockchain in IoT-based smart cities. The security challenges and future works are discussed to better implement the blockchain in smart cities applications. However, limited solutions for low energy implementations are presented while only focusing on smart cities applications.

A review of the recent research works of blockchain technology in several IoT applications are discussed in [52]. The challenges of deploying blockchain in IoT domain from different perspectives are presented. The review includes limited solutions regarding security/privacy and energy issues. The presented solutions are expected solution and not implemented in real environment.

In [53], a classification of the security attacks and challenges of IoT and industrial IoT fields is presented. The recent blockchain-based solutions presented in literature are highlighted. Authors also listed the open research areas that still require investigation and provides suggested solutions. This paper focuses only on IoT and industrial IoT fields in particular while considering the security issues without pointing to the efficient energy implementations and hardware requirements of these fields.

A survey of the proposed lightweight blockchain systems and solutions existing is presented in [54]. Author classifies the lightweight solutions into 5 categories: architecture, authentication, consensus, cryptography, and storage. Requirements and conditions for each category are identified to have a lightweight form of blockchain system in each chosen category. This work presents the lightweight solutions separately by each category without considering more comprehensive solutions. Moreover, it does not consider the hardware design perspective.

The challenges of the blockchain-based IoT emerging systems are presented in [55]. These challenges include energy efficiency, throughput, latency, privacy, and security. Authors presents some possible solutions for each challenge and research directions. The solutions are limited and are not focused on the lightweight solutions from energy, security, and hardware perspective.

Most of the aforementioned works discusses the blockchain-IoT integration from different perspectives. The challenges and issues related to this integration are examined. Most of them presents limited optimized solutions [19, 21, 23, 50, 54, 55] others presents potential solutions only [15, 20, 21] and some articles does not include any solutions [22, 49]. None of the articles focused on the energy issues as a critical factor for resource-constrained devices. On the other hand, this paper focuses on the energy efficiency and security issues as the most important factors to be considered in the optimized blockchain-based IoT framework. A comprehensive evaluation and classification of the challenges and lightweight optimized solutions and techniques regarding energy efficiency and security implemented in literature are presented. Additionally, a review of the suitable IoT hardware devices is included as one of the important aspects to be considered in the lightweight solution implementation and evaluation.

4 Blockchain and IoT Integration

This section discusses aspects of the integration of blockchain and IoT including architecture, advantages, issues and challenges.

4.1 Overview and Architecture

IoT is a promising technology which is getting high attention in recent years and it is defined as a highly distributed network that connect many types of IoT devices over the internet [14] like sensors which collect data through networking nodes (servers or computers) joined together [56]. Massive amount of data is sampled and produced daily [35]. IoT is deployed in many field and applications like smart home and city, healthcare, transportation, and industry [13]. Security and privacy issues arise as many devices are linked and the infrastructure of computing are becoming more complex which make this setting more susceptible to attacks [57,58,59,60]. Moreover, the IoT network devices have some constrains like low computing power resources, limited storage and network bandwidth. The low-resource constraints result in the vulnerability of IoT devices to malicious attacks. Blockchain is integrated with IoT in case no third party handles the security and privacy issues; it provides decentralized platform architecture instead of the centralized one for more reliable and trusted data exchange. IoT technology faces other issues like heterogeneity of IoT structures and humble interoperability, as it is difficult to exchange data between different IoT systems [20]. Blockchain technology can help to overcome many challenges facing IoT technology, improve privacy and security and enhance interoperability [20]. For example, IoT is used in the healthcare industry to deal with critical daily data, which requires more advanced security and data protection techniques; which justifies the increased interest of blockchain-based IoT systems in healthcare [12]. However, still there are many challenges to address when combining these two technologies and a suitable blockchain implementation should be considered as a result. Table 1 compares IoT and blockchain technology [20, 22].

Table 1 Comparison between IoT and blockchain technology

Integrating blockchain with IoT expands the applications to include internet of vehicles (IoV), internet of Energy (IoE), internet of healthcare things, IoT in 5G era, smart manufacturing, food industry, access management in IoT and others [20, 29].

The basic architecture of IoT is depicted in Fig. 7, which shows the main three layers [22]:

  1. 1.

    Device layer (or “perception layer” [20]) consists of different IoT devices and controllers that control objects (things) in IoT environment such as sensors, actuator, controllers, RFID tags, bar code, low-power embedded IoT platforms and other wired/wireless devices. The devices can collect data about the physical environment such as sensors, others can make action on environment such as controller and actuators [20]. The devices have many constraints such as low- power/energy, limited memory size and computing capabilities in addition to its limited resources and bandwidth [49]. Therefore, it is important to implement low-power/energy platforms to have longer battery lifetime. The number of devices in this layer increases as more are added.

  2. 2.

    Network layer (or “communication layer” [20]) includes IoT gateways, routers, switches, firewalls, Wi-Fi Access points (Aps) and small base station (BS); to handle the communication with the devices in the device layer. This layer also enables the devices to communicate with each other and with application platforms. The network connectivity is governed by different communication protocols such as Bluetooth, Low Power Wide Area Network technologies such as LoRa [61], Near Field Communications (NFC) and others.

  3. 3.

    Application layer contains the IoT applications which include smart healthcare, smart cities, internet of vehicles, agriculture, manufacturing, smart home, smart industry and smart energy [20, 22]. Before deployment of any application, or protocol in IoT environment, resource constraints and capabilities should be considered for each layer [49].

  4. 4.

    Blockchain layer is a new layer added when integrating blockchain with IoT. It is composed of the blockchain sub-layers (shown in Fig. 8): device sub-layer, network sub-layer, consensus sub-layer and extension sub-layer as described in Sect. 2.2. The newly added blockchain layer plays an intermediary role between the general applications and the IoT infrastructure. It hides the heterogeneity of the device and network layers and provide users with the blockchain-based services [20].

Fig. 7
figure 7

IoT architecture

Fig. 8
figure 8

Blockchain-IoT integration architecture

4.2 Advantages of Integrating Blockchain with IoT Technology

Deploying blockchain technology in the IoT environments can potentially help in its improvement through many aspects:

  1. 1.

    Enhanced Security and Privacy Public key cryptography and hashing algorithms in blockchain ensure secure communications and transactions in the IoT environment which consists of many heterogeneous devices, in addition to hiding the real identity in the network (i.e., anonymity) which ensure the privacy of personal and sensitive data of application [62].

  2. 2.

    Traceability and Integrity Blockchain data are recorded in a historical way which can be verified and traced anytime and anywhere. Additionally, the immutability characteristic of blockchain preserves the integrity of the data, as the transactions stored in the blockchain cannot be altered or changed [20].

  3. 3.

    Build Trust Blockchain can increase the trust as the data of IoT applications owned by multiple organizations and transported through infrastructure are recorded in decentralized ledger instead of a central database [49].

  4. 4.

    Improved Speed and Reduced Cost Blockchain has the ability of processing transactions and coordination between billion of connected devices, which help in saving cost and time for IoT industry [16].

  5. 5.

    Autonomic Interaction Integrating blockchain technologies (e.g., smart contracts) in IoT architecture allows the IoT devices and systems to interact automatically without a third party to control the process, which save costs [63].

  6. 6.

    Enhanced Interoperability Transforming and storing the heterogeneous types of IoT data into blockchain can enrich the interoperability of IoT systems. Interoperability also means easy data transporting through different network types [20].

  7. 7.

    Enhanced Reliability by Eliminating Single Point of Failure Because of decentralized model of blockchain technology, it helps in eliminating single point of failure which occurs in a centralized IoT architecture [16].

  8. 8.

    Resiliency Each node in blockchain has a full copy of ledger which contains all transactions. When a node is attacked or taken off-line, a copy of IoT data can be obtained easily [22].

4.3 Issues and Challenges of Integrating Blockchain with IoT

Despite all the advantages of integrating blockchain with IoT technology, many issues and challenges arise when integrating these two technologies. The major issues and challenges are listed below, with some recommended solutions in the literature as summarized in Table 2.

  1. 1.

    Resource constraints


    Table 2 Blockchain-IoT integration main challenges and some suggested solutions

    IoT devices and blockchain have different resource requirements. While most IoT devices limited battery, storage, computation, network resources; the blockchain requires significant computation power and resources. Merging Mobile edge computing (MEC) and cloud computing technologies in blockchain-IoT environments could potentially solve the problem as stated in [64, 65] by using resource and power allocation techniques.

    1. 2.

      Energy and power Efficiency


      The consensus protocols and cryptographic algorithms, the main components used in blockchain, involve high power and energy consumption. Consensus protocol such as PoW is not appropriate for low-power and resource constrained IoT devices as a hard computational work to compute the hash is required to select the miner, which is known as the mining process [49]. The computing requirements and the high power consumption in cryptographic algorithms used in blockchain is a challenge for IoT devices. Asymmetric cryptography is essential for providing the required level of security and privacy in blockchain, however, the Rivest Shamir Adleman (RSA) for example is slow and power consuming when implemented in IoT device [66]. Additionally, the key size of RSA algorithm that is considered to be secure (i.e., 2048-bit) is not appropriate for such constrained devices. Currently, ECC was evaluated and proven to be a lighter alternative and better than RSA in terms of throughput and energy consumption [67].

      Hash Functions, essential in blockchain technology for transaction signature process (i.e., digital signature), is another source of energy/power consumption in IoT devices. SHA-256 is one of the common hash functions used by Bitcoin, however, to implement low-power secure communication, many alternatives are suggested such as Scrypt [68], X11 [69] and Blake-256 [70]. Because of low battery and high computations of IoT devices, nodes will be out of service, this would result in poor connectivity as blockchain is designed for stable network connection [20]. Further analysis and performance evaluation for cryptographic algorithms to be implemented in IoT devices are required.


      1. 3.

        Storage and bandwidth requirements


        IoT devices have limited bandwidth and storage capabilities, while it is difficult to handle the growing size of blockchain transactions and data. Large amount of data are stored in IoT devices with no interest of them, which may result in wasting nodes’ computing resources. The nodes in blockchain requires memory in GBs, while the IoT devices and platforms require memory as small as KBs [71, 72]. This results in problems with fully storing blockchain at IoT devices as blockchain data is growing over time.

Moreover, blockchain consensus protocols generate significant overhead traffic, which is inappropriate for limited bandwidth [73]. The problem can be solved by using lightweight nodes, which handle only the transactions on the blockchain without storing them. Yet, this approach will include a certain degree of centralization by using powerful nodes that support the lightweight nodes [15]. The using of mini-blockchain could also contributes in solving the issue by storing only the current state of each user in blockchain, and will grow only when a new user enter the blockchain [74, 75]. Powerful miners with larger persistent memories are required to handle the transaction validation processes [15].

  1. 4.

    Throughput and latency

Network throughput is measured by the number of transactions per second (TPS). Blockchain technology has limited TPS; which is 7 TPS in Bitcoin and 20–30 TPS in Ethereum for example [76]. This limited number of transaction is unable to handle the huge amount of transactions required by some IoT networks such as VISA network (VisaNet) which can process up to 24,000 transactions per second [77].

Regarding latency, blockchain technology takes time in transaction validation process which reaches up to 60 min in Bitcoin which cause a delay for IoT applications [76]. Thus, blockchain technology with high transaction latency (e.g., Bitcoin blockchain) is not suitable for IoT time-sensitive applications such as VISA that requires only few seconds to confirm transaction [77].

Using lighter consensus protocols or hash functions could help in improving consensus latency. For example the blockchain that supports Litecoin [78] uses scrypt hash function as it is slightly faster than SHA-256.

  1. 5.

    Scalability

IoT networks contain large number of nodes which is expected to increase in the future. On the other hand, blockchain scales poorly as number of nodes increases which make it inappropriate for IoT [73]. A full copy of blockchain transaction is stored in each full node which affect the network functionality as nodes increase. The network scalability is effected as well by transaction validation process that is required for all transaction on the blockchain and as a major part of consensus protocols [21].

Potential solutions for enhancing scalability includes designing more scalable consensus protocols and using private or consortium blockchains for IoT [20].

  1. 6.

    Security and privacy

Despite the high level of security assured by blockchain when deployed in IoT architecture through hash algorithms and asymmetric encryption used, still IoT devices face many security issues as these devices are vulnerable to attacks. Furthermore, IoT devices are resource constrained and capable of executing lightweight cryptography. In contrast, blockchain depends on heavy weighted cryptography algorithms to provide the sufficient and needed level of security [20]. Additionally, the decentralized approach followed by blockchain technology requires a fully-connection and cooperation between all devices in the network through consensus protocols [49]. As number of devices increase, the connectivity between these devices increases and the computing infrastructure become more complex which result in more susceptibility for security and cyber-attacks [57].

Regarding privacy, the real identity of users is not shown in blockchain network as they are identified by their public key used to compute the hash value [15]. A certain level of data privacy and anonymity is preserved as the user actual identity can be revealed by analyzing and inferring the multiple transactions that are shared and associated with one common user as presented in [79]. The privacy is a complex issue in IoT environments as IoT devices can reveal the private data stored in blockchain [80].

Secure relay networks for blockchain or loophole repairing of blockchain [81] improves security. Centralized identity management systems [82] and homomorphic encryption [83] are suggested to preserve privacy. However, real blockchain based-IoT solutions still demand evaluation and examination.

5 Recent Lightweight Solutions for Efficient Blockchain-IoT Implementation

In order to ensure an efficient lightweight implementation of Blockchain with IoT, four main factors should be considered:

  • IoT architecture should address the following issues: high energy consumption, limited computing resources, throughput and latency, storage and bandwidth, while achieving the security goals.

  • IoT energy consumption

  • Security mechanisms involve privacy, data integrity, authentication, etc.

  • Hardware device and hardware platform

In this section, a comprehensive review for the optimized solutions regarding efficient energy and security implementations are presented in Tables 3 and 4, respectively. Solutions regarding architecture types of blockchain based-IoT are not considered, rather our focus in this research is on energy, security and hardware implementations. Other research works such as [19] and [15] are recommended references for architectural types and implementations.

Table 3 Blockchain-based IoT optimized energy techniques
Table 4 Blockchain-based IoT lightweight security techniques

5.1 Energy and Power Efficiency

Energy efficiency is important for long-lasting edge-nodes as they depend on the resource-constrained hardware supplied by battery power. Consensus protocols and cryptography algorithms are the main factors need to be considered in order to implement energy efficient blockchain-based IoT environments as they are power consuming in blockchain systems, in addition to computing resources. Table 3, summaries the blockchain-based IoT energy efficient implementations.

5.1.1 Consensus Mechanisms

As stated previously, PoW which the most well-known consensus protocol is considered to be power consuming. Other alternatives such as PoS is considered as it requires less computational power and consumes less energy [15]. An overview of the suitable consensus protocols for resource constrained networks and devices is presented in [84]. Authors in [84] states that although PoS is more power and energy efficient than PoW, is not considered as a popular alternative for IoT constrained-resource devices anymore, as it is based on stakes (monetary concepts) which are not there in IoT networks. Other alternatives based on PoW protocols are suggested such Proof of Capacity (PoC) and Proof of Elapsed Time (PoET). However, an evaluation of these consensus protocols should be carried before deployment in real blockchain-based IoT environments. A novel lightweight blockchain consensus method for scalable IoT implementation which is called Proof-of-Authentication (PoAh) is proposed in [85]. A real-time hardware implementation is presented for PoAh consensus to evaluate its performance. The results show that the proposed consensus is performing better than other popular consensus protocols such as PoW and PoS as it consumes the least power in single-board computing devices like the Raspberry Pi. Fu et al. [25] presents a lightweight consensus protocol based on the pre-announcement of miners identified through a hash of their public key and a unique address identifier, and a chain scoring system. A number of different block hashing procedures and chain scoring methods are presented as potential candidates in order to optimize the consensus protocol implementation. A lightweight data consensus algorithm (LDC) is proposed for blockchain-based industrial Internet of Things (IIoT) for smart city applications in [86]. A lightweight data structure is presented as well. Results showed that the LDC has better accuracy and delay than other algorithms. Additionally, it guaranteed the safety and reliability of the IoT. However, the evaluation of energy consumption is not clear in this work.

5.1.2 Cryptography Algorithms

Cryptographic algorithms which include asymmetric encryption and hash functions used in blockchain are power and time consuming, an evaluation of other lightweight alternatives is required. Currently, ECC is evaluated as a better alternative than RSA in terms of throughput and energy consumption [67]. However, it is not evaluated based on blockchain architecture. Some research paper evaluated the area, throughput and power consumption for selected group of lightweight hash functions. Example of such studies is the work presented in [87], which implement a three lightweight hash functions: QUARK, PHOTON, and SPONGENT. Hash functions considered for lightweight implementation reduce area and power compared with conventional hash functions e.g. SHA-256. For examples, the lightweight hash area should be under the 5000 GEs. A list of lightweight hash functions proposed recently is presented in [88] by Cryptolu. To meet minimum security level, the lightweight hash output should not be less than 256-bit because a hash digest less than 256-bit does not provide sufficient security level.

Furthermore, the hash functions used by these consensus protocols are performed lightly. However, energy and power evaluation of these hash functions is not considered. Other hash function such as Lesamnta-LW is not evaluated.

Abed et al. in [89] present a comparison of the three hash functions: QUARK, PHOTON, and SPONGENT. Design are evaluated on FPGA platform to determine the best lightweight alternative for blockchain-IoT devices. The evaluation of these hash function is from the perspective of area, power, energy, security, and throughput. Results showed that SPONGENT has the is best in terms of security and throughput. The least power and energy consumption is achieved by QUARK; however, it has the lowest security parameters. PHOTON has the less area utilization than SPONGENT and QUARK, and consumes less power and energy than SPONGENT. Abed et al. concluded that PHOTON could be considered as the best alternative among them, as it has an acceptable level of security that works with the blockchain-IoT devices.

Authors in [90] proposed an energy efficient hashing algorithm c-BLAKE2b with an improved elliptic curve digital signature scheme (ECDSA), and is customized version of BLAKE2b. The hardware implementation was realized using a Raspberry Pi-3 platform under client server model. Results show significant improvement compared with BLAKE2b. c-BLAKE2b demonstrated about 0.7–1.91% improvement in the signature generation time and 7.67–9.13% improvement in signature verification time. Hence, c-BLAKE2b is more efficient and consumes less power of IoT devices, and a good solution for resource-constrained IoT devices. The study, however, does not include accurate security analysis nor real-time power and energy evaluation.

5.1.3 Efficient Blockchain-Based IoT Implementations

In [25], an energy efficiency mechanism based on optimizing the cache allocation, computation and communication resources by a geometric programming model in blockchain-based IoT network is proposed. Additionally, the performance of different parameters used in blockchain is studied to show the efficiency of the proposed mechanism. The results show that the energy efficiency of the proposed mechanism is improved compared with fixed resource allocation mechanism. Fan et al. proposes an energy efficiency aware integrated architecture while focusing on cooperative computing between data access points (DAPs) [91]. This architecture is proposed to overcome the demands of intensive computing in blockchain-based IoT network as the cooperation between DAPs was ignored in [25]. Geometric programming method is used to find the ideal resource allocation and power allocation. Different parameters are studied; and simulation results show the effectiveness of cooperative computing in maximizing energy efficiency. However, the proposals in [25] and [91] are theoretical solutions and no real implementation on blockchain based IoT.

A multihop cooperative and distributed computation offloading algorithm is proposed in [92]. This algorithm combines between the data processing tasks and the mining tasks together for blockchain-empowered Industrial IoT (IIoT). Results show that the proposed algorithm perform well as the number of IIoT devices grows and achieves the lowest possible cost and energy consumption, when compared with other approaches. However, there is no analytical model to estimate energy consumption in the presented approach.

In [26], a green blockchain framework is proposed while considering the resource limitation of edge computing. The proposed framework has reduced computational, storage, and network resource requirements for big data sharing in collaborative edge. Additionally, three resource-efficient techniques are developed: (1) the PoC (Proof-of-Collaboration) based consensus mechanism with low computation complexity for low computation capacity of edge devices, (2) the blockchain transaction filtering and offloading scheme to decrease the storage overhead, and (3) Express Transaction and Hollow Block for communication efficiency. The experimental results show that using PoC consensus protocol enhances computing resources’ utilization and reduces energy compared with PoW consensus protocol while providing the same level of security. Storage overhead of PoC and PoW is reduced when using offloading module. Network throughput is enhanced by 17 and 23% compared to the traditional blockchain when using Express Transaction and Hollow Block, respectively. This work is limited in designing the blockchain layer without considering the other layers or IoT hardware devices.

An energy efficient model is presented in [93] in order to manage the energy requirements of blockchain-enabled Internet of Vehicles (IoV) by controlling the number of transactions through distributed clustering. Mathematical results showed that the proposed approach is better than the traditional blockchain-based IoV in terms of energy conservation and the number of transactions required to share the entire blockchain data by 40.16% and 82.06%, respectively. This approach is designed especially for IoV, however, it could be beneficial in the way of managing the number of transaction on each node in order to reduce the resources energy consumption. A light-weight cryptography is suggested to reduce the energy consumed by security computations such as light-weight elliptic curve cryptography.

Yazdinejad et al. [94] focus on the energy and security issues as they are the major concerns in IoT devices. Hence, a new blockchain-based architecture using software-defined networking (SDN) controllers for IoT devices. The use of PoW is eliminated, while using an efficient authentication technique to reduce energy consumption while maximizing the security level of communication among IoT devices. Simulation results show the effectiveness of the proposed design in terms of throughput, performance, and energy efficiency. The routing protocol demonstrate better throughput, lower delay and energy consumption than EESCFD, SMSN, AODV, AOMDV, and DSDV routing protocols. However, this work depends on the use of Ethereum which leads to latency issues as it is stated in [19].

5.2 Security

Blockchain-based IoT environment should provide high level of security while taking into consideration the constraints of IoT devices as stated before. Thus, implementing lightweight security solutions is required including privacy, authentication and data Integrity. Table 4 summaries the recent lightweight solutions regarding security aspects.

A lightweight authentication and access control mechanism for blockchain-based IoT environment is presented in [27]. The proposed mechanism ensures secure communication between IoT devices. A contrast with state-of-the-art IoT authentication method is conducted and the experimental results show the effectiveness of this work in terms of security requirements and attacks, time and power consumptions by IoT nodes. However, using of Ethereum blockchain platform is considered as a limitation and it indicates more delay to the proposed technique in addition to energy consumption associated by PoW to verify each block. Hence, using lightweight consensus protocol instead of PoW is required.

In [95], Lightweight Scalable blockchain (LSB) is proposed while considering the IoT requirements in addition to end-to-end security. Moreover, Distributed Time-based Consensus algorithm (DTC) is proposed to reduce the overhead and delay of mining process by ignoring the need of solving the puzzle prior to appending a block to the blockchain. LSB also includes a Distributed Throughput Management (DTM) algorithm. The proposed architecture is evaluated by a smart home as a case study. Security analysis shows that LSB is secure against many attacks. Simulation results demonstrate that the proposed architecture decreases the bandwidth and the processing time while increases blockchain scalability compared to the baseline blockchains. However, the energy consumption is not considered in the study and the evaluation process need to be conducted under real-world settings.

A lightweight and secure architecture is proposed for blockchain based IoT environment in [96]. Smart devices connected by Unique Identifier are used as Validators in order to validate the other IoT devices in the Blockchain Network to make it more efficient economically. Authors claimed that in this way, the energy consumption will be much less compared to traditional Validators which consume much more energy. However, in this approach, there is no real measurement for energy efficiency or any performance metric.

In [97], a blockchain-based architecture for Narrow Band Internet of Things (NB-IoT) is introduced to improve the security and obtain data authentication reliability and accountability. A power saving technique is introduced by NB-IoT for providing an energy efficient embedded batteries. For authentication process, the amount of asymmetric key operations is reduced to a large extent because the amount of asymmetric cryptography calculation is larger compared with symmetric cryptography, which means more computation power consumption. As a result, the efficiency of authentication process is enhanced as stated by authors. However, this work is a theoretical-based solution, and the real experimental results are not done.

A layered trust architecture is offered in [98] to deliver end-to-end trust for blockchain-based IoT applications from data observation to blockchain validation. The trust in observational data is improved by using the observer’s long-term reputation, its own confidence in its data, and corroborating data from neighboring observers. A lightweight block generation, adaptive block validation, and distributed consensus mechanisms are involved in the proposed architecture. An evaluation of the architecture against security attack scenarios was conducted. The proposed architecture is not specific for one blockchain-based IoT application and can be applied to different domains. However, it involved some delay, and it is not evaluated in terms performance metrics of resource-constrained IoT devices such as energy, power, and throughput. Additionally, a real-world implementation is required to have a accurate evaluation.

In [99], the authors present a lightweight security protocol for both authentication of deployed IoT devices and generated data encryption as security is one of the primary issues in IoT applications. The proposed method involves lightweight computation modules for resource-constrained IoT devices, such as hash functions and bitwise exclusive-or operation. To attain high security, this work combined the use of Merkle hash tree with a novel chaotic map. Analysis of different security requirements including authenticity, anonymity, and data integrity was conducted in addition to different security attacks such as replay and forgery attacks. Analysis shows that the proposed method guarantees the security requirements and demonstrate resilience to security attacks. However, there is no analysis of area, energy, and throughput. Moreover, it is not applied on a real blockchain-based IoT environment.

In [100], authors solve the problem of relying on some powerful and trusted nodes that communicate directly with the blockchain. If these nodes get hacked, they will transmit false information for IoT devices. Hence, they proposed a lightweight technique for resource-constrained IoT devices to validate new blocks with the assist of witnesses. Performance evaluation is conducted on Arduino MKR1000 which is low-power device with 32KB RAM. It shows a smaller verification time compared to signatures without complex computations. Security analysis and throughput of the method are also discussed. The limitation of this method is the time required to compute a shared key between the device and a witness. Other evaluation categories are not considered including consumed energy and used resources.

An efficient lightweight integrated Blockchain (ELIB) model suitable for IoT environment, presented in [101], includes lightweight consensus algorithm, certificateless (CC) cryptography and Distributed Throughput Management (DTM) scheme. Experimental evaluation of the model is conducted in a smart home environment. Performance evaluation in terms of processing time, energy usage and overhead are considered. Results show 50% saving in processing time, while energy consumption is slightly higher than baseline method.

Authors in [82], study the implementation of a lightweight optimized blockchain architecture for resource-constrained devices using a smart home scenario. A distributed trust is used to reduce the block validation processing time. No mining is required by blockchain in order to reduce delays of processing generated transactions. Security and privacy analysis are conducted to show the strength of this architecture against attacks. IoT device performance evaluation in terms of energy consumption and throughput are not considered. Additionally, the proposed architecture relied on smart home settings and constraints.

To solve data reliability, security and privacy issues of IoT-cloud based system, a decentralized secure mechanism based on the blockchain technique is presented in [28] in order to store the important data generated in the IoT system. Additionally, a UTXO verification scheme is proposed based on RSA accumulator. Evaluation results shows that the computational complexity of the light node remains constant. Moreover, authors provide proof of inclusion and exclusion of the transaction for the first time. However, this mechanism is not analyzed in terms of security or energy consumption. Also, the use of RSA is not suitable for IoT devices because of RSA complex computations.

A blockchain-based IoT security architecture called IoTChain that consists of OSCAR object security model and the ACE authorization framework is proposed in [102]. This Architecture provides an end-to-end (E2E) solution for secure authorized access to IoT resources. A self-healing group key distribution scheme is used to allow efficient multicasting of IoT resources. Performance evaluation of different IoT chain components is conducted. However, the proposed scheme is not analyzed in terms of security or energy consumption for IoT constrained devices. Additionally, it depends on Ethereum platform which leads to latency issues [19].

To guarantee IoT security, Hammi et al. in [103] proposed a novel authentication scheme of One-time password (OTP) generation that depends on elliptic curve cryptography and isogeny. The proposed approach does not ensure authentication between the devices only, but also guarantees integrity of all the communication exchanges in addition to confidentiality. The performance of the proposed approach is evaluated through real implementation for constrained and non-constrained devices. Moreover, the proposed approach is compared with two widely used OTP techniques; HOTP and TOTP. Performance results show the efficiency of the proposed technique in terms of power and energy consumption compared with the other OTP techniques. However, it requires more time for OTP generation.

5.3 Hardware Perspective

Hardware device used is another important factor should be taken into consideration in designing lightweight architecture for blockchain-IoT based implementations. Hardware devices include the hardware mining platform and IoT hardware end device.

Hardware mining development had developed from CPU-based system to GPU, FPGA and ASICs [104]. The authors in [105] prove that ASIC Miners-based system are more effective than CPU, GPU and FPGA in terms of area and energy consumption, however, it is not studied in terms of IoT environment.

An FPGA-based hardware implementation of Lyra2REv2 miner chain on a Xilinx Multi-Processor System on Chip is presented in [106]. FPGA-based miners are flexible, reconfigurable and energy efficient. Evaluation results report that the FPGA-based Lyra2REv2 miner is more energy efficient than the GPU based miner and BlackMiner F1 + by 4.24 and 2.09 times, respectively. Additionally, results show that the proposed hardware architecture of Lyra2REv2 has a hashing throughput of 11.76 MHash/s. The consumed energy is better by 2 to 4 times compared with existing solutions at 0.804 μJ/Hash. Moreover, 70% less programmable logic (PL) resources are utilized. However, IoT environment is not taking into consideration in this work.

In [107], a review of the blockchain hardware acceleration is presented while introducing a classification of the blockchain areas, which include Hardware-Assisted Trusted Execution Environments, Cryptographic Acceleration, Currency Mining and IoT. It pointed out the gap in addressing the issues of deploying blockchain such as power consumption and wasted resources. However, the hardware implementation regarding IoT environment is limited in this research.

An IoT ledger-based architecture is proposed in [108], while considering the evaluation of constrained devices handling an IoT ledger-based architecture. These devices are Raspberry Pi, Orange Pi and Arduino. Evaluation results shows that Raspberry Pi and Orange Pi performed better than Arduino as an IoT gateways in terms of processing time. Raspberry Pi 2 and Orange Pi Zero can be run as gateways in the IoT architecture, while Arduino can be executed in an edge to manage sensors and actuators because of limited processing power. However, the energy/power consumption and scalability are not evaluated. Consensus algorithms applied on the IoT ledger is not considered.

The importance of hardware support for blockchain-based IoT systems is presented in [109] through proposing hardware/software blockchain-based IoT solution with build-in trust on data named Waltonchain. The Waltonchain helps in recognition of a blockchain hardware system to ensure the reliability of data from the beginning. Additionally, it provides blockchain security interface. Real implementation and evaluation for the proposed idea is missing, however it is expected by authors that the Waltonchain ecosystem will be able to handle more than a billion smart Internet of Things systems to cope with more complicated things with lower power consumption.

6 Summary and Future Direction

6.1 Summary

Despite the advantages of integrating Blockchain technology in IoT environment, still there are several open issues and challenges to be addressed. Many research and surveys examined those issues and presented suggestions and solutions. However, there is a lack in focusing on the energy consumption issues of blockchain based-IoT constrained devices when deploying optimized and secure solutions. Energy and power consumptions are one of the critical factors in IoT environment that must be considered when designing and deploying lightweight solutions while maintaining a sufficient level of security. Most security solutions lack energy and power evaluation and optimization. Providing security without violating the IoT constrains is still a major challenge as the high level of security requires high energy consumption and computing resources.

Because of that, this research focuses on the lightweight solutions presented in literature, the techniques used and the limitations of these solution to encourage research towards more optimized and lightweight solutions while considering the critical factors.

The recent and existing solutions and techniques that targets the energy and resource efficiency in addition to security is presented in Table 3. Cryptography algorithms and consensus protocols are the most energy/power consuming factors. The works concerns with lightweight consensus protocols for efficient energy implementation include [24, 84,85,86]. However, they are missing real implementation and evaluation in terms of energy/power consumption and utilized resources in addition to security analysis. While the lightweight cryptography algorithms which include the asymmetric cryptography and hash functions are presented in [67, 87,88,89,90]. Still, they have to be implemented in a real blockchain-based IoT architecture and evaluated in terms of energy, area and security for the IoT hardware devices. Other lightweight and solutions focuses on efficient computing and allocation resource such as in [25, 26, 91, 92]. Some works such and [93, 94] proposed energy-efficient model or architecture. Most of these solutions depend on theoretical implementation or numerical evaluation. Therefore, it is our observation that the lack of real complete system implementation is one of the most important issues for currently proposed solutions.

To implement efficient lightweight solutions, researchers should consider the following factors equally from the start: (1) lightweight consensus methods, (2) lightweight cryptography techniques (3) resource allocation techniques, (4) Energy-efficient models.

Regarding consensus methods, for the meanwhile, PoC, PoET [84], and PoAh [85] are considered to be lighter alternatives to PoW and better than PoS in terms of energy efficiency. However, PoC has high latency and PoET is Intel-dependent which conflicts with decentralized architecture of blockchain [84]. A real evaluation for PoC and PoET consensus needs to be carried out. Additionally, designing modified lightweight consensus method that are compatible with IoT resource constrained devices is still challenging and an open area of research.

Regarding Lightweight cryptography techniques, ECC is proven to be better that RSA asymmetric algorithm in terms of energy and throughput [67]. Other hashing techniques such as QUARK, PHOTON, and SPONGENT are considered to be better than SHA-256 hash function implemented by blockchain [87]. PHOTON is considered to be more suitable alternative for blockchain-IoT devices [89]. Implementing lightweight cryptography including asymmetric cryptography and hash functions which ensure the required level of security while are appropriate for the IoT constrained devices and low storage capacity requirement is a real demand in blockchain-based IoT environments. Further Examination and evaluation of lightweight hash functions should be considered in future research.

Advanced resource allocation and computation techniques should be considered when design energy-efficient implementations [25, 26, 91, 92]. However, incorporating lightweight consensus protocols can help more [26]. Hence, integrating and implementing effective resource allocation techniques while considering the lightweight consensus protocols and cryptography algorithms is required. Real implementation and evaluation for these techniques are needed as well. Energy efficient models or frameworks that combines all these techniques should be considered in future implementations as well.

On The other hand, there are many research focused on implementing lightweight secure implementation (see Table 4). The works concern with authentication mechanisms include [27, 97, 99, 103]. While the security and privacy issues are considered in [28, 82, 101, 103]. Some works such as [95, 98, 99] concern with security attacks. Other security issues are examined in [94, 96, 97, 99, 100]. Secure authorized access to IoT resources is presented in [102]. A trust architecture is presented in [98]. Some researchers are focusing into implementing secure and energy efficient implementation at the same time such as [27, 86, 94, 96, 97]. Most of lightweight security solutions lack analysis of energy/power evaluation, computing resources and throughput. These optimized solutions are designed for specific application or environment. A generalized solutions or techniques that can be used in any IoT application are required.

Solutions that combines between the efficient security techniques in addition to the lightweight techniques that achieve low energy consumption are recommended such as [94, 96, 97], while focusing on real evaluation regarding security and energy.

Limited works evaluated their techniques from hardware constrained device perspective [27, 85, 90, 92, 100, 102, 103]. Raspberry Pi, Orange Pi and Arduino. Raspberry Pi and Orange Pi are considered to be better than Arduino as an IoT gateways in terms of processing time [108]. Most lightweight solutions that are evaluated in terms of hardware constrained device chose Raspberry Pi device.

Figure 9, summaries and classifies the surveyed papers from solved-issue perspective. While the limitations noticed to be one or more from the following: (1) Theoretical solution or no real implementation, (2) Missing analysis (i.e. energy, security) (3) Application specific (e.g., IoV), (4) Use of Ethereum, (5) Delay, (6) High energy consumption. Figure 10 classifies the reviewed papers from limitations perspective.

Fig. 9
figure 9

Surveyed paper issues solved

Fig. 10
figure 10

Surveyed paper limitations

6.2 Future Direction

To highlight the future trends in this area for an efficient lightweight integration of blockchain and IoT, we recommend the following:

  • Proposing lightweight version of consensus protocols that provide better combination of blockchain and IoT in terms of energy constraints and security.

  • Considering PoC, PoE, and PoAh as lighter alternatives to PoW and better than PoS in terms of energy efficiency.

  • Using ECC asymmetric algorithm as a better alternative than RSA in terms of energy and throughput. Considering the following hashing techniques: QUARK, PHOTON, and SPONGENT instead of SHA-256 hash function that is usually used in blockchain

  • Further Examination and evaluation of lightweight exiting consensus protocols and cryptography algorithms to have a clear list and standards of lightweight algorithms recommended to be used in this area.

  • Considering advanced resource allocation and computation techniques when designing energy-efficient implementation.

  • Designing energy efficient models that combine all required parameters (lightweight consensus protocols, cryptography algorithm, resource allocation and security).

  • Considering energy/power evaluation analysis when proposing lightweight security solutions and other factors related to constrained devices such as computing resources and throughput.

  • As from hardware design perspective, a further study on the best hardware device type and constraints is required to perform the hardware mining process and other lightweight cryptography algorithms.

7 Conclusion

In this paper, a review of the lightweight solutions and techniques implemented in literature was presented and analyzed. As IoT devices are resource-constrained devices which require specific techniques that can handle the low computing energy/power, limited bandwidth and storage capabilities while providing the required level of security, especially when deploying blockchain technology, which is one of the promising technologies that offers many advantages to IoT environment. However, the security techniques applied in blockchain are not always suitable for IoT devices as they have strong security features and are power, energy and time consuming. Hence, combining these two technologies is a challenging task, which requires to consider many factors including architecture, area, energy, power, throughput, scalability, latency, security and hardware requirements.

In this work, we are focusing on the most critical factors; energy efficiency and security in addition to the hardware aspect. A lightweight solution should balance energy and security issues while considering the efficient hardware device. This work is the first work, to the best of our knowledge, to classify and analyze the lightweight solutions presented in literature from energy, security and hardware aspects. It is noticed that most of lightweight solutions handle each issue separately. Moreover, many works are theoretical solution or numerical models without considering the real blockchain-based IoT implementation. Energy evaluation for IoT hardware devices is not researched well enough just yet. In addition, there are other performance metrics related to IoT constrained-devices are not considered in the evaluation including utilized resources, throughput, and latency. Additionally, limited works evaluated their techniques from hardware constrained device perspective.

In order to implement efficient lightweight blockchain-IoT based frameworks, the following aspects should be considered (1) lightweight consensus methods, (2) lightweight cryptography techniques, (3) resource allocation techniques, (4) Energy-efficient models.

Future lightweight solutions should focus more on efficient energy implementation while considering the lightweight security mechanisms. Proposing and analyzing lightweight consensus protocols and cryptography algorithms that are suitable for IoT devices is considered as an important future work as well. It is highly desirable and recommended to validate proposed solution performance using real implementations using e.g. AISC or FPGA platform. The evaluation of IoT hardware device is required to be considered for efficient blockchain-based IoT hardware implementation. A survey that considers more performance metrics and the existing solutions could be addressed in future. Proposing guidelines and presenting the standards for each performance metric to best design blockchain-based IoT system could be another work to be considered.