Robonomics architecture

The main idea that the authors of Robonomics tried to convey before - is the natural, logical, and seemingly inevitable evolution from the current level of the economy into fully automated services. Automated services will need to have both the ability to speak the language of human economics and also the machines' own economics to perform various operations in the world around them at a speed not available to humans.

Next we would like to show you the practical areas of human-machine interaction using modern Internet technology. We will move from the familiar IoT device architecture of technical information exchange through cloud services to the organization of technical-economic interaction through a decentralized, globally accessible network of providers.

To begin with, we need to make an excursion into the area that is most clearly related to the network connection of automated systems. After that, we will look at the basics of the Internet of Things in order to highlight the problems and main challenges faced by the creators of IoT systems and to the solution of which Robonomics is aimed.

Overview of the state of the internet of things (IoT)

The issue of network accessibility of automatic devices has been discussed all over the planet since the 60s, and already at that time quite serious attempts were made to solve it. For example, the Soviet cyberneticist Viktor Glushkov proposed and partially implemented the automated collection of information on the production volumes of an individual plant as part of the design of the OGAS national information system in the 60s and 70s. It is widely known how the Coca-Cola vending machine was connected to the ARPANET in the 1980s so that the machines could report the availability of drinks and their temperature.

But still, the actual development of IoT is happening today, due to the widespread use of enabling technologies. The main drivers of the rapid evolution of Internet of Things applications are the results of the development of many areas – from wireless communications of various ranges and embedded devices, to cloud analytics and machine learning. The number of IoT devices has been growing steadily over the past 10 years (with a forecast of 25 billion units by 2030), and this has spurred researchers and developers to create new IoT applications in various areas such as healthcare, home automation, agribusiness, environmental protection.

We are more interested in the process of building IoT-systems and the tasks that arise in this process. Over the years of research, many different architectures have been proposed, and by averaging them, we can distinguish three basic components of an IoT system: devices, network infrastructure, analytical, computing and control machines.


New challenges

The development and application of the Internet of Things has shown that solving typical problems is not enough. Completely new concepts and principles, based on earlier mistakes and identified shortcomings, have emerged by the present day. This certainly convenient approach of using cloud services turned out to have a number of critical shortcomings related to scalability, privacy, and security. In an effort to solve these problems, it was proposed to bring data processing, logic, and computation closer to the immediate place where they are used. Thus, the concepts of fog and edge computing emerged, with intermediate systems between the cloud and devices taking over some of the cloud's functions. Therefore, the creation of edge systems has become one of the new challenges of building the Internet of Things.

Another recent challenge for building IoT has been the concept of the digital twin — a digital version of real equipment that copies its specifications and historical data. This concept is at its best in areas where it is necessary to have an accurate and complete specification of a process and be able to predict its development. The Internet of Things acts as the main integrator of digital twins, but this task is much more profound than the usual connectivity of IoT devices.

Right now we are witnessing a whole segment of the network, designed and convenient not for people, but for machines. The Internet of Things is no longer just the mechanics of connecting a device to the network, but more services, created and available specifically to devices. The Internet of Things not only connects the user and the device, but also helps the devices to handle the tasks of providing a service for the person, but autonomously.


Classification of IoT devices

Embedded iot systems

Such systems have no user interfaces and are typically used at the lowest level of the IoT ecosystems to provide basic functionality. Have to be energy efficient and small. Have limited computing and communication resources. IoT gateways or controllers usually act as signal receivers.

Edge-systems: IoT gateways and controllers

These systems act as a link between locally accessible embedded systems and the global Internet. They typically support multiple communication protocols of embedded systems and transfer telemetry from devices to the cloud and control signals backwards. Often these devices are a more sophisticated version of the WiFi router, equipped with a single board computer to perform primary processing of information from devices without leaving the local network.

Autonomous systems

This class includes complex automata (such as Spot from Boston Dynamics), which have a control component on the level of a full computer with a high-performance processor and a large amount of memory. In such cases, the robot is connected to the Internet without additional intermediate solutions (edge-systems). The necessary software for accessing the Internet of Things is installed directly on the computer of the stand-alone system. Data is collected and partially processed locally, then broadcast to the Internet similar to any full-fledged network device.


Internet of Things providers

