Blockchain 5.0 — Fusing DAG ledgers with Smart Contracts

Lukas Hetzenecker
2 min readJul 2, 2019

--

Part 2: Relaxations

In Part 1, we have discussed that DAGs overcome the scalability bottlenecks (block size limit in Bitcoin; or block gas limit in Ethereum) by getting rid of blocks.

We now want to see if we can do the same for smart contracts. We already know, that transactions in a DAG are only a partially ordered set. They lack the Totality axiom for a total ordered set — for any two given transactions A and B, we therefore can’t say with absolute certainty, which of them happened first.

But, we can argue that we don’t even need a (global) total ordering of all transactions. Let’s have a look at the following contract interactions:

Three different contracts on a Blockchain; with their method invocation sequence

We can see that different contracts rarely interact with each other (the same is true for a real network, like the Ethereum Mainnet).

So, every DApp can build their own chain — completely independent from one another. We don’t need to care whether the breedWith method call of the CryptoPenguin contract happened before — or after — the transfer call in the SuperToken contract.

This idea is not novel — such approaches are called sidechains, bridgechains (e.g. in Ark), or smart child chains (e.g. in Ardor).

Summarized, this allows us to use model the invocations of smart contracts in a Directed Acyclic Graphs (compare this to the transaction in NANOs block lattice — they look very similar).

Now we need to integrate this into an already existing platform — in Part 3.

Part 1: Introduction
Part 2: Relaxations
Part 3: Platforms
Part 4: Implementation
Part 5: Summary

--

--