WZL x GCX x IOTA — Status Report 04
Introducing a pay-per-use Data Marketplace and Micropayments
Co-Authors: Semjon Becker, Felix Mönckemeyer
- Part 0: Overview of the Industrial IOTA Lab Aachen
- Part 1: WZL x GCX x IOTA — Status Report 01: About data acquisition and first transactions
- Part 2: WZL x GCX x IOTA — Status Report 02: Data(-base) specification and data preparation
- Part 3: WZL x GCX x IOTA — Status Report 03: Data visualization
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.
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.
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.
The user also has the ability to filter the given results, see Fig. 3.
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.
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.
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.
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.
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.
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.
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.
Check our address on thetangle.org.