The blockchain and the Internet of Things (IoT) are two of the most transformative technologies in the world today. What happens when we put them together?
To see some of the possibilities, let’s quickly review the fundamental nature of both innovations.
A blockchain provides a shared and transparent ledger of certain kinds of events. In the Bitcoin blockchain, the events accounted for are changes to the holdings of a scarce token, and the resulting ledger is shared in a completely public manner. However, blockchains can also be used to account for arbitrary events (say, changes in physical custody over materials) and to create ledgers that are readable only to a smaller number of parties (say, participants in a given supply chain).
The Internet of Things is a catch-all term for ongoing efforts to connect a wide variety of physical things to communication networks such as the Internet, with a special focus on existing infrastructure (buildings, roads, vehicles, factory equipment, etc.) and constrained devices with extremely limited computing resources (switches, valves, sensors, actuators, thermostats, etc.). Within the IoT domain there exist a number of application types, such as remote monitoring, asset tracking, and smart metering, as well as industry-specific solutions for energy, construction, manufacturing, agriculture, and so on.
At first blush, the connecting points between blockchain and IoT might seem slight, for several reasons:
- The limited capabilities of typical IoT devices would seem to prevent any close integration (something like a light switch can’t be expected to calculate blocks for appending to a blockchain).
- Bitcoin transaction costs might inhibit interactions like paying for a discrete temperature reading from a sensor at a particular latitude along a remote pipeline.
- IoT endpoints are often sleepy nodes with only intermittent connectivity, which could increase the possibility of double spend attacks.
- Much of the information generated by IoT installations needs to be kept private (such as maintenance activity on a power grid or readings from personal medical equipment), yet traditional blockchains (like the blockchain behind Bitcoin) can be viewed by anyone and the ledger entries are much less anonymous than you might think.
However, when both technologies are properly understood and applied, the possibilities are very intriguing.
Identity and Discovery
The first step toward fully distributed IoT devices is a decentralized basis for endpoint identity and discovery. In small, private IoT deployments, peer-to-peer trust can be configured into each device through a whitelist of endpoint keys (in addition, devices can discover each other based on proximity). Clearly, however, that method would not scale to larger deployments or public networks.
Traditionally this problem has been solved using the Domain Name System (DNS), which has scaled surprisingly well to millions of Internet nodes. Yet the prospect of adding many billions of IoT nodes—especially ones that have intermittent connectivity—might challenge the capabilities of the DNS. In addition, the DNS depends on a centralized trust model that it ultimately dependent on 13 root name servers, which is at odds with the decentralized ethos of Bitcoin and open blockchains.
Enter technologies like Blockstack, Namecoin, and blockname. These systems provide global, decentralized registries of “things” like device identities and keys. Unlike centralized systems in which addresses are assigned in a hierarchical context (device@host, with the host obtaining its identity through assignment of an IP address or registration of a DNS domain name), a blockchain-based approach is more agile because it enables devices to register directly. The security properties are also desirable, since each identity that’s registered can be associated with the device’s public key, thus enabling more secure bootstrapping of communication and greater trust in the overall network.
Proof of Payment
As billions and billions of devices get deployed in the Internet of Things, managing those devices will become a significant challenge. As one example: how does a device know that it is authorized to keep operating? On the existing Internet where a device is almost always connected, it would check in with a centralized service. However, many IoT devices are so-called sleepy nodes, which are not always online (in order to conserve battery life) and in fact have only intermittent connectivity to wider networks (e.g., because they are deployed in locations beyond the reach of WiFi or even cellular).
An even knottier problem is raised by the constant change endemic to the tech industry, where a successful service provider might be taken over by a competitor or taken offline by an acquiring company because it wanted the talent, not the service itself (case in point: Google Nest team’s disabling of Revolv Hub devices). In the absence of the centralized service that powers the products, devices could suddenly cease to function as advertised. To prevent such an eventuality, a device could obtain a receipt (i.e., proof of a payment transaction that completed in the blockchain) and keep functioning even if the original service provider goes offline.
By moving payment record-keeping and device identity from privately owned centralized servers to open network infrastructure, blockchain-powered IoT devices may help temper the consumer protection and competition policy issues emerging in the IoT industry.
IoT devices hooked up to sensors and actuators provide the perfect environment for microtransactions. If such devices are autonomous and thus can contract individually or collectively with potential customers, they can charge for any number of potential interactions: device discovery, network connectivity, sensor readings, actuator access, and much more.
For instance, imagine that a rail company has outfitted various pieces of infrastructure (switches, crossing bars, end of train detectors, etc.) with small IoT monitoring devices that communicate over long-range radio to eventual backhaul locations at its rail yards. The primary purpose of these devices might be to improve the safety and on-time performance of trains using its network. However, the sensors might also monitor various environmental conditions such as temperature, humidity, and ambient light, and that data could be sold to interested parties (e.g., a weather forecasting service) either in aggregate or individually by particular sensors. Another micro-revenue opportunity is selling access to the communications network that the rail operator has established along its right of way, for example to farmers needing intermittent connectivity.
In a previous Coin Center backgrounder, Chris Smith outlined how Bitcoin micropayment channels represent one approach to such transactions. In essence, the two parties establish a shared escrow or “tab” against which the buyer can charge smaller microtransactions. Such an escrow is established using the multi-signature feature along with a lock time, so that the funds are not paid out until both parties agree that value has been exchanged in accordance with the underlying contract. By employing a shared escrow, the seller also limits the risk of double spending by the buyer (assuming eventual connectivity to sync with the relevant blockchain ledger). The Lightning Network is a proposed extension of this architecture that could allow two people or devices to pay each other without creating a channel specifically for the transaction (this is done by sending payments through a pre-established network of several payment channels).
One common misunderstanding is that IoT devices might need to complete the resource-intensive task of calculating blocks (also known as mining) in order to securely engage in blockchain interactions. Thankfully, that is not necessarily the case because it can be sufficient to keep the equivalent of an onboard wallet that can utilize these payment channels. However, micropayment channels do require both parties to re-sign each transaction—an operation that can still be too intensive for highly constrained devices. A lightweight alternative is to use simpler hashing techniques to validate changes to the microtransaction tab between both parties.
Many IoT applications involve regularly gathering small bits of data from edge nodes over long periods of time. The kinds of information involved are endless: valve settings, meter readings, environmental conditions like temperature and humidity, geolocation points, water levels, maintenance inspection updates, you name it. Naturally, this data is often uploaded to a time series database. Adding it to a blockchain-based ledger—which, after all, is essentially a cryptographically-assured time series database—makes perfect sense for many IoT applications.
Consider, for example, the operation of an oil refinery: it might receive crude oil feedstock inputs from a number of well heads, send processed outputs via rail and truck, function as an authoritative measurement point for purposes of extraction taxes, involve the contributions of several different operations and maintenance companies for specialized sub-systems, and necessitate compliance with a large number of regulations. The opportunities for cost savings and process improvements are significant:
- Automated measurement of on-site and in-field flow meters through standardized sensors and IoT connectivity solutions can enable precise determination of production from each well head.
- By instrumenting a few hundred key maintenance points, the refinery operators can reduce the need for manual inspections by personnel walking around with clipboards (still surprisingly common even today).
- Strong authentication of delivery vehicles at well heads and truck outs, along with remote monitoring of pressure drops, can help prevent theft of feedstock and refined materials, which is all too frequent in the industry.
So far these are fairly typical business process improvements that can be realized through the application of IoT technologies. Now consider some of the additional benefits of placing the resulting data in a blockchain-based ledger:
- Taxation authorities can trust production amounts down to the individual wellhead, leading to more accurate and efficient revenue allocation. In addition, the producers can eliminate expensive “production accounting” functions.
- Regulatory agencies can determine compliance based on assured data from instrumentation on site, instead of relying on post-hoc audits of a voluminous paper trail (which are often charged back to the operator).
- Insurance companies can provide reduced rates because maintenance and safety records are authenticated and immutable.
- Multiple parties can have the same view on data reflecting joint operation and maintenance of the plant, thus increasing trust and improving coordination.
This is just one example from one industry. Similar improvements can be achieved in domains as diverse as transportation (e.g., automated tracking of intermodal containers), agriculture (e.g., chain of custody for perishables), mining (e.g., collision avoidance at open-pit mines), and manufacturing (e.g., inventory control and production reporting). Although such data would not necessarily be stored in the public Bitcoin blockchain for reasons of scalability, cost, and privacy, using a private blockchain that is shared among the relevant parties (e.g., within a supply chain) is an excellent alternative.
Where We Go from Here
Forward-thinking organizations are just beginning to explore the possibilities of combining the blockchain and IoT. Despite the fact that there is quite a bit of hype around both technologies, there are significant business and security benefits to be realized. This backgrounder has merely scratched the surface, and hasn’t delved into the large number of potential applications in supply chain management, risk mitigation, workplace safety, regulatory compliance, distributed energy production, and much more. This is definitely a space to watch as deployments start to come online in the next few years.
Peter Saint-Andre is CTO at Filament, a provider of secure, decentralized technologies for connectivity, exchange, and edge computing in the Internet of Things.