How do you solve the FLP problem?
e.g.
Kiosk->Device: Give me $100
Device: Subtract $100 from myself
Device->Kiosk: Send $100 (fail)
Alternatively, what if this happens the other direction?
e.g.
Kiosk->Device: Give me $100
Device: Subtract $100 from myself
Device->Kiosk: Send $100 (fail)
Alternatively, what if this happens the other direction?
[0]: https://play.google.com/store/apps/details?id=com.codebutler...
In practice the solution is to realize that failures are rare (especially compared to events like the soldier simply misplacing the card), and to have a trusted human available to resolve any issues that do occur.
That said, shoddy implementations of these systems often do fail in numerous ways. As an end-user, you really just have to live with it.