The main job of IoT providers is providing users with remote access to data and analytics, as well as management of smart devices over the Internet. The main criteria for the quality of the provider is security of operations, stability of connection and availability of the provider from anywhere in the world.

The standard scheme for working with an IoT provider includes: installing software compatible with the cloud smart device, setting up cloud-side management services after the first successful connection of a device, connection of various kinds of analytical services.

Digital twins are the heart of the internet of things

Speaking of digital twins, it should be noted that architecturally their implementation is required; as a refusal to give the user direct access to control devices and change their states. Out of the most obvious reasons for rejection are, first, the presence of their own requirements and conditions in the devices just before the launch. Second, if multiple user devices must access a single data source, giving personalized control to each user can be critical. Lastly, it is extremely useful to keep the last actual state of the device available in case it goes out of operation.

As a result, we have a separation of the loop of information exchange with the user and the actual generation of actual data by the sensors. To illustrate this principle, below is the process of the user working with an IoT device using a digital twin.


IoT data flows in cloud services

1.

Input values for cloud triggers. For example, the cloud service sends various notifications to the user in the event of a report from a car alarm sensor about a strike.

2.

Output data for complex analytics that cannot be produced at the edge level. For example, when processing video for face recognition in a crowd.

3.

The basis for forming a digital twin of the device in order to create a cast of its state. For example, at the user’s request in the mobile app or on the website.


Popular examples of IoT solutions

1.

A typical smart home system provides a wide range of options for controlling your living space. With its help you can remotely control the door locks, setting up one-time or regular access to the room as family and friends, and for maintenance or delivery personnel. With numerous sensors and recording devices, the system is able to include video recording when triggering motion sensors, autonomously make decisions to shut off the water supply when a leak is detected in the water system, start a scheduled robot vacuum cleaner, providing a cleaning report to the user app, change the room temperature to the optimal value depending on your schedule.

2.

Smart cars. Providing the car’s onboard electronics with access to mobile Internet, the user gets access to remote control of various car functions directly from his smartphone: opening doors, turning on the air conditioner, controlling the headlights. If such cars are used for carsharing, then you can create an interactive map of the location of cars with their status, the remaining fuel, etc. for the clients of this service.

3.

Smart equipment leasing system. The company installs robotic manipulators on the conveyor line under a contract with payment for the number of operations or for the time of the robot. Manipulators regularly provide a log of operations performed, errors and warnings. The robot’s leasing fee is calculated on the basis of this, as well as the vendor’s predictive maintenance of the robots.


Current problems of building IoT solutions

Global availability

The standard client-server architecture requires specifying endpoints when routing messages from IoT devices. Thus, during the life of a smart device, the lack of connection will mean a limitation in the ability to control and interact with the device.

For example, the trade war between China and the United States is already a sword of Damocles hanging over thousands of consumers of Chinese smart appliances in the United States and vice versa. At any moment, the blocking of Xiaomi servers by the U.S. authorities could affect users of devices that connect to the manufacturer’s cloud services.

Being in the immediate vicinity of an IoT device, you can’t control it from a mobile app if there is no connection to the servers, through which the user authentication and telemetry collection from the devices themselves are provided. That is, the device is actually controlled by the cloud, not the user.

Cybersecurity

The most important reason for the low cybersecurity of most IoT solutions stems from the problematic legacy of cloud client-server architecture. For example, the most common smart home architecture right now is usually an IoT hub, connected to a cloud service. Thus, a typical IoT system is a central control element connected to multiple external systems. Certainly, the cloud service is more secure than low-level devices, but the consolidation of centralized control over hundreds of thousands of such systems makes any security breaches and leaks a massive disaster.

The cloud service servers are subject to all the typical cybersecurity problems: network attacks, DoS attacks (driving the system to failure), malicious modifications, user session hijacking, etc. But strong threats also include unintentional problems such as design errors, misuse or natural disasters that cause servers to fail. Also another definitely important point is the need in principle to trust the cloud and the people who maintain it.

All of this is exacerbated by the scale of IoT solutions. The number of IoT systems. Certainly, the cloud service is more secure than low-level devices, but the consolidation of centralized control over hundreds of thousands of such systems makes any security breaches and leaks a massive disaster.

Data privacy

