“Give a small boy a hammer, and he will find that everything he encounters needs pounding”
This quote accurately describes how researchers in industry and academia alike tend to approach new problems. When “blockchain” first came to my attention courtesy of a highly enthusiastic colleague, it appeared to be just another hammer. In order to assist him with his work – and experiencing a certain amount of FOMO – I decided to help him look for actual use cases for distributed ledger technology (DLT) in our field, which is manufacturing and Industry 4.0.
The idea: how can Industry 4.0 benefit from blockchain technology?
Industry 4.0 aims to turn machines into smart, context-aware, and autonomous agents connected with their surroundings. This is already a nice start, but we need to go a step further. We need to imagine a move away from centralized production in the form of classical facilities. In our vision, any machine that can potentially play a role in a production process could autonomously form part of a production line with other machines worldwide. To enable this – apart from the classical administration shell features – machines in our view need the ability to wager, negotiate, and, most importantly, exchange values with other machines. Assuming a smart machine is the equivalent of an employee, we want to turn smart machines into entrepreneurs and their (human) owners into their shareholders.
With this idea in mind, I went to Bosch ConnectedExperience 2018, the largest IoT hackathon in Central Europe, hosted by Bosch Software Innovations. There, I was fortunate enough to find a great (if not the greatest) team of developers, and we started to build a prototype.
Our prototype: machines that pay each other autonomously
The prototype we created can be best described as a wallet that enables machines to form a network of service providers. This network is made up of production machines, transport equipment, or other devices such as sensors, which may be distributed globally. In order to interact with this network, we created a web-based user interface, where products can be handed over to the network via drag and drop. The user can then adjust product attributes (i.e., quality, quantity, or delivery date). A display shows how information on current orders and individual offers is being transmitted through the network.
The user is then presented with a price based on the current state of negotiations. On the strength of this information, the user can decide whether to issue an order or not. Once an order has been issued, the interface executes an IOTA transaction, and the respective machines simultaneously receive the command to start production.
The price is calculated on the basis of the individual offers from each of the machines in the network. To enable the machines to participate in this market, we implemented a small-scale, multi-agent system along with a preliminary communication protocol for the negotiation process. As soon as each machine has calculated its offer price, this is sent to the interface, where the best offer is displayed.
We had three “machines” in our network. One of these was a turning machine from Weisser. The machine featured an OPC UA server, which we used as an endpoint for incoming messages. We built the other two machines using a set of Lego Mindstorms. Communication between the agents was implemented using MQTT.
For good measure, we also implemented a Telegram bot as an interface between the machines and their respective (human) owners. In our prototype, this enabled us to monitor the progress of the manufacturing process. Other interesting applications include maintenance and/or emergency messages.
Although we implemented some of the described functionalities in a rather rudimentary fashion, the prototype still gave us the chance to carry out a practical investigation of a small-scale M2M economy and identify any further avenues of development. The overall feedback was incredibly positive, and we have had some extremely interesting negotiations with different companies since the hackathon. Reason enough for us to continue development of this idea!
The journey continues: our next steps and what we have learnt so far
We are currently combining the developed software with other hardware in our lab at TU Wien. In this new scenario, we will be utilizing an industrial robot that can autonomously paint custom images based on photographs. To do so, however, this robot requires several auxiliary services, including color provision, brush cleaning, and image drying.
As illustrated in the diagram above, we will employ an approach similar to the one used at Bosch ConnectedExperience 2018. Customers only interact with the robot, which in turn negotiates autonomously with its own supplier and pays it for the services supplied.
For this new scenario, we are less satisfied with IOTA as our chosen distributed ledger technology. This is because our use case will most likely need smart contracts, which IOTA does not yet support. At the same time, however, we are also thinking about other more data-related use cases, where IOTA might be a good choice. Once we have completed our current development phase, we will focus on looking into alternatives.
This topic has developed into one of my major research interests. As a result, my group has joined a research consortium applying to become Austria’s first distributed ledger technology competency center. If you would like to follow our progress, please visit our homepage or visit us at our booth at the Intertool fair in Vienna.