Remix.run Logo
rwmj 4 hours ago

Wait, the balance is stored on the card? I'm fairly sure the balance is shown in the JR app too, so presumably that cannot be the case. [Update: or maybe not? I opened the app now and it's asking me to enable NFC and hold it up to the card.]

Anyway I love my Suica. I got it a good decade or more ago, I have a few thousand yen on there, and it's always ready for me when I go back to Japan. Useful on the Metro, trains and in shops. Easy to top up at the plentiful, dedicated top up machines. I also loaded Shinkansen tickets on it last time and travelled "ticketless".

hnfong an hour ago | parent | next [-]

The card definitely stores the balance. They probably sync the transaction records to their servers, but during the transaction the value on the card is presumed to be the truth AFAICT.

Remember when the system was designed in the early 2000s the Internet was much less available and reliable, and when so many transactions happen every day, you don't want to get thousands of passengers stuck inside a metro station only because some Wifi router was down.

This is basically a limitation of the CAP theorem, in these situations there's really no choice but to sacrifice "consistency" and settle for eventual consistency.

I think even credit card payments for transit also make that sacrifice. I had a weird experience using a Visa card to pay for a tram ride because they were promoting it and had a discount. The machine indicated success and let me through, but since I rarely used the card, somehow the payment didn't go through afterwards (the credit card was in a very weird state). If they insisted that all the payment transactions complete successfully for a transit payment, it would be too inconvenient and unreliable to use.

abdullahkhalids 3 hours ago | parent | prev | next [-]

Yes, they do store the value. There was a blogpost posted to HN last year that discusses the cryptographic features of these cards [1,2]. It's amazing that these cards are almost solving the problem of secure digital money.

[1] https://news.ycombinator.com/item?id=43993711

[2] working link since original blog is down https://web.archive.org/web/20250517082035/https://aruarian....

quinncom 3 hours ago | parent [-]

Alt link because archive.org is down now: https://archive.ph/V8H5s

santaboom 4 hours ago | parent | prev | next [-]

Op mentions that server side sync occurs outside of 200ms card/reader interaction.

reaperducer 4 hours ago | parent | prev [-]

I'm fairly sure the balance is shown in the app too

Can confirm that Suica shows the balance in Apple Wallet.