Close your eyes and imagine the future Internet of Things (IoT) — what do you see? Most imagine a world where all devices are connected, can talk to each other seamlessly, and are “smart” enough automate our lives while keeping our data private. Unfortunately, today’s IoT landscape is far from this future vision and innovation in the IoT industry is relatively stagnant. Using traditional cloud-based approaches, we have succeeded in connecting everything to the Internet, but have hit technical and operational roadblocks in interoperability, automation, and data privacy. Overcoming these roadblocks and capturing the full potential of IoT requires a new decentralized approach: blockchain technology.
The intersection of blockchain and IoT has grown rapidly in 2018 and is still gaining momentum. What started as a nascent industry has transformed into a vibrant ecosystem of companies developing blockchain components and solutions for smart cities, supply chain, renewable energy, transportation, and other IoT-enabled industries. Although it is simple to bundle all of these companies together as “blockchain & IoT”, they actually vary in scope/approach and address different layers of the blockchain & IoT tech stack:
- IoT Devices: a physical layer of connected devices that capture and transmit data to the blockchain, making it usable in various applications || Example: Bosch
- Connectivity: enables transmission of data from IoT devices to the blockchain; IoT devices support one or more types of connectivity networks || Example: AT&T
- Blockchain platform: an environment which facilitates the building and running of DApps — includes infrastructure (compute, storage, network resources), protocol (consensus, permissions, other network rules), and services (tools/modules to facilitate DApps)|| Example: IoTeX
- Decentralized Applications (DApps): user-facing software built on blockchain infrastructure that performs specific functions using data, user inputs, and smart contracts || Example: HAB, weeve
In our last blog “Blockchain’s Role in Today’s IoT Landscape”, we explained how blockchain will revitalize innovation in the IoT industry and unlock new capabilities. In this blog, we take a deep dive into the multiple layers of the blockchain & IoT tech stack and describe how these layers ultimately come together to form end-to-end IoT solutions.
Internet of Things (IoT) Devices
Connected IoT devices serve as the bridge between the physical and digital worlds and can greatly expand the reach and impact of many applications. While non-IoT applications only process data from user-generated actions (i.e., sending tokens between nodes), IoT-enabled applications can push/pull data from IoT devices, which operate as nodes in the network. By 2023, there will be an estimated 100 billion IoT devices that will digitally record the physical history of our world.
IoT devices generally have one or more types of sensors/trackers (e.g., location, temperature, speed, light, air quality), which digitally record physical qualities of a person, asset, or environment at a specific point in time. There are billions of IoT devices that collect data for various purposes, including battery-powered sensors deployed in hard-to-reach areas and smartphones with advanced sensors (e.g., gyroscopes, accelerometers). In addition to types of data they capture, IoT devices are further differentiated by their compute / storage resources, connectivity, and power:
Advancements in hardware and chip design are pushing AI/ML and intelligence further towards the edge, and trusted execution environments (TEE) are being used in more devices to ensure data integrity and confidentiality. The blockchain industry also has ambitious plans for IoT hardware — crypto wallets are embedded into various devices, routers double as mining units, and many protocols are being developed for blockchain-powered M2M payments. As the intelligence and security of IoT devices grow, new user-to-device and device-to-device capabilities will emerge, where smart devices act as trusted third parties and drive automation.
All IoT devices have built-in chips supporting one or more connectivity standards, which have varying data rates, ranges, power consumption levels, and costs. Connectivity is the means by which information is passed between devices — in the context of blockchain & IoT, connectivity enables two-way communication for edge devices, gateways, and servers. Every IoT use case is unique, so understanding the characteristics and compatibility of various connectivity types is crucial to optimize performance and minimize costs. For example, a use case that uses battery-powered sensors will prioritize power consumption over speed, while a video streaming use case will prioritize speed over the range. An overview of common families of connectivity standards (note: most have multiple variants) is provided below:
These connectivity standards are used independently and collectively in IoT solutions. To extend the reach of data gathering and intelligence to the edge, a combination of edge devices (using BLE, LPWAN) are commonly paired with more powerful gateways (using WiFi, cellular). There are many tradeoffs to consider when determining the appropriate combination of connectivity technologies, such as bandwidth, power consumption, range, and cost. We provide some example implementations below:
Low bandwidth + Low power consumption + High range
- Goal: send a little data over a long distance using low-power devices
- Example : send data from remote sensors in a desert to the nearest gateway
- Connectivity options: LPWAN (LoRa, Sigfox, NB-IoT)
High bandwidth + Low power consumption + Low range
- Goal: send a lot of data over a short distance using low-power devices
- Example: send streaming data from multiple sensors to a nearby gateway
- Connectivity options: Bluetooth or WiFi
High bandwidth + High power consumption + High range
- Goal: send a lot of data over a long distance using full-powered devices
- Example: send video from a cell phone when you are outdoors / no WiFi
- Connectivity options: Cellular or Satellite
There has been tremendous growth over the past few years in both the number and capabilities of blockchain platforms. Much of this innovation has been in the base platform layer, as a strong foundation is necessary to support future applications. All blockchain platforms are unique but share the same goal of attracting developers to their platform by providing superior technology, user experience, and/or governance. Before diving deeper, let’s take a step back — what is a blockchain platform exactly, and how are they differentiated?
At a high level, platforms enable developers to build, deploy, and maintain software applications within the same technical environment (e.g., iOS / Android mobile apps). Cloud platforms (e.g., AWS) offer tools, services, and infrastructure (e.g., S3, EC2) which lower the barriers to entry of traditional application developers. Unlike traditional applications, blockchain-powered DApps run on decentralized peer-to-peer (P2P) networks, where all nodes “reach consensus” by maintaining a verifiable distributed ledger. The method by which a network reaches consensus and other rules/procedures that govern the network are defined in a blockchain protocol. As we explain below, a blockchain protocol, infrastructure resources, and services are the core components of a blockchain platform.
- Infrastructure is a collection of hardware and software resources that provide the foundation to run DApps. Instead of building and maintaining their own blockchain infrastructure (i.e., servers, databases, network), most DApp developers utilize blockchain-as-a-service (BaaS) to reduce complexity, costs, and effort. BaaS not only provides compute and storage resources but also allows developers to join and participate in an existing network of nodes. Most platforms have varying infrastructure elements to enable specific properties of computing (i.e., stateless, stateful, HPC), storage, and networking.
- Protocols define and encode the system of rules that govern a blockchain. When designing a protocol, there are many tradeoffs to consider that greatly affect security, scalability, and decentralization. Major design decisions include how consensus is reached, how transactions are processed (e.g., ordering, block height), and who can join the network (i.e., permissioned vs. public). Some protocols also support Layer 2 architectures (e.g., sub-chains) and private transactions. These protocol design choices and how they are implemented are the biggest differentiators of blockchain platforms.
- Services are optional tools/modules that developers can use in their DApps. Services increase the usability of a blockchain platform and are configurable to fit specific requirements of various DApps. Platforms may also integrate third-party services and make them available to developers. Even if a specific service is offered by a platform, developers may choose to build it themselves if it is a core component of their DApp.
Blockchain platforms make upfront design decisions to tailor fit their technology for a specific purpose. For example, IoTeX is a blockchain platform designed and optimized for IoT. With the goal of building a robust yet lightweight protocol tailor fit for IoT applications, IoTeX’s blockchain design includes an in-house Roll-DPoS consensus mechanism, privacy-preserving techniques, root chain + sub-chains architecture, and support of low-power IoT devices. You can learn more about IoTeX here.
Decentralized Applications (DApps)
The application layer will be the most diverse of the blockchain & IoT tech stack due to the wide range of potential use cases. Much like applications on a smartphone, blockchain-powered DApps are software applications that coordinate data, user inputs, and programmed logic (i.e., smart contracts) to perform specific functions. In addition to their standalone capabilities, DApps are often equipped with interfaces that allow them to interact with other applications and utilize third-party services. Another key feature of DApps is the use of tokens (either their own or a platform’s) to facilitate the exchange of value between nodes and manage crypto-economic incentives. Although DApps will differ in design and purpose, they generally consist of three core components:
- User interface (UI): front end design (e.g., mobile, desktop) enabling users to interact with an application. Different views can be created to visualize data on the blockchain, gather new user inputs, or send tokens/data to other nodes.
- Business logic: programmable smart contracts define and enforce business rules within a DApp, making blockchain data usable. For example, developers can build simple smart contracts to automate data capture from an IoT device. Multi-party workflows can be encoded and automated using more complex smart contracts.
- Software development kits (SDK): built-in tools and protocols that enable DApps to interface with other public / paid third-party apps and services instead of building in-house. For example, a DApp that uses map data may have a built-in interface to Google Maps.
Blockchain is applicable in many use cases, but it is not optimal for every type of use case. As with every type of technology, there are tradeoffs to consider. Blockchain applications currently offer high data integrity, but traditional applications are faster and less expensive. As blockchain matures, the speed and cost of running DApps will catch up to traditional applications. Until then, use cases that prioritize security and trust over speed and cost will be early adopters of blockchain. Examples of in-progress blockchain & IoT use cases can be found on the IoTeX partnerships page, and characteristics of optimal blockchain use cases are listed below:
The Path Forward for Blockchain & IoT
Blockchain, IoT, and connectivity technologies are growing as independent industries, but the intersection of these three technologies may be even more exciting. Not every IoT use case applies to the blockchain, but the ones that do address some of the biggest social and corporate issues today. On the consumer side, blockchain & IoT will provide data privacy solutions and drive data ownership (and value) away from corporations and back to consumers. On the enterprise side, blockchain & IoT will enable trust amongst otherwise untrusted parties, opening up the doors to brand new engagement models and business opportunities.
As the convergence of these technologies matures, we will start to see more opportunities for “killer use cases”, especially in the IoT industry. We are now at the cusp of major technological breakthroughs in blockchain scalability, privacy, and interoperability. These enhancements to the base layer will drastically improve the user experience of DApps, which currently struggle with adoption due to poor usability. The last piece of the puzzle will be to design crypto-economic incentive structures, which can effectively codify consumer practices and business models across industries. The future of IoT will be decentralized and the best is yet to come.