Blockchain: Beyond the Basics
Beyond the basic blockchain
The core blockchain protocol implements a distributed ledger capable of performing cryptocurrency transfers. Smart contract platforms add additional functionality by running programs on top of the blockchain.
However, distributed ledger technology is not limited to the traditional blockchain or smart contract platform. Distributed ledgers can run on alternative architectures, support second-layer protocols and use advanced cryptography to provide additional functionality and guarantees.
Alternative distributed ledger architectures
Blockchain is the most common and widely-known architecture for implementing distributed ledgers. However, other protocols and distributed ledger architectures also exist. These alternative ledger architectures are often designed to address limitations of blockchain-based ledgers, such as limited transaction speeds and scalability.
Directed acyclic graphs
A DAG is a graph with two main properties:
- Directed links: Connections between nodes have a set direction (like blockchain blocks pointing to the previous block)
- Acyclic: An acyclic graph doesn’t contain cycles. This means that it is impossible to start at a given node, follow directed links and make it back to that node
DAGs can also be used to implement a distributed ledger. An example of a leading DAG-based blockchain is IOTA and its Tangle.
Without blocks, DAG-based ledgers have to implement consensus in different ways. The security of these ledgers is heavily dependent upon the details of these consensus algorithms.
Sidechains take the blockchain as a basis and build on it. Sidechains are implemented using pegging.
Pegged sidechains are two independent blockchains that support cross-chain swaps. Users can send cryptocurrency to a set address on one chain and release cryptocurrency on the other. This provides the ability to take advantage of different features on different chains.
Sidechains are built out of completely independent blockchains that are linked in some way. Each blockchain has the same security concerns as a traditional blockchain, but the links between the chains can impact their security and vice versa.
Second-layer blockchain protocols
The functionality of blockchains can also be extended using second-layer blockchain protocols. The most common type of second-layer blockchain protocol is the state channel.
Bitcoin’s Lightning Network is the most famous example of a state channel. State channels enable transfer of value through the following operations:
- State channel creation: A state channel can be created by a special transaction on the blockchain. This transaction establishes the state channel and specifies the amount of value that each party has contributed to it. As long as the state channel is active, neither party can access the cryptocurrency that they contributed to it.
- Rebalancing of channel value: Value is sent in a state channel by changing the relative balance of value in it. For example: if Alice and Bob initially contributed 1 Bitcoin to a channel, Alice can send Bob .5 Bitcoin if they both agree that the current state of the channel is that Alice owns .5 of the Bitcoin in the channel and Bob owns 1.5 of it. These rebalancings can be performed an infinite number of times.
- Indirect transfers: Value can be transferred indirectly through state channels as well. The parties identify a path of channels between them and send value through these channels. Typically the parties in these channels are incentivized to make the effort via small transaction fee.
- Closing the channel: A state channel can be closed by either party via another transaction on the blockchain itself. This uses the last mutually-signed statement of the relative account balances to properly distribute the allocated cryptocurrency between the two parties.
State channels provide a number of different advantages, such as increasing the speed that transactions can be processed and the number of transactions that a blockchain can secure. All of these transactions are performed off-chain, which may sacrifice some security for privacy and scalability.
Advanced cryptography for the blockchain
Blockchain is built upon and heavily dependent on cryptographic algorithms, including hash algorithms and digital signatures. However, these are not the only potential applications of cryptographic algorithms in blockchain.
Some distributed ledger platforms have added additional functionality and guarantees based upon advanced cryptographic algorithms. Some examples of these include:
- Multi-signatures: Multi-signature algorithms divide a secret between multiple parties in a way that it can only be retrieved with the cooperation of a set minimum number of them. This can be used to ensure that a minimum number of stakeholders consent to a particular transaction.
- Zero-knowledge proofs (ZKPs): ZKPs enable knowledge of a secret to be proven without revealing the secret itself. This can be used for verifying membership in a group or proving that a transaction is valid without revealing the details.
- Stealth addresses: Stealth addresses enable one-time addresses to be generated from a master address in a way that enables them to be claimed by the owner. This enables a user to receive multiple transactions without revealing the identity of their recipient or the fact that multiple transactions are going to the same person.
- Ring signatures: Ring signatures enable someone to generate a digital signature as a member of a group without revealing an individual identity.
- Commitment schemes: A commitment scheme “locks in” the value of data without revealing it. This allows a user to commit to something in advance (like a vote in an auction) but wait to reveal the commitment until later.
Designing the perfect distributed ledger
The original blockchain protocol provides a great deal of functionality, but it isn’t perfect for every use case. Using an alternative ledger design or advanced cryptography enables a distributed ledger protocol to be tailored to the needs of a particular application.