How does this thing solve the "double spend problem" [0].
Without needing network access?
You usually need server communication in electronics payment systems to confirm payment & update account balances. How does Eagle Cash solve this problem?
Similar to many Mastercard/Visa cards. The electronic chip on the card is capable of actually storing the balance and then syncing it back when it reaches a terminal machine that’s connected to the internet.
In my experience, many (most) chip-card based transport systems for busses or trains (eg tap n go) operates in this offline mode where it only syncs when you go to the kiosk to top it up.
It uses cryptographic methods to securely store and update the balance. The chip itself is an embedded processor.
Those cards typically store the last few transactions (e.g. [0] is an Android app that can display transit card usage history), so it should be possible to code idempotency into the card firmware.
Technically FLP impossibility only applies to deterministic algorithms, not randomized ones, otherwise no consensus protocol would work. So you could imagine a complicated technical solution that could work (eg. treating everything as a big Raft cluster and using Raft's membership changes every time a device is connected / disconnected).
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.
You trust the secure element, and if you think that's not enough, you reconcile spending logs and bring the wrath of the federal government on whoever was dumb enough to try.
This uses the same flow as many transportation cards (which in some countries can also be used to purchase goods).
Essentially the card chip holds the debit amount it has (the user makes an initial transaction to load it, debiting the money from a debit/credit card or paying for directly with money) so that every time a transaction occurs, the value in card is altered directly.
This system also has the potential of making transactions fully anonymous as no-one needs to know who the holder of the card is or where he spends his money.
I think that's the entire point of any army :). In this instance I guess the military police would be responsible though.
It's a centralized system, and every account holder is fully identified to the government (even with DNA samples IIRC). The kiosks likely keep the logs and upload them when a connection can be made. Then the data get collected and compared centrally, and any discrepancy would show up. At least that's how I understand the "batch processing" remark in the wiki page.
Not sure a whole book is needed, it seems fairly straightforward to show that society is based on threats of violence.
If you don't pay someone, that someone can go to a judge. If you indeed did something illegal (e.g. if you did a double spend, money forgery, whatever) you should be declared guilty and ordered to pay the damages plus perhaps a fine. If you don't do that, the amount due will increase and eventually you get ordered to jail. If you don't go voluntarily, they will make you. Of course everything comes down to force and eventually violence in the end. Why else would you comply with things that don't please you? (Because you're an honest party, okay, and the vast majority of people are, but not everyone is in the privileged position where they have what they want without applying dishonesty.)
Even if you think to solve it with technology, preventing a crime is indeed better than detecting and punishing one, but let's say it's impossible to detect the double spend ahead of time and your technological solution only finds out that there was a double spend after the fact. What's it going to do, block your card from now on? In the end, it will still have real world consequences for you. Taking away someone's card, through physical or technological means, it's all more or less the same thing.
It doesn't prevent from physical torturing that can be used to steal your coins. I've already seen a bunch of news about missing or killed people in this field. The creator is also probably dead.
In Germany, there's GeldKarte. Still relatively widely supported on public transportation ticket machines and cigarettes vending machines, so they can be used offline.
I found it awesome to use with at-home recharging (with an appropriate card terminal) and use on trains. Often, the ticket machine would refuse coins or not have change. Electronic payment to the rescue! :)
Unfortunately, its fate is already sealed with basically all banks having announced their withdrawal from the system.
How does this thing solve the "double spend problem" [0].
Without needing network access?
You usually need server communication in electronics payment systems to confirm payment & update account balances. How does Eagle Cash solve this problem?
[0]: https://www.investopedia.com/terms/d/doublespending.asp