Efficient self-organization in IoT systems is a major goal to handle the huge amount of expected devices. An important component of self-organization is consensus, a method used to reach a common agreement on system states. One such system state, e.g., could be the current firmware that each embedded device is running. Traditionally, a trusted cloud server sends firmware updates to each such connected device, which must verify the authenticity of the data using intensive cryptography. For this problem, a promising approach would be a decentralized and trustless firmware distribution by reaching consensus among the network participants about the latest firmware and verifying that every device is running the same version.
Blockchain as a Promising Solution
While the consensus problem has been solved for a small amount of network nodes, conventional solutions cannot be scaled to the large open networks of applications in a decentralized IoT. When the currency “Bitcoin” was invented in 2008, it solved the consensus challenge on a global scale by using a distributed ledger called Blockchain. The Blockchain is a distributed data structure that enables consensus in large open networks without any central authority. Blocks containing agreed data are appended to an ever-growing chain that can be verified by every device.
Blockchain on Embedded Devices is Challenging
For embedded devices, however, we need to reduce the resource requirements for storing and verifying the growing Blockchain without losing its benefits. Hence, in our focus group, we investigate how Blockchain technology can be transferred from cryptocurrencies to embedded devices in decentralized IoT environments.
In our research, we reduced the memory requirements that are necessary to verify that a certain block, which could certify a device firmware, is part of the Blockchain and thus accepted consensus. For this purpose, we proposed a new block structure that allows efficient verification of blocks as illustrated in Figure 1. With our approach, we were able to extract a subset of blocks from the Blockchain that provides the same evidence as the original chain but is significantly smaller than the entire chain. Instead of several Megabytes of chain data, only a few Kilobytes are necessary to verify any block in the Blockchain. The developed approach will extend Blockchain application to the class of highly constrained embedded devices for the IoT. A publication detailing the approach is currently under submission.