score:41
Historically, the solution to this was the letter of credit, circular note, traveller's cheque, or similar. Basically, it was an attestation that the bearer of the document had deposited a certain amount of money with the issuing institution. No attempt was made at "atomicity", rather, the goal was "eventual correctness", where the money eventually ended up in the correct place.
Upvote:1
Two Generals Problem
To more directly answer your question, in technological history, this is a form of Two Generals Problem, which not only factors in latency but the risk of losing transmissions (highly likely over the dangerous vastness of space) when sending data between two places with a risk of data loss/delay inbetween.
From a technical standpoint, atomicity would require the sender to effectively say to the receiver 'can I have an exclusive lock on this data?' and 'please don't make any modifications to this whilst I'm updating it', sending the data, and then saying 'you can unlock this data now' or the lock expiring if an unreasonable amount of time has passed.
Spoke and Hub Model
Assuming it takes 8 minutes to send, 8 minutes to receive, plus any errors, ensuring atomicity would be very time consuming. Effectively what you would need is a unique, exclusivity container based on trust; trusted bank withdraws 100 credits, puts it into the pre-signed (using other planet's key), encrypted container, container has instructions (E.G send to Xarg's account), sends container to planet, receives receipt of container being picked up.
Essentially, this is what occurred with certified hors*m*n carrying letters with wax seals and royal approval. The model is also a form classically known as Spoke and Hub model.
The issue of latency (and message failure) is likely to be better covered on technological pages.
Upvote:37
Quite simply, they did not guarantee atomicity or synchronicity, they guaranteed eventual consistency.
The general principle is simple: it doesn't matter when the money actually gets moved, provided that it's done in a 'reasonable' amount of time and is reserved for the specified transaction.
The way you achieve this is very simple too. For this to work, you need exactly two things:
The steps to 'move' the money then work as follows:
That's quite literally all it takes. This general principle has been in use since as far back as the Renaissance, and was very widely used by merchants and travelers alike prior to the advent of traveler's cheques, money orders, and ATMs.
This guarantees that you can't spend the same money twice, and eventual consistency is guaranteed by either having people get letters of credit going in the other direction, or by an intermittent 'settlement of accounts'. It has some limitations in terms of efficiency and requires you to know ahead of time how much you might need, but entire economies worked on this relative simple system of transference of credit (and technically still do depending on how you think about the way that credit cards work).