The Use Case

Now that we have our new IOTA powered refrigerator payment system up and running as described in the first tutorial, we should take a step back and look at any improvements that could be made to our system. If we look at it from the user (hotel guest) point of view, one problem that stand out is that there is no indicator telling him the current status of his refrigerator service, and thereby no indication as to if or when he needs to add additional funds in case he wants to prolong the service. We also have some issues related to the printed QR Code. In case the hotel owners wants to change the IOTA payment address for one or more refrigerators he would have to physically replace the printed QR code for each refrigerator in his hotel. Another problem related to the printed QR code is that a bad actor in theory could replace the official printed QR code with a fake QR code, sending any future refrigerator payments to the wrong address. We also have an issue related to managing the price of the refrigerator service. How can the hotel owner display an up-to-date price of his refrigerator service with respect to the volatile IOTA market price? A logical solution to these problems would be to provide the guest with some type of dynamic user interface where he could interact and get real time information from the system. In this tutorial we will be adding a simple LCD display to our project to provide such an interface.

Note!

Using an LCD for dynamically displaying our QR code could solve another issue related to the reuse of IOTA addresses, also known as the Winternitz one-time signature scheme. This is a protection mechanism that gives IOTA its quantum resistance properties. As long as the hotel owner do not spend any funds from his refrigerator addresses they are completely safe, however, as soon as he spends any funds from one of the addresses, the address is no longer safe and must be replaced by a new IOTA payment address. A better option might be to automatically generate a new address (and QR code) for every payment so that we could ignore this problem all together. This is where our LCD comes in handy. I will leave the topic of auto generating IOTA addresses for a future tutorial. For now, lets just focus on displaying our static QR code on the LCD.