Blockchain alternative distributed ledger architectures
Introduction to Alternative Distributed Ledger Architectures
Blockchains are the original distributed ledger architecture, and the creation of blockchain was a major innovation. However, blockchains also have their limitations, such as:
- Throughput: Many blockchains have a set maximum block size and block rate, meaning that they have a maximum throughput of transactions that they can process. This limits the scalability of a blockchain-based solution.
- Transaction Speed: Transactions are only only added to the distributed ledger as part of blocks, which are created at set intervals. The need to wait for block creation and confirmation creates delays before a transaction can be trusted.
- Overhead: Consensus algorithms like Proof of Work are resource-intensive, meaning that maintaining the distributed ledger requires significant overhead.
Some of these limitations have been addressed by tweaking the blockchain protocol or adding second-layer protocols that run on top of them. Another approach has been to develop distributed ledgers that take the underlying concepts of blockchain technology and apply them to a different underlying architecture.
Directed Acyclic Graphs (DAGs)
Blockchains are based off of the linked-list data structure. A linked list is a set of nodes where each node points to one other node. In the case of blockchain, each node is a block, and the “pointer” is the previous block hash contained within each block header.
Directed acyclic graphs (DAGs) are a different but related data structure. In a DAG, a node can have multiple directed links to other nodes. The only requirement is that the graph doesn’t contain cycles, where it is possible to start at a node and return to it by following directed links. A tree data structure is an example of a simple DAG where all links point either to or away from the root node.
DAGs are used in distributed ledgers like IOTA’s Tangle. In the Tangle, each node of the DAG is a transaction and it is linked to two other transactions. The transaction creator is responsible for verifying that every transaction in its history (the transactions that it points to, the transactions that they point to, etc.) is valid and does not contain double-spends. Unlike with blockchain, transactions are immediately added to the distributed ledger (the Tangle) but gain trust over time.
Blockchains like Bitcoin are designed to have a single, shared blockchain. The network cooperates to add transactions and blocks to this blockchain via the blockchain consensus algorithm. Each node in the blockchain network contains its own full copy of the distributed ledger.
Block lattices are composed of a collection of interrelated blockchains. Each node in the network is responsible for maintaining its own, unique blockchain that only it can add transactions to. This creates a record of the transactions in which that particular node was involved. Every block stored on any of the five chains is linked to another block on a different chain.
This is because both the sender and the recipient of a transaction must add a copy of it to their chain. This prevents any node in the network from unilaterally adding transactions to its chain.
Each of the blockchains in the block lattice is public, and, upon receipt of a transaction, broadcasts their Receive block to the rest of the network. The other nodes in the network will sign a message confirming the transaction if it is valid. If 50% of the network confirms the block and no conflicting block is seen, then the recipient of the transaction can trust it. Otherwise, if a conflicting block is seen, the node waits several confirmation rounds to see which version of the block wins the vote and acts accordingly.
Sidechains are another example of a distributed ledger architecture that is built using blockchains. Sidechains can be implemented in a variety of different ways, but the most common is as two standalone blockchains that are “pegged” together.
A “peg” is a link that enables a user to exchange value on one of the blockchains for value on the other. This is accomplished by sending cryptocurrency to a specific address on one chain, which will unlock a corresponding amount of cryptocurrency on the other.
The use of sidechains can provide a couple of different benefits:
- Scalability: Sidechains enable blockchains to scale because each sidechain is independent of the mainchain and has none of its transactions recorded on it. A user can transfer cryptocurrency over, make a number of transactions on the sidechain, and transfer back, and the only transactions recorded on the mainchain’s ledger are the two conversions.
- Transaction Speed: Different blockchains have different rates at which blocks are created. Using a sidechain with a faster block rate can enable a series of transactions to be performed more quickly.
- Expanded Capabilities: Some blockchains, like Bitcoin, do not have full smart contract support. Using a smart contract platform as a sidechain expands the potential capabilities of the mainchain.
From a security perspective, a sidechain is completely independent of the mainchain. This means that an attack against the sidechain could change the terms of or completely destroy its “peg”.
Selecting the Right Distributed Ledger Architecture
Blockchain is the most famous distributed ledger architecture and controls the majority of the market share. However, it is not the only option available. A number of alternative distributed ledger systems have been created, and it is important to consider the options and select the one that provides the best fit for a particular application.