Blockchain Is Great…
The concept of blockchain-protected transactions is great in those systems, such as cryptocurrency (e.g. Bitcoin), that can handle the massive overhead associated with the way in which this technology is currently implemented. Using secure ledgers that consist of individually-protected entries between two endpoints, being able to follow transactions in a multi-point system and viewing histories of transactions are extremely powerful tools. While many people initially thought cryptocurrencies were doomed to be instantly hacked to death, blockchain has proven to be a formidable protective agent.
…But Not In The IoT
Many people are pushing the use of blockchain processes in the IoT. The premise is sound – tons of autonomous devices making continuous connections and exchanging data without oversight clearly need some sort of management option. That stated, the concept of large blocks of transactions being chained together and computed on each device is not realistic. Sure the concept is sound but the implementation, in its current state, just will not work.
Architecture Is Required
Many people envision IoT as some jumbled mess of devices all freely communicating with no organization in sight. This is simply not true. In fact, IoT devices behave in a similar manner to any other connected computer. They run on local networks, called subnets, that are connected to higher and lower subnets and together form larger networks. In the IoT, more so than traditional enterprises, devices tend to do most of their work locally with higher-level devices such as hubs connecting data between levels.
This is where architecture can be used to overcome the challenges of blockchain and is, in fact, how Bear implements blockchain protection today. Instead of every device constantly providing computed entries into a large ledger, higher level devices – which we term Local Domain Controllers (LDCs) – get a report of a transmission and a reception for a given exchange and then enter that information into a ledger just for the devices in the local subnet.
Higher-level LDCs receive periodic, blockchain-protected, updates of transactions for lower-level subnets and pass those along to central domain controllers. In these cases, only the communication of the transfer of data is recorded in the upper-level LDC as the data is blockchain-encrypted directly to the higher level domain controller. These central domain controllers – which might reside in a cloud – contain the entire ledger for the overall system with the individual entries distributed in an IoT-friendly manner.
In this way, the core principles of blockchain are protected – individually-protected transactions between two devices; ledger entries for the transmission/reception of said data and, at the core, a complete history of transactions – without compromising the efficiency required by IoT devices.