Distributed Ledger Technologies basics

We introduce some basic features of the Distributed Ledger Technologies: what a lottery and an attack to a fortress have to do with a blockchain? We explain why the primary purpose of blockchain technologies is to remove the need for intermediaries and replace them with a distributed network of digital users.

Where does the Distributed Ledger Technologies (and their blockchain subset) come from? Let's illustrate some sequential steps leading to this evolution.

  • LEDGER. An oral or paper means originally served as medium (i.e. ledger, register) to store records, updated over time with new records. One of the first ledgers ever discovered was based on stones and words: giant stone disks - called rai - were used long ago as a symbolic form of money on a Micronesian island; to ensure that ownership of these heavy disks was known and indisputable, an oral ledger was used within communities.
  • DIGITAL LEDGER. With the advent of the information technology, records began being updated on a centralised digital system (i.e. a server) and just replicated in different locations.
  • DISTRIBUTED LEDGER TECHNOLOGIES. Records actively updated and maintained in different locations via a decentralised, peer-to-peer network of nodes (no central server).

While distributed ledgers existed prior to Bitcoin, the Bitcoin blockchain’s main novelty was the combination of several existing technologies including: P2P networks and absence of any any central party,  timestamping of transactions, cryptography.

The term Distributed Ledger Technology embraces all the types of technologies capable of storing and updating a distributed ledger in a decentralised manner. This includes blockchain but also other forms of distributed ledgers do exist beyond blockchain, such as DAG – Direct Acyclic Graph, Hashgraph, and others.

https://ses.jrc.ec.europa.eu/sites/ses.jrc.ec.europa.eu/files/pictures/ledger_database_records.jpg


Distributed Ledger Technologies (including blockchain) enable parties with no particular trust in each other to exchange any type of digital data on a peer-to-peer basis with fewer or no third parties. Data could represent, for instance, money, insurance policies, contracts, or any other type of transaction or asset that can be translated into a digital form.

The primary purpose of blockchain technologies is to remove the need for such intermediaries and replace them with a distributed network of digital users who work in partnership to verify transactions and safeguard the integrity of the ledger.

Contrary to centralised systems, every member of the blockchain network holds their own copy of the ledger or can access it in the open cloud. As a result, anyone in the network can access the historic log of the transactions and verify their validity.

Nevertheless, if central management is removed, the challenge resides in finding an efficient way to consolidate and synchronise multiple copies of the ledger.

The exact process of validation and ledger consolidation varies for different types of blockchains; however in principle, network members compare their versions of the ledger (e.g. through a process similar to a lottery or distributed voting), through which consensus on the valid state of the ledger is reached.


Blockchain is just one of the Distributed Ledger technologies. Bitcoin and Ethereum are based on blockchain. Other forms do exist, such as the DAG - Direct Acyclic Graph technology.  Some cryptocurrencies, such as Iota, are based on DAG.

Let's illustrate the differences:

  • Whilst Blockchain is more like a list, DAG is more like a tree. A blockchain is a list of blocks, a DAG is a tree of transactions.
  • Each block of the blockchain contains multiple transactions. Conversely there are no blocks of transactions in DAG networks, just single transactions linked with each other.
  • The blocks in a blockchain are sequentially linked. The individual transactions in a DAG network are linked to multiple other transactions.
  • The blockchain adds blocks (combination of transactions) sequentially to a chain; Blockchain’s sequential structure is also what hinders their transaction processing speed.
  • DAG transactions are linked from one to another, meaning one transaction confirms the next and so on. DAG parallelizes the transaction processing, which results in higher throughput/processing speed.


In sum, we have seen that blockchains are Distributed Ledger Technologies but not all Distributed Ledger Technologies are blockchains. For the sake of simplicity, we will mainly use the term blockchain.

