It’s frustrating because the two pass commit only really exists as a result of slow and expensive communication channels in the past.
Many payment schemes were built with idea that messages would be sent via post (on big tape reels) or expensive internet connections that can’t be run 24/7.
However none of these constraints really exist anymore. Which means that you can move money using a single message and synchronous communications, with a little protection to deal with the two generals problem.
how many messages a second can be handled synchronously?
what happens if the message arrives twice?
what happens if the data centre is blown up/goes up in flames?
how did the other data centre guarantee to be in a consistent state?
how did the backup system automatically take over?
These systems have to be up and running all the time and there can't be an option for mistakes!
When I say message I’m think of the equivalent of a TCP packet. So you have a bunch of error checking and ACKs flying about. But only one message to actually move money.
Single message systems already exist, most US card transactions move over a single message system.
> there can’t be an option for mistakes!
This is where you’re wrong. Mistakes happen all the time when moving money, a big part of any banks operations is cleaning up those mistakes.
Many payment schemes were built with idea that messages would be sent via post (on big tape reels) or expensive internet connections that can’t be run 24/7.
However none of these constraints really exist anymore. Which means that you can move money using a single message and synchronous communications, with a little protection to deal with the two generals problem.