What is Nostr?
Grey Area /
npub1vqz…kttk
2024-01-01 04:56:12

Grey Area on Nostr: How to use a digital cash alternative at Comiket is an interesting and fairly ...

How to use a digital cash alternative at Comiket is an interesting and fairly complicated problem to solve, so here are some random musings.

As a disclaimer, there is absolutely nothing that is suitable for a circle that has the line stretching out into the parking lot. Cash is fast, idiot proof, and even assuming network conditions support it (which they don't), the typical ~6 sec finality of non-PoW systems would be an over 2x increase in time spent per customer. More realistically, trying to implement anything would slow the line down to the point where you would get a riot.

For smaller circles that operate at a more leisurely pace, depending on how paranoid the vendor is, XMR should be possible, without cheating[0].

In the Internet->PoS direction:

- LoRa (Japan uses the ARIB STD-T108 band, 20 mW power limit) has a few km range, and penetrates well into buildings. Bandwidth is 1990s modem speed (900 bps -> 50 kbps), latency is rather high (hundreds of ms).
- Monitoring XMR blocks requires being able to fetch a new block every ~120 seconds, with an upper limit of ~600 KB/block, median of 20 KB/block.
- Everyone can do transaction confirmation with the same stream of blocks (broadcast medium is ideal for the uplink->POS direction).

Monitoring the mempool (trading off faster finality for allowing double-spends, since you are already unlikely to want to wait for the 10 blocks), can be done by offloading the monitoring to processing at the relay, where there is bandwidth. The entire mempool state doesn't need to be available, just state that affects addresses downstream of the LoRa gateway.

[0]: An example of cheating is, "Bribe the kebab vendor in the parking lot to let you mount a Starlink terminal and line of sight microwave transmitter aimed through the door at your table on his truck".
Author Public Key
npub1vqzerqny07e3hrj36ngayr86k7nunzwwcuu4u88p6rkqhgsf8dhs4rkttk