yes, it's a form of double-entry bookkeeping - that's the base. If it weren't double-entry then indeed it would be a pretty poor choice. This design enforces double-entry at a fundamental level, it's never possible to create a record that doesn't affect 2 accounts - and that's actually the whole point of it :)
You have a single USD (or other) value - so in the simplest form it just looks like this:
From: Alice
To: Bob
Amount: 10
Currency: USD
And the balances are simply sum(transactions where account is receiver) - sum(transactions where account is sender)
You have a single USD (or other) value - so in the simplest form it just looks like this:
From: Alice To: Bob Amount: 10 Currency: USD
And the balances are simply sum(transactions where account is receiver) - sum(transactions where account is sender)