Blockchain technology is no longer in its infancy but it is still very new. Similar claims can be made about the Internet of Things (IoT). The buzz surrounding blockchain applications in IoT has been considerably more recent. The “alliance” of these two applications is still untested and still applies today.
Let’s step back a bit and re-learn the Blockchain Of Things definitions from our point of view:
Blockchain is an immutable, shared ledger for recording transaction history. It fosters a new generation of transactional applications that establish trust, accountability and transparency from contract to action to payment.
Internet of things or IoT is a scenario of the world, when each object and person is provided with its own identifier, and all are able to transmit and exchange information and data over a network. without the need for direct human-to-human, or human-to-computer interaction.
Currently, the exchange of data on IoT devices is through a centralized server. This really causes a lot of problems. A data warehouse can be defined as a treasure (device-related data) that is concentrated at a single site. If an attacker targets this website and succeeds in accessing this data, all other members of the network will be compromised.
Let’s take a look at some of the ways blockchain technology can help decentralize data exchange. A blockchain-based solution will always ensure:
- Trusted Transactions: All transactions are recorded in the ledger and are immutable once confirmed. In addition, the ledger is distributed and thus anyone can download and audit the transactions.
- Trusted data access: Data access rights can be decided by the data owner.
- Trusted Privacy Security: Data owners can protect their personal information while exchanging data as they will only provide the public key to others.
This can be done using a layered architecture like this:
We’ll look at the layers from the bottom up:
- IoT data: Storage cloud, database cloud, wireless sensor nodes.
- Blockchain Node Data: Stored on the blockchain network, used to record the entire data exchange.
- Different device networks: Peer-to-peer network, web site, storage cloud.
- Blockchain network: Nodes store copies of all transactions.
It controls user security and manages permissions on the platform. With that, it tracks data access rights, exchange relationships, and transaction history. Also, data auditability is highly dependent on this layer.
It provides an interface for data exchange parties to interact with each other through websites or mobile devices connected to the internet.
When included in the network layers, the layers should look something like this:
The combination of IoT and blockchain is based on 4 main bases:
- Smart contract
These four bases really help us to come up with a communication model that includes:
- Peer-to-Peer Messaging: To Establish Consensus
- Distributed Data Sharing: To maintain a distributed ledger.
- Automatic coordination with devices: This can be achieved by using smart contracts that govern the transactions made whenever any data is read by the sensor.
- All of these components of the communication model are supported by cryptographic algorithms, such as the Elliptic Curve Digital Signature Algorithm (ECDSA) that allows data exchange and access using public and private keys.
Another interesting goal this combination can achieve is identification and access management for devices. Usually, data coming from an IoT device is considered more reliable. But this won’t be true if the device is compromised. A cryptographic hash in the device’s state and hardware configuration can help us verify that the data is not coming from a rogue device. We can use hash to verify if the device is genuine and install tampered software.
We can define a tuple that is used to represent an IoT device in the network:
ID – Unique Identifier / Shorter version of public key
Kpub – Public Key
Kpriv – Private Key
π (nonce, firmware, Kpub) – A hash generated using the above irreversible hash functions:
- A randomly generated nonce.
- Hardware configuration and device status.
- The public key for the device.
π (nonce, firmware, Kpub) essentially forms the trusted hardware root for the device. Let’s call this ‘Proof of firmware’.
The feasibility of such an algorithm can be tested using low-power autonomous sensor networks connected to a decentralized blockchain network. The transaction pool can be highly volatile, but the branching factor and the maximum size of the transaction pool can be limited.
The test parameters can be:
- Block arrival time, considering the size of the network.
- Stabilization time for different network sizes
- Check for lossy links in the network
Let’s look at the benefits that such an algorithm can bring:
- A Sybil attack is when the reputation system is attacked by spoofing identities in peer-to-peer networks. In much simpler terms, a Sybil attack is when malicious devices can impersonate other devices on the network. The algorithm can help prevent such an attack.
- Also due to the distrust in the original hardware it provides dynamic authentication and can avoid replay attacks.
However, there are some challenges when using IoT with blockchain, which is also a potential area of research in the blockchain space:
- Store the ledger across all peer-to-peer devices.
- System scalability (Block size, block arrival time)
- Deal with the growing number of devices and the cost of communicating between them.
- Handle latency and bandwidth for different devices in the network.
- Distinguish malicious nodes in the network
- Hardware update management, fake software detection, fake component detection.
Blockchain needs to adapt to build trust on the Internet of Things (IoT)
Follow the Twitter page | Subscribe to Telegram channel | Follow the Facebook page