Decentralised-IoT

IoT & Blockchains

The Internet of things (IoT) is a network of devices which are connected to one another and enable each other to exchange data. With large number of devices connected to the internet, security becomes a major factor to consider. Along with security, micro-payments via the internet of things becomes a huge risk. Our target with this project is to rectify both problems with the use of Blockchain technology. We want to create a decentralized peer-to-peer network of IoT devices which share a common distributed database. This database is known as a blockchain. Blockchain ensures the ownership and integrity of the data solving the security problem faced by IoT. Also, cryptocurrency written over this blockchain would solve the micro-payments problem of IoT. The cryptocurrency design methodology takes into account that most IoT devices would be embedded systems thereby optimizing cryptographic standards for embedded systems. With this project we aim to improve the security risks which relate from data sharing and to reduce data redundancy by above 80%.

To maintain a distributed ledger/database a mesh network is created. Each node need not be aware of every other node in the network. Although, every node should be connected to every other node directly or through nodes. Whenever a node creates a new firmware/file it notifies the closest nodes which in-turn notify the other nodes. Thereby, every node on the network receives the new file. Every node then checks the consistency of the file using proof-of-kernel algorithm. Once a node checks the file it adds the hash of the file to the blockchain. At least 50% of the nodes on the network must verify the file and add it to their blockchain to make it immutable. This phenomenon is known as consensus. Once consensus is achieved the file becomes immutable and available to everyone. Every node minimally consists of a NodeMCU, SD card reader and SD card, battery, battery charging circuit.

Front-End of the Blockchain