The Trust Machine — Part3: Quadruple entry accounting

Designing humanities trust layer for the digital world

The history of accounting

To understand the design decisions behind this form of accounting, we are going to discuss the different forms of accounting used throughout human history in chronological order.

Single entry accounting

The history of accounting starts tens of thousands of years ago in early Mesopotamia. Advances in reading, writing and mathematics gave rise to the first accounting system — the single entry accounting.

Double entry accounting

As societies became more complex, the economic activities performed by humans also got more complex and the need for a different and more efficient accounting system arose.

Triple entry accounting

While the double entry accounting improved the auditability of economic actors, everybody was still maintaining their own separate books and auditing them was a manual and tiresome process that was often prone to errors and mistakes.

the flow of funds forms a DAG that causally connects all outputs (balances)
the green (unspent) outputs represent the current ledger state

Total order in the UTXO model

A fascinating aspect of this form of ledger state is that it does not rely on a total order of events to validate transactions and applying the same transactions will lead to exactly the same ledger state, no matter in which order the transactions arrive.

applying independent transactions in a different order leads to the same ledger state
transaction 5 arrives before its dependent transaction 3

Quadruple entry accounting

We know from our previous discussions in the 2nd part of this series of blog posts, that the only way to establish a total order without orphanage and therefore wasted throughput is to either make the network synchronous (by artificially slowing it down) or by limiting the amount of validators to a small group.

A new form of ledger

Instead of trying to prevent double spends from entering the ledger we want to design a new type of ledger that understands double spends and that is able to track all conflicting ledger state versions at the same time.

The same example as before but with transactions / outputs grouped into the corresponding branches
Branch DAG with branches in blue / conflict sets in red / aggregated branches in orange
  1. Transactions need to create exactly the same amount of funds as they consume.
  2. Transactions may never spend outputs from conflicting branches.
  3. Transactions may never spend an output that has already been spent by another transaction in their own past (see example).
Transaction 2 is invalid according to rule 3 — it double spends its own grandfather (Output A)
after having reached consensus we clean up the Branch DAG and merge the winning ouputs back to the master branch
  1. Branches allow us to tell outputs of different versions of the ledger state apart.
  2. Conflict sets model the conflict relationships between the branches.
  3. The Branch DAG allows us to track the causal dependencies between the different branches (to inherit the ledger state and to check for conflicts).

Implications

Instead of having to agree on the fate of each conflict at the time of arrival, we can move the conflict resolution to a higher level, turning the ledger into a data structure that simply tracks all of the state transitions that were proposed by its users (even the conflicting ones).

Conclusion

We have designed a new form of ledger that allows us to decouple the processing of transactions and the act of reaching consensus on the existing conflicts.

The only reason why contemporary DLTs rely on a total order is because they are using a data structure that doesn’t understand conflicts.

Addendum: Parallels to our physical world

If we look at the behavior of this ledger then we see a lot of similarities to our physical universe and even though it is not directly connected to the topic of DLTs, I think it might be an interesting topic to discuss.

Relativistic Time

Time is a word that we use to describe a perceived series of state changes of a system. The current state is now, the previous state is the past and the upcoming state is the future.

Causality

One of the most important concepts in physics is that causality can not be violated, which means that even though time is perceived in a relativistic way, everybody will always perceive the cause before the effect.

Schrödingers Cat

Schrödingers cat is a thought experiment that illustrates a paradox of quantum superposition, where a hypothetical cat in a box may be considered both alive and dead at the same time until a measurement is performed and the box is opened. In that moment the superposition instantaneously collapses to a single specific version.

Double-slit experiment

Most people are familiar with the double-slit experiment where shining a beam of light through two parallel slits will produce an interference pattern on a screen behind it. This is usually one of the simplest experiments to show that light behaves like a wave and interferes with an obstacle.

Delayed-choice quantum eraser

The delayed-choice quantum eraser experiment is a modification of the previously named experiment that modifies the setup to first measure the photon and then delete the information about the measurement again at a later point in time.

Conclusion

Seeing all these similarities leads me to believe that maybe this way of tracking a ledger is at least similar to the way the universe tracks its state and the first time I publicly stated this was on April 4th 2020 in an interview with a german YouTuber.

The multiway evolution graphs used by Stephan Wolfram have striking smiliraties with the way we model our ledger.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Hans Moog

I am a hacker, feminist, futurist and tech enthusiast working for IOTA and trying to make the world a better place (whatever that means) :P