The combination of seemingly unrelated technologies to create entirely new systems and solutions is the cornerstone of engineering. The Internet of Things (IoT), cloud and blockchain are three massive tech trends that could combine to create an entirely new method of data process known as IoT-based computation. This development looks at the ‘art of the possible’ and this new way of thinking could provide powerful ways for a business to run autonomously.
Gartner estimates that 5.5 million new ‘things’ get connected to the internet every day. Furthermore, IoT growth rate is set to accelerate; the analyst forecasts that the number of connected things will have grown from nearly 4.9 billion devices at the end of 2015 to 20.8 billion by 2020.
The things will be everywhere, and they’ll be carrying out all manner of tasks, from the absolutely critical to the earth shatteringly mundane. The complexity of the network will be incomprehensible. Curiously though, most of the connected devices in this IoT landscape will be massively underutilized.
This underutilization is not because IoT architects are overcompensating in order to provision for anticipated periods of peak load – which is what happened in the data centre space in the early 2000s – rather, it is because modern processors have become very powerful and extremely affordable thanks to the global boom in smartphone and tablet technology.
So, in a situation that is analogous with the use of excess data centre capacity for cloud solutions- which is what happened in the data centre space in the early 2000s – there will be an opportunity to tap into a huge pool of underutilized processing capability in the IoT space of the future.
At this stage it is probably worth mentioning a few of the hurdles that must be overcome before we are able to tap into this network of over 20 billion devices. Unlike the machines that support cloud computing, which are housed in highly regulated data centres, and owned and managed by single entities, IoT devices tend to be widely distributed, and have diverse ownership. This makes communications difficult, and management problematic. The practical aspects of economic motivation, and reward, are also quite difficult to address. The owners of IoT devices need to receive positive economic benefits to participate.
Also, the simple transfer of economic value is non-trivial. A cloud computing provider is effectively a single payee, so establishing an efficient payment system is a business task with known solutions. In IoT Computing, there will be many payees, likely millions, potentially billions; so being able to efficiently pay each in a timely manner, in a way that doesn’t involve excessive overhead (i.e., more than the value of what are likely to be relatively small payments), is a hard problem.
Furthermore, the management of workloads from a security perspective needs to be addressed. Some workloads could be malicious so there is a need to either prevent their execution in the first place, or preempt them later as appropriate. This problem can be mitigated, as in cloud computing, by charging for execution. Also, containerization technology could help isolate execution. The general availability of workload execution also cannot be guaranteed to the same level as that supported by data centre-based computation.
IoT devices are deployed in real-world applications often without the benefit of enhanced physical security, backup power supplies, or redundant network connectivity. Any computer can crash, at any time, even those in data centres. IoT devices by their nature, and because of the environments in which they are deployed, are much more likely to fail. Those exploiting IoT Computing will need to deal with this reality.
Heterogeneity is another issue for IoT Computing; there is unlikely to be a single operating system for the IoT. Linux is currently a favoured choice, and this mitigates the issue somewhat. But not all IoT devices capable of supporting third-party workloads will run Linux; some accommodation is likely to be needed.
Finally, one of the main challenges will be how best to match workloads with IoT devices to run them. A decentralised approach is likely the only one to work efficiently. This is not really an issue for cloud computing where the vendor tightly controls the various specifications of the (virtual) machines it offers.
Blockchain makes it possible
Some of the most important questions raised above are with regard to the challenge of communicating with, and managing, potentially billions of IoT devices. A conventional, centralised approach would be an expensive undertaking in terms of time, personnel, infrastructure, logistics, and money. Blockchain technology provides an alternative that allows any single participant to essentially "outsource" the management, communications and scalable infrastructure problems to the peer-to-peer network that maintains the blockchain.
A blockchain is maintained by a distributed peer-to-peer network of computers called "miners". These computers (i.e., their owners) are rewarded for their efforts in units of the blockchain’s concomitant cryptocurrency, which in turn has financial value in the real world.
A significant advantage of using a blockchain as a communications channel is its ability to scale to large numbers of devices. The number of IoT devices is expected to number into the multiple billions; as discussed previously, the task of developing a centralised approach to communicating with such large numbers of devices would be an unprecedented economic and engineering challenge.
It should be noted that the use of blockchains to support IoT computing does not magically eliminate the cost of infrastructure or communications. In the end, the bits have to get to where the bits have to get to, and somebody, somewhere, is going to have to pay to make that happen; nothing is free.
Blockchain technology provides the ability to redistribute costs across all of the participants of the peer-to-peer network, and give each peer an economic motivation to provide their (small) part of the infrastructure needed to enable the greater good. This reduces the burden on any individual peer, while allowing them to leverage the resources of all. The cost to add a message to the chain is a small "transaction fee," so a broadcast type message could be added to the blockchain, and be received by literally a billion or more IoT devices for very little relative direct cost to the sender; this is not possible with a centralised approach.
Another benefit of using IoT devices is the redistribution of workload. The autonomous business, once it is set up with clear task owners defined, will simply run on its own. No further managerial or manual intervention will be required. As and when IoT devices fail (and they will fail eventually) there will another billion + devices out there to reassign tasks to. Blockchain is a distributed technology so it cannot fail, simple due to the volume of available IoT devices.
An additional economic advantage the cryptocurrency blockchain technology brings is a "low friction," low overhead, low cost, conduit for the exchange of value (i.e., money). Cryptocurrency financial transactions occur without reference to any centralised authority. Units of currency are transferred from one address to another with the details stored in the blockchain. There is no need to open an account anywhere or ask permission to make a transaction. This means that is quite easy and feasible for individual IoT devices to have their own accounts that they can use autonomously to receive or make payments.
No bank is going to close their account because it has been inactive or because the balance is too low. This makes it feasible for an IoT device to profitably receive small payments that can then (slowly) accumulate into larger more significant amounts. As mentioned previously the rewards earned by an IoT device from executing third-party workloads are basically a bonus for their owners. Without a low cost approach to accumulating small amounts of currency, from many payers, to many devices, without incurring significant losses from banking fees, that bonus would be impossible to collect, and IoT computing would not be economically viable. Blockchain makes it viable.
David Harvey is Principal Consultant, Banking & Securities Practice, Dell Services