Blockchain is a database (ledger) operating in a distributed network of multiple nodes that keeps track of data transactions. It is so called because of the particular way transactions are recorded and verified between parties.

  1. A transaction with party B is requested by party A, such as the transfer of money, setting up a contract, or sharing records.
  2. This transaction is broadcast to a distributed network of nodes which
  3. will validate it according to an agreed set of rules (a ‘consensus’ mechanism). This transaction is verified by thousands, perhaps millions of computers distributed around the net.
  4. When validated, this transaction will be bundled with others into a new ‘block’ and added to the blockchain.
  5. The whole process ensures that each block is created in a way that indisputably links it to the previous one and the next one, thereby forming a chain of blocks or blockchain. The unique record that forms a blockchain is shared by each node in the network and is constantly updated and synchronised.
  6. As a database, ultimately a blockchain stores the records of all transactions ever executed across a network. Falsifying these records would mean falsifying the entire chain in millions of instances. That is hardly possible. 
  7. The transaction is generally complete (*).

(*) When new blocks are distributed to all nodes, this does not always mean that the transactions are completed: for example, in bitcoin, you will have many branches containing different blocks, with different transactions, and only the blocks with at least X appended new blocks on their back will finally be considered trusted (and the contained transactions finalised)

https://ses.jrc.ec.europa.eu/sites/ses.jrc.ec.europa.eu/files/pictures/how_blockchain_works.jpg


The key advantages of the Distributed Ledger Tehcnologies are:

  • Decentralisation. A blockchain is run through a distributed network of participants who do not necessarily trust each other. Instead, trust between participants is based on the set of rules that everyone follows to verify, validate and add transactions to the blockchain – a consensus mechanism.
  • Immutability (or better, tamper resistance). It is extremely difficult to change or delete the record of transactions. Since multiple copies of a blockchain are kept and managed by consensus across a peer-to-peer network, no one peer can alter past transactions. Every modification in the blockchain is visible to everyone, so it is almost impossible to make changes without someone noticing them. Public-private keys or cryptographic signatures also ensure the integrity and authentication of transactions.
  • Transparency. Transactions are visible to all participants or to a predefined set of participants, which may increase auditability and trust.
  • Security. Not only all transactions are protected by cryptography, but they are also time-stamped. This means that data such as details about a payment, a contract, etc., is linked publicly to a certain date and time. Finally, the distributed nature of the ledger makes it resilient. Even if many peers go offline, the information is still accessible as there is no single point of failure.
  • Verifiability. The combination of transparency and immutability also enables full public verifiability: anyone in the world can check that the rules of the system are being followed (as an example, in the case of digital currencies, the rule to follow is that coins should be spent only once), thanks to the size and power of the network.

https://ses.jrc.ec.europa.eu/sites/ses.jrc.ec.europa.eu/files/pictures/dlt_advantages.jpg


 

There are many different blockchains with distinct functionalities and architectures. They can be distinguished depending on who can read, execute and validate transactions:

  • Public (or open): anyone can read and access a blockchain.
  • Private (or private): only authorised entities have access to the blockchain.

Blockchains can be further categorised as ‘permissionless’ or ‘permissioned’ depending on who can send transactions and who can validate them.

  • Permissionless: If anyone can send and validate transactions.
  • Permissioned: If entities need to be authorised to execute or validate transactions, or both, the blockchain is called permissioned.

Hybrid blockchains - combining different aspects of permissioned and permissionless architectures - are also available.

In general (see overview in Table), four major blockchain types can be distinguished:

  • public permissionless,
  • public permissioned,
  • private permissioned,
  • and private permissionless.

The yellow dots are the validating nodes, which means they are able to validate the transactions in the system and participate in the consensus mechanism.

The light-blue dots are participants in the network in the sense that they can transact but are not able to participate in the validation mechanism.

A blue circle means that only the nodes within the circle can see the transaction history. Illustrations without a circle mean that everyone with an internet connection can see the blockchain’s transaction history.

 


Blockchain: when to use it? We start from a situation where data (in transaction form) needs to be stored and shared.

Do you need to store and share data with untrusted partners?

