Blockchain – A much secure authentication solution for IoT?

By scanning the market, type Blockchain + IoT, you will get a lot of results about different companies building solution for IoT with blockchain. Some familiar names include:

  • Slock.it
  • Streamr.com
  • Iota.org
  • anyledger.io

In theory, blockchain = security, and it’s a perfect match for IoT. As stated in one of another of our Gossipiece (Gossipiece: a great piece of gossip article). https://iotgossiper.com/2019/07/08/is-cloud-based-iot-solution-the-future/ Current Cloud solution faces a lot of challenges on security, data privacy, etc.

But what about reality? Although quite some companies have been working on decentralized solutions for IoT, you still don’t see massive deployment on the market…. Why is that? We gossiped a few reasons below:

1. Public Blockchain is too slow!

If you went to some blockchain EXPO, you probably have seen the company Slock.it demonstrate their smart locker system, which actually runs on Ethereum. It works really well in their demo, but we all know Ethereum’s consensus is POW (proof of work), meaning people have to do mining to reach consensus. That means… you have to wait a bit (depends in real-life) before the locker opens. Ethereum 2.0 is coming, hope they will resolve the speed issue. No need to mention other Blockchain architecture, they are just as slow as my snail… Still this is the best example I have seen in IoT + Blockchain.

Image result for slockit locker
Slock.it and their smart locker

But, some cool idea came out in 2015, IOTA, aims to integrate the altered blockchain to the “Internet of Things”, maximizing the efficiency of the payments made between the parts of the IoT devices. The DAG design sounds unbelievably real and I am almost believe it! Although it’s a leader based DLT solution, not flawless, I bought some MIOTA actually, lol. Their mainnet is live for a few years, but the things I heard from people (developers) is not encouraging. Tangle is really slow, throughput is not good, why it takes so long to confirm the transactions… Check out this article, it explains well: https://vxcompany.com/2018/06/11/iota-improving-your-confirmation-rate/ Thanks Jelle Millenaar 😉

and this old video… I know they are much faster now, so just for fun… 43 minutes to transfer 1 IOTA, I can feel the pain from the dude…haha https://www.youtube.com/watch?v=xTfkS16DCJA

Image result for IOTA speed test
it is much faster (in theory) than traditional blockchain architecture

How can you do IoT with such a slow architecture… no way! IoT machines talk to each other in the speed of internet!

2. Micro-payment is a challenge

Smart contract is easy to implement, solidity is awesome, use cases are cool… but, when make transactions, why I am paying more fees than the actually money I am sending??? Traditional blockchain doesn’t solve this problem… then someone invented channel! Basically you can do micropayment in this channel, receiver can wait till the whole channel gets closed and write to the blockchain or they can withdraw each amount transferred. To understand how micropayment channel works: https://coincenter.org/entry/what-are-micropayments-and-how-does-bitcoin-enable-them Channel enables micropayment, but still has some limitations, for example, the Bitcoin network allows transaction malleability. With the code in 0.10, a malicious server could modify the contract tx before broadcasting it, rendering the refund useless and allowing extortion of the user. I hope it’s resolved.

IOTA also supports micropayment, but like I mentioned above, they have a lot to do to increase their Tangle confirmation speed.

Image result for micropayment blockchain
If you are interested, please take a look at this article explaining about micropayment, and the lightning network: https://www.linkedin.com/pulse/future-micropayments-blockchain-jason-yanowitz/

3. Difficult to implement on IoT devices!

When we talk about easy to implement, we are talking about not just some SDKs, it must be simple and straightforward. How an IoT developer suppose to know how to write the solidity code to call an Ethereum SDK to do a transaction? Where is the device management SDK? I just want to control my device, no blockchain bull shit, please.

It’s not easy. a steep learning curve for existing IoT developers.

Image result for iot development

4. IoT market doesn’t want to pay the blockchain bubble!

IoT market is complex, more complicated than you expect. The whole ecosystem is still maturing itself. Hardware, software, platform, certificate, signals. communication protocols, all these technical challenges are slowing down this market. Blockchain? cool stuff, but doesn’t work.

The real value of IoT only appears when you can scale up, when you connect all the devices (massive) and when you leverage the data (some times in real time).

Otherwise, it become a raspberry Pi home project ——- just for fun ;-P

This is what I built for fun, but aim to make it productional 😉