On this page we’re presenting one of our exploratory projects that helped shape the development of Proxeus. It demonstrates the use of the platform in a logistics use case. We’re tracking shipped goods from their origin all the way to their destination using RFID tags, the IOTA ledger and Proxeus. Together with a description of the scenario and our solution you’ll also find a guide for the reproduction of our project.
IBM has estimated that the implementation of digital technologies such as blockchain could save the logistics industry as much as $38 billion per year. According to Boston Consulting Group, blockchain technologies alone could save several millions of dollars yearly for large manufacturers.
Supply chain processes traditionally rely on paper, for example a full binder of documents is needed to send a shipment from Asia to Europe. A key saving, in financial terms, would come from a reduction of the manual paperwork associated with the movement of goods as they transit in between terminals.
This led us to define “Logistics & Trade Finance” as one of the focus verticals that we set out to explore as part of the Proxeus project development. Indeed by collaborating with external partners on concrete use cases, we were able to gain valuable insights that contributed to shape the Proxeus framework.
Today, the Proxeus document workflow automation, blockchain capabilities and integration interfaces provide a solid foundation for projects in logistics and trade finance.
By combining new technologies such as the Internet of Things (IoT) together with a decentralised ledger, we looked into possibilities to track shipments through the use of physical devices while registering the metadata associated with a particular shipment in a transaction on a ledger, making possible to instantaneously generate digital documents providing reliable and immutable tracking information for the transit of goods from A to B.
The prototype supported a full showcase process using a real logistics industry use case: the tracking of goods from the seller to the customer, going through one or several carriers on the way, coordinated by a freight forwarding company.
Watch our video explaining the track & trace process
These are the key participants in the freight forwarding process.
Shipper: Seller of the goods, engaging a Freight Forwarder to organize transport of the goods from point of origin to the agreed destination with the customer.
Freight Forwarder: Service Provider to the Shipper organizing transport from point of origin to destination incl. hand-over to the customer.
Carrier: Vessel operator contracted and coordinated by the Freight Forwarder to transport the goods for the full or part of the distance between point of origin and destination.
Customer: Buyer of the goods expecting delivery at destination.
We’ve selected a (slightly simplified) freight forwarding process for our project. These are the key steps:
We’ve learned quite a few interesting things during the course of this project. For example, who would have thought that it may become a project requirement to run Proxeus not on today’s powerful cloud infrastructures with endless performance scalability, but on a tiny computer like the Raspberry Pi? This move reinforced the team in architectural decisions such as splitting the document service from the Proxeus core and enabling its use as a standalone service.
The project provided a lot of insights for the product management and development team and helped improve the API capabilities of Proxeus - through the Proxeus API, even microcomputers like Raspberry Pis are able to trigger the production of a whole series of different documents - from anywhere in the world.
Reading data from an IOTA tangle - a technology very different from Proxeus’ native blockchain Ethereum - and feeding this data into Proxeus workflows for the production of documents worked really well. For the team it was important to see that it works not only in theory - you can actually connect Proxeus to any blockchain thanks to its extensibility.
The prototype was intentionally created for demonstration and learning purposes only and therefore lacks many elements that would be required of a full-fledged logistics solution. There were no integrations with the existing systems of any stakeholder. Only prototyping hardware was used instead of devices actually hardened for the use in logistics. Everything was simulated in one room instead of taking place all over the world with all the implications of different time zones, climates, procedures and so on.
The actual implementation of a blockchain solution into a vast existing ecosystem such as global logistics will require to involve and coordinate the needs of a great many different stakeholders. Even if a lean scope is chosen, such a project is a great endeavour and will require substantial initial investments from all involved parties (hardware, integration projects, employee training etc.).
Let’s dive into the technical details! Make sure you consult the glossary at the end of the page if you encounter any unfamiliar terms.
As part of a project executed in cooperation with a German logistics startup, RFID chips were used to track palettes across connected terminals. The tracking data (such as the consignment ID, the terminal name or even the signatory name) was directly sent to the IOTA ledger by the terminals without any human intervention whatsoever.
On a separate server, Proxeus was then leveraged to automatically and instantaneously generate documents based on the data retrieved from the IOTA ledger and pre-configured templates. Several key documents (such as the Bill of Lading) can be tokenized to enable a frictionless transfer of ownership of the goods shipped.
In this prototype, we introduced quite a few elements in order to showcase a potential cross-platform, blockchain-agnostic tracking system that could be built using Proxeus and IoT components.
In the world of the “internet of things (IoT)”, the participating devices are often called “nodes”. For the nodes in our simulated logistics ecosystem, we equipped a prototype board (Raspberry Pi) with an RC522 RFID reader. The microcomputer connects to WLAN automatically and the operating system is stored on an SD card which can easily be cloned after setting it once.
We created a small custom application for the Raspberry Pi. Running this software, the nodes were able to run independently in different modes:
1. Track consignment
2. Sign receipt for a consignment
3. Open up a new tracking
4. Set terminal in monitoring mode
5. Display tracking details
For the technically curious among our readers, the code for the tracking nodes can be found on our GitHub: https://github.com/ProxeusApp/usecase-shipment-tracking
Keep in mind that it was a rapidly built prototype and may need some improvement if you wish to use it for your own projects.
One part is built in Python and offers functionality to read from and write to RFID tags using the SimpleMFRC522 library specifically made for budget MFRC522 module for the Raspberry. It also creates and tracks transactions on the IOTA ledger using the respective IOTA library for Python. It has a console-based user interface with a menu to choose between the modes listed above. The second part is a visual UI implemented in Golang that can be used on top.
After the initial setup, the application was configured by connecting to it and copying the specific configuration files to it. In order to provide maximal mobility, the microcomputer was connected to a power bank. This setup is barely larger than a cigarette box (depending on the powerbank chosen) and is connected to the internet over WLAN. The platform also incorporates an IOTA node which syncs the data logged by the application with the livenet of IOTA.
The IoT nodes in this project came in two variants:
As soon as an RFID chip is scanned, the terminals execute a transaction. The software also returns a table with all the checkpoints encountered. The system has been configured to be able to run concurrent trackings and have them added to the respective IOTA tangle.
Documents as a Service
In this use case, Proxeus was used as a “documents as a service” provider. Proxeus can be remotely controlled to produce documents by using the API. Any scripting or programming language that is capable of communicating with a REST API will do. This could also be simulated by using a tool like SoapUI.
The advantage of a REST API is that you’re free to use almost any technology. You could write a little script in Python or use programming languages like Go or Java.
A Proxeus platform we’ve set up specifically for this project was equipped with a number of workflows with templates for the relevant documents (shipping manifest, bill of lading, container load plan, confirmation letter, tax document, import and customs documents). For this we researched what information these documents typically contain and designed the respective templates in Microsoft Word (OpenOffice works as well). In the Proxeus admin panel we created one workflow for every template. Then we configured simple forms (mostly text/number/date inputs) for the required inputs and added them to the workflows. All this was done using standard Proxeus functionality - if you’re not familiar with it, we highly recommend watching our [tutorials] or browsing the [handbook]!
A key element of the showcase was to demonstrate that the transactions have indeed been logged on the blockchain and are made available to the user. This has been achieved by using an IOTA tangle explorer. The monitoring service can be used to simply display updates on a screen or to trigger document production via the API of a Proxeus instance. We’ve described in the chapter above how to use Proxeus in a “documents as a service” setup.
A transaction on the IOTA tangle as viewed through the popular tangle explorer TheTangle.org looks like this:
Are you interested in building a similar project? The following steps can guide you through the process. Please note that this is one of the most challenging Proxeus projects to rebuild. It requires prototyping hardware and you will need software development skills as well as a good level of experience in using Proxeus. Read our solution description above carefully before following this guide.
We’re using a lot of terms that you may not yet be familiar with. Here is some help.
Automate the creation of complex sets of legal documents and coordinate actions between multiple parties
Create tamper-proof abd verifiable documents and request signatures from any number of certifiers
Let blockchain events trigger the production of documents as goods are moved across the logistics chain
The Internet of Things is a network of devices that are interacting with each other without human interaction. Read more on Wikipedia
IOTA is a distributed ledger technology (DLT) that allows devices in an IOTA network to transact in micropayments and to send each other immutable data. Visit the website
IOTA uses the term “tangle” for what is called the blockchain in other distributed ledger technologies: an immutable data structure that contains all transactions.
A service provider offering access to the IOTA tangle through a browser on their website and an API. It is much like what Etherscan is for Ethereum. Visit the website
A near-field data transmission technology. Read more on Wikipedia
A tiny, simple computer developed for teaching the basics of computer science. Popular for technical experiments and prototyping. Visit the website
A programming interface to facilitate the communication between different computer programs.
A powerful scripting language. Visit the website
An advanced API testing tool that enables you to try out any API without writing a single line of software. Visit the website
As we have mentioned under “Limitations”, this project was limited to a tightly defined scope. There are many more directions to explore.
Decentralized IoT networks may transform supply chain management in the future. Most of today’s processes involve the management of physical, hand written documents. All those formal paper-based documents and processes need first to be digitized and later integrated with other systems.
Using Bluetooth sensors combined with other IoT devices would enable users to retrieve and add additional data such as temperature, pressure or any other quantifiable variables to the tracking journey, opening a new dimension and new possibilities for implementing documents (e.g. contract execution if a certain condition is met).