In this post I’ll expand on the previous one from the series about cryptocurrencies technologies, and talk about distributed ledgers, mainly, Blockchain.
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.
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:
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.
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:
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.