A Closer Look at Blockchain for IoT
Isaac Brown | Lux Research
In our last article, we discussed the use of blockchain to improve the security and scalability of Internet of Things (IoT) deployments. Buzz around blockchain is picking up rapidly as innovators in every field apply the concept to different applications – while the value proposition for blockchain is strong for the IoT, there are unique challenges that will delay its implementation. The fundamental premise of blockchain is to create multiple databases (“ledgers”) that live on all of the nodes in the system, which eliminates the need for a centralized data repository, while increasing the difficulty of tampering with the data sets. As more data is compiled in a given system, the size of the blockchain grows – the Bitcoin blockchain, for example, recently surpassed 60 GB. This dataset includes the details for every Bitcoin ever created and transferred, which lives largely on the personal computers (PCs) of members of the vast Bitcoin ecosystem. While 60 GB is no sweat for the average PC, the average edge device in an IoT deployment is often built to meet strict memory, compute, and power consumption constraints.
Several methods can minimize the footprint of a blockchain – some deployments involve breaking the full ledger into smaller pieces and spreading them across different nodes, so each node does not need to carry the weight of the entire ledger. Another approach involves storing the ledger locally for a specified amount of time, then dumping old data into a larger repository to free up node space for the future. One interesting method is to simply store the “proof-of-work” codes of each transaction block, which is similar to compressing a video – to understand how this works, let’s take a deeper look at the basic building blocks of the Bitcoin blockchain to understand how we can apply it to the IoT. Every ten minutes or so, a new “block” is added to the Bitcoin blockchain – this block is a set of all the transactions that happened across the Bitcoin network in the prior ten minutes, similar to a page in a banker’s record book. The system then creates a proof-of-work of the block – creating a proof-of-work code involves applying a cryptography algorithm that turns all of the transaction data in the block into a string of text that may look something like this: “0000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d.” No two blocks can result in the same proof-of-work, and finding the information in the block from the proof-of-work alone is nearly impossible, so the proof-of-work can be used as a lightweight token to represent the entire block.
In a recent conversation with Olea Networks, the firm’s CTO, Stefan Grefen, said that the major challenge to deploying blockchain in IoT is to balance memory, communication, and compute with device size and power consumption. Olea develops intelligent edge systems for monitoring water infrastructure and quality – it has been developing a blockchain system that it plans to release in early 2016, which will use all of the methods described above to decrease the ledger footprint on each device. Stefan explained that for a given deployment, Olea will create two linked blockchains: one on the nodes and one in the cloud. In order to maintain the size and power requirements of the devices, the device ledger will transfer to the cloud periodically, freeing up space for future data on the edge devices, while preserving the history of datasets from the system. To further consolidate, many of the devices maintaining ledgers will only retain proof-of-work codes of transmitted blocks rather than complete blocks – if the full block ever needs to be looked into, users can access them in the cloud ledger and ensure that the data has not been altered by comparing it to the proof-of-work codes on the devices. Stefan said that to minimize the data transmitted to users, Olea could, for example, just send the proof-of-work codes for water quality data to the Environmental Protection Agency (EPA) – if the EPA years later decided it wanted to conduct an audit, it could verify that all of the blocks it audited were truthful because it would have the proof-of-work codes. Overall, this approach could increase the visibility into essential water data, improve the reliability of the data, and decrease the cost of data transmission both internally and externally – but the concept of blockchain in IoT is very new and implementation may prove more challenging. Readers should understand that while blockchain may already be providing huge value in multiple industries, it needs to overcome several obstacles before it can be broadly applied in IoT.
Isaac Brown is an Analyst who leads the Industrial Internet of Things (IIoT) Intelligence service at Lux Research. Lux Research provides strategic advice and ongoing intelligence for emerging technologies. Leaders in business, finance and government rely on Lux to help them make informed strategic decisions.