Distributed Ledgers

2018, Aug 26    

In this post I’ll expand on the previous one from the series about cryptocurrencies technologies, and talk about distributed ledgers, mainly, Blockchain.

Distributed Ledger

The idea behind distributed ledgers is to have a record on transactions that’s not in just one location (physical and virtual), but geographically spread across multiple devices and people.

In order to implement such a ledger, one needs to have a peer-to-peer network, as well as a consensus algorithm, that decides upon the data being shared and replicated across multiple nodes.

Blockchain

The most famous distributed ledger is the Blockchain technology. Blockchain uses a linked list with crypto hashes pointing to the previous elements, where each element inside the list holds a block full of transactions. Inside each block, there are multiple transactions, stored inside a Merkle Tree. Much like the picture below:

Blockchain

Alternatives

The fact that Blockchain’s transaction blocks are held linearly, and that every new block must be validated by the previous one, adds a bottleneck for new transactions, because only so many can fit into the next block. With that in mind, there’s at least on alternative distributed ledger: IOTA’s Tangle.

Tangle

Developed by Serguei Popov, Tangle uses a Directed Acyclic Graph (DAG) instead of a linked list to store transactions. It solves Blockchain’s bottleneck by having transactions (nodes in the DAG) point to more than one other transaction, much like branches in git repositories, as long as the history of transactions in the new branches keeps the global state valid. Below, a simplified illustration of Tangle’s architecture:

Tangle Graph

Hashgraph

Another possible Blockchain alternative would be Hedera Hashgraph, but I couldn’t find much information about it. It appears to use a DAG underneath, just like Tangle, and it aa patented consensus algorithm to decide upon the validity of every transaction.