Blockchain, smart contracts and IoT security

To what extent is Blockchain a solution for IoT security?

Blockchain history and status

Bitcoin’s strength is indisputable, as it is the longest-running and most secure blockchain in the world. We are lately seeing a lot of companies and institutions becoming more and more comfortable using the bitcoin blockchain.

Bitcoin is a decentralized digital currency created and held electronically based on mathematics. It has been around for almost 9 years, it hasn’t been hacked and it is offering security that doesn’t exist anywhere else.

So, the question becomes:

"how can we use blockchain to secure IoT?"

IoT security is a critical issue that must be solved for IoT to avoid nightmare scenarios with hackers taking control of IoT devices like smart cars, smart homes or even more importantly critical mission infrastructure.

The current security technical scope of IoT is somehow limited. Account names & passwords or even two-factor authentication systems are not enough. And this needs to change.

Applying Blockchain to IoT

A possible way of applying Blockchain to IoT is by creating permission-ed private networks.

In an environment such as a smart home or factory, various devices equipped with sensors, which are closely interconnected using a private blockchain, can be configured to operate more safely and reliably in accordance with each other’s conditions. A private blockchain is configured to perform not only user authentication but also mutual authentication between devices, generating and securely recording operation details and scenario-based IoT contracts.

This design avoids building on top of Bitcoin or Ethereum blockchains, and instead creates a separate blockchain designed specifically to be IoT friendly that is able to interact with a public blockchain that is already operating. But what makes a blockchain IoT friendly?

Some characteristics that seem important are:

  • Optimized mining algorithms that reduces mining monopolization
  • Use of a combination of public and private blockchains to speed up transactions

Optimizing Blockchain for IoT

A private blockchain network or a permissioned blockchain is a blockchain with access privileges. Its configuration means it may not be accessed by every node freely unlike a public blockchain. Therefore, to access a private blockchain from a public blockchain, a bridge node or a relaying intermediary is required. Such a configuration means that threats and vulnerabilities that may occur at the IoT devices Internet environment will not be inherited to the IoT device.

Using private blockchains is not only a matter of access control, but also improves speed. IoT is large-scale by design, but it can segregated to domains, each domain having a private blockchain to ensure fast transaction speeds. Current public blockchains like Bitcoin and Ethereum support very limited transaction speed, ranging from 7 to 25 transactions per second, while IoT may require the blockchain transaction speed to exceed 1000 transactions per second to become a viable solution.