Whenever it is not needed to share stored data, complex cryptography-based architectures are unnecessary and traditional solutions are preferable. When the users having writing rights are all known and can be all trusted, then again it is advisable to use a traditional ledger architecture.

Do you want / need to avoid a third party maintain the database?

On the contrary, if users having writing rights are unknown or untrusted, there is a need for something or someone supervising their behaviours and validating their transactions. If those tasks can be entrusted to an external entity (which in case of failure could be switched), designers should opt for a centralised architecture.

Shall everyone be entrusted to both read and write in the database?

If trust cannot be put on a third party, it is better to have confidence in a protocol (i.e., a set of rules) that guarantees the correct functioning of the system. If everyone shall be entrusted to both read and write in the database, a public permissionless blockchain enables untrusted parties to interact without relying on any man-in-the middle. In a public permissionless blockchain transaction history is fully accessible to everyone. Validation and verification are carried out in a fully open and distributed fashion. If just a selected group shall be entrusted to modify the database, the choice should go to permissioned blockchains. Instead of providing open access to anyone, blockchains can bind certain of their functionalities (read and write) arranging permissions.

Shall transactions be publicly visible/verifiable?

If one plans to keep restrictions on writing rights (not all users should be granted them) and verification checks may not be in the public domain, the choice could go to a private permissioned blockchain. Whenever a system requires public verifiability, one may keep restrictions on writing rights but at the same time leave the freedom to everyone to observe the system state, thus resorting to a hybrid blockchain (open-permissioned).

 


The main features of lottery-based consensus algorithms are:

  • The winner of the lottery proposes a block and transmits it to the rest of the network for validation
  • They handle large number of nodes but may be slower in finalising transactions (if two “winners” propose a block, each fork must be resolved)

Proof Of Work (PoW), used by Bitcoin

Proof of work is a requirement to define an expensive computer calculation, also called mining, that needs to be performed in order to create a new group of trustless transactions (the so-called block) on a distributed ledger called blockchain.

Mining has two purposes:

  1. To verify the legitimacy of a transaction (or avoiding the so-called double-spending),
  2. To create new digital currencies by rewarding miners.

Proof Of Stake (PoS), recently adopted by Ethereum

While with PoW miners solve cryptographically hard puzzles by using their computational resources, with Proof-of-Stake validators replace miners. The validators commit some of their Ether as a stake in the ecosystem. Following that, the validators bet on the blocks that they feel will be added next to the chain. When the block gets added, the validators get a block reward in proportion to their stake.

With Proof-of-Work, the miner may potentially own none of the digital currency they are mining. In Proof-of-Stake, forgers are always those who own the coins minted.

Thanks to a PoS system validators do not have to use their computing power because the only factors that influence their chances are the total number of their own stake (coins) and the current complexity of the network.


The main features of voting-based consensus algorithms are :

  • When a majority of nodes validates (i.e. votes for) a transaction/block, consensus exists and finality occurs
  • Trade-off between scalability and latency: the algorithm is quicker but the more nodes that exist on the network, the more time it takes to reach consensus (since all nodes need to transfer messages to each other)

Several voting-based consensus algorithms are derived from the Byzantine Fault Tolerance, which is the ability of a distributed computer network to correctly reach consensus despite malicious components of the system failing or propagating incorrect information.

Briefly described, the problem concerns a set of Byzantine generals (or nodes in a blockchain), agreeing on a joint plan of action. For the Byzantine generals, the joint action is coordinating the different parts of an army to attack a fortress simultaneously (in the case of blockchains, this corresponds to reaching consensus on validating a transaction).

The challenge is that messages between the generals have to pass inside enemy territory and may be lost without notification. Moreover, some of the generals may be traitors. The challenge is, to ensure that loyal generals can reach consensus on the attack plan, and a small number of traitors should not cause them to adopt a bad plan.

ALL REFERENCES FOR 2. DISTRIBUTED LEDGER TECHNOLOGIES