Notes on 'Triple Entry Accounting'

Link: http://nakamotoinstitute.org/triple-entry-accounting/

Background information for the Bitcoin paper. Written by Ian Grigg in 2005. Just some short notes written in free recall. First reading.

The paper

Grigg distinguishes between several phases of accounting. We start off with “single entry accounting”, which is essentially just keeping a list of accounts and amounts. If you move a table from your kitchen to your living room, you strike off the table from the “kitchen” lisdt and hopefully you remember to add it to the living room list. This works for households, but is error-prone and there are many examples of errors in the real world.

Double-entry bookkeeping is more than 500 years old and makes it easier to identify and reduce errors when value is being transacted. The basic idea is that each transaction consists of two sides: a debit and a credit side, and they must always be equal. If Alice buys a coffee she’d credit her asset account and debit her equity account. The fundamental accounting equation says that Assets = Liabilities + Equity. More commonly, we’d say we debit her expense account, which is a type of negative equity, but these notes aren’t about double entry bookkeeping per se.

Grigg then goes on to talk about signatures and receipts. The receipt is essentially proof that a transcation has taken place, and a digital signature makes it clear that Alice intend to give money to Bob for the coffee.

There’s a third party here: Ivan the Issuer. I am bit fuzzy on how to think about Ivan the issuer’s role in this coffee transaction and I prefer not to refer back to the paper, because this uncertainty can be useful. Perhaps there’s something in that abstraction that doesn’t make complete sense. I guess in the cash sense the government is the issuer and just by using the cash it’s A-OK? In the case of a bank transaction, Bob waits for Alice’s card to clear. The bank then gives information back which acts as a receipt. Both Alice and Bob can now use that receipt. What Ivan, the bank, in this case does is makes sure Bob has authorization (signature) from Alice to take money, and that Alice has enough money on her account (and that her card is valid, etc).

The main idea seems to be: the receipt is the transaction. By which is to say, if you have a digital signature by Alice and there’s receipt for the transaction that acts as proof that the transaction has taken place. This hints at the idea of a shared source of truth, as opposed to each individual having their books. That’s pretty neat indeed. Certainly reduces error, fraud and possibly overhead.

He then goes on about how we can combine a shared public ledger with private information. And lots of other meaty things that I am glossing over in this free recall session.

He also hints at invoice as the transaction, which seems to include fulfillment of orders etc. I.e. smart contracts. (I feel like this part is often glossed over. It’s very non-trivial to automatically check if customers are happy. We have customer support and legal systems and conventions and all kinds of things. Looking at the hash of a piece of memory is one thing, but sensors? Oracle as a jury? Even Bitcoin Core can’t keep from going corrupt, what makes you think having an oracle is a straightforward problem? It’s good to dream but this is A Hard Problem.)

Thoughts

I found the paper to be a bit fuzzy and not very polished, to be honest (perhaps that is more reflective of my current muddy mind and not the paper, who knows). It has some interesting ideas but it’s a bit grandiose to talk about “triple entry bookkeeping” considering the longevity of double entry bookeeping. Really the innovation here is digital signatures, which allows trust at a distance between unknown parties, and Bitcoin itself, with the associated decentralized, immutable, timestamped source of truth database. There’s still an interesting line from here to Bitcoin though. I wonder what Satoshi was thinking when reading this paper.

I also wonder about this tension I feel when I read “decentralization” papers. For being about decentralized an awful lot of them seem to require full adoption to work. Double entry bookkeeping is useful for individual, and signatures are useful for two individuals (assuming they both understand what it means), but this generalized Public Ledger For Everything doesn’t strike me as being very decentralized, to be honest. Even the Internet in the beginning, as far as I know, worked well with just a few nodes. More information could be added by people doing manual data entry and scanning and putting it up online. So what’s the equivalent of that bottom-up growing and acceptance of the outside world? If that doesn’t exist the technology won’t succeed, in my opinion. Bitcoin is an interesting case, as one individual can place a small bet on it storing some value. Ideally people accept it for regular transactions, but this is just one of many payment methods. Like when you get blocked by a huge corporation network like VISA. There’s something here about optionality which is very interesting.

Further reading: