WZL x GCX x IOTA — Status Report 04

Introducing a pay-per-use Data Marketplace and Micropayments

Background: Finetool Machine with Coils. Image: © WZL | Christian May & Semjon Becker
Co-Authors: Semjon Becker, Felix Mönckemeyer

Previous Stories

Retrospective: Fineblanking

We use XFT 2500 speed built by Feintool AG as our test bench for Proof of Concept (PoC) in an industrial fine-blanking field. It is used to mass produce safety-critical components, such as brake carrier plates or belt straps.

In the first article we provided a coverage of data extraction from the machine, converted it from unrefined data to digital readable format; stored the data in a .json-file before moving it into our test environment.


Retrospective: Data visualization

Utilising the processed data, we develop a Frontend that decrypts data stored in the Tangle and allows users to verify the tamper-proof data and track production output.

Overview of the WZL x GCX x IOTA Web-Frontend. Video: © WZL | Daniel Trauth

Focus of Status Report 04

This article shows the current status of the WZL x GCX x IOTA Web-Front-end. The frontend access gives full availability to the tangle network making it possible to check data integrity for each workpiece dataset.

Micro-payments with IOTA are now accepted for each part produced following a pay-per-use model, transforming the front-end into a conceptual Data Marketplace, see Fig. 1.

Fig. 1: Architecture of the WZL x GCX x IOTA payment system. Image: © WZL | Ashri Anggia & Semjon Becker

Key Consideration of the Payment System

The key consideration of our pay-per-use model are driven by Simplicity, EU Data protection regulation, and Effort. We aim to keep the user interface simple and low risk by not storing personal information such as IP addresses or emails. More importantly, we avoid over-engineering the solution: it’s a PoC, not a competition.


Scope of the Payment System

The scope includes the following key points:

  • Users can only purchase one part data set per payment
  • Payments will be conducted with IOTA only
  • We use localstorage to save successful transactions in the browser
  • Purchased data sets will be preserved when users close their browser
  • Database stores the invoice and receipt of the payment address however these information is also available in Tangle network.
  • User payments will be done via Trinity wallet QR Code

Out of scope are the following features:

  • User registration
  • Multi-selection of parts per payment
  • No refunds
  • No multiple payments
  • Machine-to-machine payments

The Payment Process — Step by Step

The payment is a straight forward process. The user browses through the data sets and identifies a data set to purchase, see Fig. 2.

Fig. 2: The overview of the data set. Image: © WZL | Felix Mönckemeyer & Semjon Becker

The user also has the ability to filter the given results, see Fig. 3.

Fig. 3: Filtered results in the browser. Image: © WZL | Felix Mönckemeyer & Semjon Becker

A request to buy a data set will be sent through when the Buy Data button is clicked.

Meanwhile, a database scheduler is running to check for any paid transactions in the queue: Transaction table is updated with new transaction details. If a user pays for multiple transactions, all transaction entries will share the same transaction id with different invoice timestamps. Afterwards, the view table is updated with paid status set to true if the user has paid the total amount requested.

Afterwards, the QR Code for the payment is shown, see Fig. 4.

Fig. 4: The QR code to send IOTAs. Image: © WZL | Felix Mönckemeyer & Semjon Becker

The user may close the window without affecting the pending payment. A QR Code based on the return values from step 1 is then generated (see Trinity doc for their format https://docs.iota.works/trinity/information/qr). The Buy button status will change to pending. Upon clicking, it will display the QR code again. The Buy button will change to View button once the user has paid for the data set, see Fig. 5.

Fig. 5: The “Buy Data” button changed to a “View” button after the purchase. Image: © WZL | Felix Mönckemeyer & Semjon Becker

Upon clicking, the View button will reveal the machine data details page, see Fig. 6. A timer shows the remaining access time to read the data sets.

Fig. 6: Timer and details page after the payment. Image: © WZL | Felix Mönckemeyer & Semjon Becker

Integrity and Tangle checks can still be performed. Note, at the time the screenshot was taken, we were still developing the integrity check, hence the warning sign, see Fig. 7.

Fig. 7: Tangle verification after purchase. Image: © WZL | Felix Mönckemeyer & Semjon Becker

Using IOTA Trinity Wallet

From an end user perspective, using Trinity wallet is even simpler. Just scan the QR code provided by the Frontend, add a message (optional) and transfer your IOTAs to Tangle network. Once the transaction is confirmed and our scheduler has picked up on the confirmed transaction, the data set is then unlocked.

Fig. 8: Steps using the Trinity wallet. Image: © WZL | Daniel Trauth & Semjon Becker

Coming next

Imagine a scenario in which a customer wants to know how much heat has been generated for each physical component. With the help of IOTA it is possible to request and pay for a digital FEA twin for each physical component.

Fig. 9: Outlook: Pay for a digital FEA. Image: © WZL | Daniel Trauth & Semjon Becker

Acknowledgement

I would like to thank everyone involved in this project for their incredible support. Especially the team from grandcentrix GmbH: Sascha Wolf (Product Owner), Christoph Herbert (Scrum Master), Thomas Furman (Backend Developer), and all gcx-reviewers and gcx-advisers; some testnet-nodes-operators, who were intensively used for above transactions: iotaledger.net; the team from WZL: Ashri Anggia (Software Developer), Julian Bauer (Service Innovator), Semjon Becker (Design Engineer and Product Developer), Dimitrios Begnis (Frontend Developer), Henric Breuer (Machine Learning Engineer, Full-Stack Developer), Niklas Dahl (Frontend Developer), Björn Fink (Supply Chain Engineer), Muzaffer Hizel (Supply Chain Engineer and Business Model Innovator), Sascha Kamps (Data Engineer, Data Acquisition in Data Engineering and Systems Engineering), Maren Kranenberg (Cognitive Scientist), Felix Mönckemeyer (Backend Developer), Philipp Niemietz (PhD student, Computer Scientist), David Outsandji (Student assistant), Tobias Springer (Frontend Developer), Joachim Stanke (PhD student, Full-Stack Developer), Timo Thun (Backend Developer), Justus Ungerechts (Backend Developer), and Trutz Wrobel (Backend Developer), and WZL’s IT.

Donations to the IILA

The IILA is a non-profit community. We appreciate every help we can get.

ZPYQTMXKIGAXVVMNJWUNJCCR9ZQYHLOJMJ9KUSFPPPBQXQVAHTLNJTJIVENVRM9MUIXDPNWKHJDQAULXYYSABILMWZ

Check our address on thetangle.org.

Get in contact

You have questions or want to join/contribute in any way? Ask for Daniel or write an E-Mail | Follow me on Twitter | Or check WZL’s webpage.

Image: © WZL | Peter Winandy