In recent years, blockchain has attracted tremendous attention to enhance security, auditability, reliability, and anonymity of the Internet of Things (IoT) where billions of everyday devices are connected to the Internet to facilitate everyday life and offer personalized services. The various benefits afforded by blockchain technology make it an attractive solution to address security, privacy, and centralization problems in IoT. However, the existing blockchain instantiations suffer from the following limitations:
- Scalability and overheads: In a typical blockchain implementation, all blocks are broadcast to and verified by all nodes. This leads to significant scalability issues since the broadcast traffic and processing overheads would increase quadratically with the number of nodes in network. The associated overheads are intractable as many IoT devices have limited bandwidth connections (e.g. Low Power Wide Area Networks such as LoRa) and processing capabilities.
- Complex consensus algorithms: Most of the consensus algorithms employed in blockchain consume significant resources of the participating nodes which are far beyond the capabilities of most IoT devices.
- Latency: There is a non-trivial delay associated with ensuring that a transaction is confirmed by nodes participating in the blockchain. For example, in Bitcoin, it can take up to 30 min for a transaction to be confirmed. Most IoT applications have stricter delay requirements e.g. a service provider requesting data from smart home sensor should not have to wait for several minutes as the data are processed to offer real-time services to the user.
- Throughput: In blockchain, the throughput is defined as the number of transactions that can be stored. Classical instantiations of blockchain have limited throughput. For example, Bitcoin throughput is 7 transactions per second. However, the number of transactions in the IoT ecosystem would far exceed such limits due to extensive interactions between various entities.
- Database size: The large number of IoT devices will undoubtedly generate an equally substantial number of transactions which in turn would significantly increase the memory footprint at the participating nodes that store the blockchain.
- Flexible transaction storage: IoT applications are likely to have diverse storage requirements. For example, a smart device may provide its data to a Service Provider (SP) for a fixed period (e.g., a one year subscription to a service) and thus the associated transaction record may only be needed for this duration. As another example, a user may progressively install multiple IoT devices at a facility and may wish to summarize all transactions associated with these devices into a single consolidated transaction representing the entire facility. Such flexibility is not afforded by current blockchain instantiations wherein transactions are stored permanently and cannot be altered.
- Privacy and regulations: Permanently storing transactions of all devices of a user in the public blockchain could compromise the user privacy by: (i) linking multiple transactions generated by the same user, which eventually allows deanonymization of their identity (known as linking attack), or (ii) monitoring the frequency with which a user stores transaction even if the transaction content is encrypted which reveals information about the interactions between the IoT devices and/or SPs. Consequently, privacy concerns may motivate users to exercise their right to be forgotten and not store records of certain IoT devices in the blockchain.
Lightweight Scalable Blockchain for IoT (LSB)
LSB incorporates a number of optimizations which are:
-
The flow of data to and from the IoT devices is kept separate from the transaction flow.
- In LSB the participating nodes employ distributed clustering algorithms and group the overlay in clusters. Blockchain is managed by Cluster Heads (CHs) to ensure scalability and reduce processing and packet overhead on IoT devices.
-
LSB proposes a Distributed Time-based Consensus (DTC) algorithm that requires each CH to wait for a random time before mining, i.e., appending, a block in place of solving a computationally demanding puzzle, and significantly reduces the mining processing overhead.
- LSB employs a distributed trust algorithm that gradually reduces the number of transactions in a new block that need to be verified as CHs develop trust in each other.
- LSB proposes a Distributed Throughput Management (DTM) mechanism to dynamically adjust certain system parameters to ensure that the throughput of the public blockchain (i.e., the number of transactions appended to the blockchain) does not significantly deviate from the transaction load in the network. DTM ensures that network is self-scaling, i.e., as the network grows in size, more transactions can be appended to the public blockchain, thus increasing the throughput.
Full details of LSB are provided in [1-3].
Memory Optimized and Flexible blockchain for large scale networks (MOF-BC)
MOF-BC affords greater flexibility in storage of transactions and data of IoT devices by introducing temporary, permanent, summarizable and ageable transaction modes. MOF-BC empowers the blockchain users to remove their transactions from the blockchain while protecting the blockchain consistency and maintaining a level of auditability. MOF-BC enables IoT users to manage all their transactions with a single secret value, that can be password or fingerprint, along with a single encryption key. A number of agents are employed to facilitate the removing process of the transactions from blockchain. MOF-BC is a separate layer on top of the blockchain layer which makes it compatible with all the existing blockchains.
Full details of MOF are provided in [4].
Project Team
Dr. Ali Dorri
Prof. Raja Jurdak
Prof. Salil Kanhere (UNSW)
Dr. Praveen Gauravaram (Tata Consultancy Services)