May 25, 2020

REA - some thoughts on relationship to TEA & computer science

In the light of the jolly good rave: "REA, Triple-Entry Accounting and Blockchain: Converging Paths to Shared Ledger Systems" by Ibañez et al, just out recently, I've been thinking of the relationship between TEA or triple entry accounting and the accounting-led analogue of REA or Resource-Entity-Agent.

From my tech point of view, and my prior ignorance as not actually knowing about it until recently, I see REA as this: an idealized view over the reality of trade, aka an abstraction as we like to say in the programming world.

Assuming it is what it blithely says it is (and no, I've not researched further), we can apply a characteristics analysis:

  • each element is necessary,
  • can be measured, and
  • is highly orthogonal to the others.
  • Also, the combination of the three describes a fact, one which can be material...
  • indeed, try this as a test: can you find a material fact which doesn’t fit into the REA view?

Further, composing tuples of this form into sets should suffice to describe any wider trade, at least at an accounting & bookkeeping level. This all by way of saying that REA feels like the right atomic unit on which to propose a new accounting foundation - certainly from a Computer Science and especially a data perspective it feels right.

If this were all that were required, then we could simply REAify all the things, and get back to counting our profits.

But, I feel that this is far from it. Indeed I suspect that we’re just looking at the tip of the iceberg, and as the accounting profession looks a bit like a titanic from some angles I can see room for caution and slow navigation.

There is more to how than meets the eye. Let’s take R for resource. How do we describe all the things? This turns out to be a hard problem.

We can describe all the One Type of Things with some degree of success - most countries have cracked the problem of tracking all the cars, give or take a few robberies and insurance frauds. We have less success in tracking all the houses - many countries have difficulty and that includes many OECD countries; just try buying a house in these countries and discover how much trust, paperwork and hope is involved.

Maybe we can’t do the big expensive things? But we also fail at the cheap plentiful things. We can’t track a tomato from farm to salad, notwithstanding the claims of a hundred blockchain startup wannabes.

My own work came up with a neat solution, if you could render the thing into a Ricardian contract! Might work for houses and cars but less likely for tomatoes. Still at least there’s something.

What about E for Event? It turns out that the event is only a useful event if all the relevant parties actually agree to it - and therein lies a difficulty. This turns REA from a data description problem to a protocol problem!

Notice the switch? And in this perspective we find that the modern world of data, accounting and databases is upset by what is now known as blockchain: we need a protocol to turn a proposal into an event, which is what blockchains claim to do.

In 1995-97 Gary and I did it via a specialist financial cryptography protocol called SOX - but we only did it for limited use cases: asset moves and asset trades (exchange). Fast forward to 2009 and bitcoin introduced smart contracts which allows the platform to generalise the event. This idea of user-level programming of the event found further development in systems like Corda, Ethereum, EOSIO, etc. It may sound glib - but the steps from spotting REA as an the event to programming it up as a shared fact represent quite some advances in computer science, and the first step might have been to know what the question was, precisely.

Finally A for Actors. I’ve left the hardest until last: a digitally reliable means of defining an actor remains elusive to us. There are many systems out there, but they all have limitations, some quite dramatic. Eg, it’s easy to do identity if you can constrain your users to a club, but that presupposes you already know identity, and it’s useless outside the club. Another eg: you could rely on ID Dox, but it only works if the person is honest enough not to show a dodgy ID, which isn’t a normal or acceptable assumption, neither in accounting nor in bars.

Back in the 1990s, the pseudonym emerged as a technical solution for the Internet - but failed at a society level. This problem hasn’t really been solved in a universal sense, much as some say it is.

In sum, I think, from my limited perspective as a computer scientist, REA is a good abstraction, even a great one, perhaps the right one. Perhaps I say that because we managed to build it albeit in narrow form: the Riccy for the Resource, TEA to agree the Event, and pseudonyms for actors.

But really - we were only at the start. We need more universal answers for each of these axes. Watch this space?

Posted by iang at May 25, 2020 04:48 PM
Comments
Post a comment









Remember personal info?






Hit preview to see your comment as it would be displayed.