Hacker News new | ask | show | jobs
by londons_explore 2127 days ago
I assume financial software has the concept of a set of atomic transactions - ie. "debit bob $X and credit mary $X".

Given that, presumably all buttons an operator clicks should generate a set of atomic transactions between customers and the bank.

An automated system can then check that the total loss to the bank after these transactions have been executed isn't too big.

I can't really imagine how any bit of software didn't have those checks in place...

2 comments

I don't fully understand what happened, but it sounds like essentially someone was supposed to update a payment from "repay full amount" to "pay interest only", and didn't do it. The system correctly executed the instructions it was given. The only way this would show up as a "loss" to the bank is if some part of the system expected to pay only the interest, and it sounds like that wasn't the case.

It also sounds like there was another human who was supposed to catch the error and didn't. My guess is that the volume of transactions is high enough and errors of this type are rare enough that most people wouldn't be able to catch it manually.

The transaction wasn't too big in any general sense. It was just incorrect for the specific intended action that day.