In my “previous life” I was working on IoT (for several years) and actually I’m still interested in (I)IoT technologies plus I learn a lot about Bitcoin and blockchain.
Many people try to find mix Blockchain and IoT in order to:
- simplify communication between nodes in IoT solutions,
- increase the communication security,
- allow payments between nodes (e.g. my smart device can pay for some services when needed ).
In my opinion, there are four possible scenarios that I will briefly describe.
BaCoP — Blockchain as a Communication Platform
This is the case when you plan to move communications completely on blockchain avoiding other ways of communication(e.g. IOTA pretend to be the backbone of IoT ).
Sorry but this will not work due to:
- The required scalability of the platform — in IoT we have to think that many sensors (thousands or more) want to write many data every second in an asynchronous way and this information has to be available immediately for other boards. In some application you will have a burst of information after a specific event (like in earthquake sensors scenario) and usually I can not wait time and immediately broadcast the data.
- The communication speed — many data has strict temporal constraints (especially in IIoT) but blockchain usually has not so strict temporal rules.
- The useless duplication of data — IoT deployments generate a lot of data replicated in many places and we can not decide what is important and what we can delete.
On the other hand you can imagine moving only some relevant communication on the blockchain (e.g. payments) but in this case you will use other communication channels for all other messages.
BaCP is not a feasible scenario.
BaPP — Blockchain as a Payment Platform
In this scenario we will imagine moving only financial transaction on the blockchain, this can be a very interesting scenario if you want to use automatic payment with IoT solutions.
We will need a solution with:
- big market cap/most used crypto /most supported crypto — using the currency with bigger market capitalization allow more people to use the solution,
- immediate transactions — if you are in front of a vending machine you want receive immediately the product you paid for,
- low fees — if I want to enable micro-payments the fees cannot be too much high in order to be competitive with other payment technologies.
There are no reasons to create another currency but a mix of best technologies can create a working solution in this scenario, best min actually is the use of Lightning Network on the Bitcoin chain in order to allow micro-payments transactions.
BaCeP — Blockchain as a Certification Platform
Another idea is to use the blockchain to certificate some (non-financial) information, in this case for some specific messages you want to write on the blockchain or have some kind of proof associated to your data (proof of existence, timestamp, …).
In this case you need to use a blockchain that has to be:
- stable and available — in order to offer a good business continuity,
- public accessible — we don’t want some certification on a permissioned blockchain because we need a public verifiable certification,
- able to store non-financial information,
- able to scale.
This solution can be useful to:
- improve security in communication — for example, imagine that you have an MQTT broker that allows you to timestamp (maybe with OpenTimestamps) and sign every message,
- store some information on a public available place— for example, publish some deployment messages on the blockchain,
- persist a copy of the board configuration in a safe third place.
BaM — Blockchain as a Model
Last opportunities are hidden in the blockchain technologies.
Actual blockchains is a brilliant collection of P2P and cryptographic functions and ideas if you study how the blockchain works you can find out many little solutions used in this world that you can reuse to solve problems in IoT platforms.
The blockchain can be also a good place to learn about attacks and how to develop code able to survive to this attacks.