The privacy point needs to be separated from cybersecurity, because this problem is specific to IoT systems. Due to the large number and varied device types that are much more integrated into the physical world than just computers and smartphones, the range of types of private data is multiplied. It’s no longer just GPS location, shopping records, financial transactions and photos, but also a permanent record of video and conversations, voice prints, health conditions and even a list of a person’s habits. Among the types of threats related to privacy are: identification of information, localization and tracking, profiling, inventory attack, data linking attack.

The creepiest part is that users have little or no awareness that they are giving up their privacy because they have almost no idea what data is being collected and how it is being used. The threat to privacy grows not only from intruders, but also from organizations and government agencies precisely because of this. The cloud IoT services typically require maximum data transfer from devices, and there are no ways to prohibit or narrow data transfer («Accept the Terms or Piss Off»). Moreover, despite the fact that the collected data is an asset and has real value, the person it is collected from is not only denied the right to actively dispose of that data, but even is denied any compensation for their own data’s collection and usage.

Main tasks of robonomics architecture

Building on the achievements and challenges of cloud platforms, Robonomics aims to offer the IoT market safer and more advanced Internet solutions at every stage of human-machine communication. Below are the main tasks that Robonomics is aimed at:

1 >>

Managing an IoT device using a decentralized cloud

Blockchain networks have all the capabilities to provide the highest degree of security for running a device and getting its telemetry. The interaction with the device can actually be described by changing the state of the digital twin stored in the blockchain network and sending information about these changes. In the case of a permissionless blockchain, we can talk about the guarantees of global availability of providers for IoT, as well as a high level of protection of digital twin data from unwanted changes.

2 >>

Performing technical and economic transaction between people and machines

Thanks to the mechanism of cryptocurrencies and smart contracts, we can provide access to automated systems directly to digital markets. For example, Ethereum already implements most of the basic tools of economic activity that can be used in the operation of autonomous devices. The applications created for the interaction between the end user and the IoT device will be much more effective if the terms of service and payment for it are inseparable from the launch parameters of the device.

3 >>

Serverless IoT applications for users

Modern advances in web3-technology can solve the issue of user privacy. With web3 there is no need to authenticate or require connection to specific servers to access telemetry and control the device.

Robonomics is a decentralized cloud for digital twins of IoT devices. Robonomics supports the techno-economic format for communication, as well as providing private applications for users


Basic components of Robonomics architecture

1

A human interface to access the system

2

A communication protocol

3

A machine interface

1 >>

Human interface:

We propose the use of decentralized applications (dapps) as the main way to connect users to control smart devices over the Internet. Thus, we will be able to provide the most secure (in terms of data) user interface to the system, which will be able to simultaneously work in the conditions of the local city network, and through a common global network.

2 >>

Communication protocol:

Its role is played by the Robonomics network, a specification developed by the project team that implements a decentralized network of providers that provide the transmission, processing and storage of information needed to run IoT devices. In fact, it is an implementation of a function-specific node for IPFS, Ethereum, and Polkadot networks.

3 >>

Machine interface:

We have chosen the most well-known robotics framework called Robot Operating System (ROS) as the standard interface for integrating any compatible cyber-physical system. Robonomics supports several uses for ROS. The implementation of Robonomics for the Ethereum network is in the form of the ROS package robonomics_comm. For the ROS 2 architecture, we implement support for Robonomics as a middleware layer (see «Robonomics as ROS 2 Middleware» for details). When the use of ROS is redundant (e.g., when working with IoT devices), a Python robonomics-interface module has been developed. It helps to access the functions of Robonomics natively and works with both local and private and remote and public nodes.


A simple representation of Robonomics architecture

Here is a general diagram of the complete device startup cycle using the Robonomics platform:

  1. The user’s decentralized application sends a request for a device control function through the Robonomics network.
  2. The Robonomics network provides request translation using libp2p and captures events in Ethereum blockchain or Robonomics parachain.
  3. The control of the device is provided by a decentralized network, which is guaranteed to store the necessary information to run the IoT device.
  4. The IoT device independently receives information from Ethereum and Polkadot networks about the current state of the digital twin. This ensures that the device can be started safely only after the technical and economic start-up parameters have been settled.
  5. As a result of the operation, the IoT device publishes a log of completed operations, which can be used as evidence of the service provided or for debugging errors.
  6. The log is transformed into a report for the user and becomes available in his dapp.