Introduction to Blockchain: Extensions (Part 6)
5 minutes
BeginnerBlockchain technology provides users with a number of advantages that are not available in traditional systems. Blockchain is the first fully distributed and decentralized system capable of maintaining a shared trusted ledger. This allows the network to keep track of its history and be confident that malicious or regular users cannot change this history in their favor.
However, blockchain technology is not perfect. Bitcoin was originally developed to replace traditional payment systems (such as credit cards); however, it does not have the ability to do so on its own. Blockchain technology has limitations, and blockchain extensions have been developed to mitigate or eliminate them.
Limitations of blockchain
Blockchain has a very specific structure. Because the network must remain synchronized and must verify all transactions, transactions cannot be constantly added to the distributed ledger. Instead, transactions are organized into blocks that are regularly added to the distributed ledger. This design limits the speed and power of blockchain solutions.
The speed at which transactions are added to the distributed ledger is heavily limited in blockchain. Blockchains usually have a target block creation speed that is maintained at a certain level by their consensus algorithm. For example, Bitcoin has a block creation speed of 10 minutes, meaning that with the three-block rule, you may have to wait up to half an hour before a transaction is considered trustworthy. This is disadvantageous compared to credit cards, where "slow" transactions are completed within minutes.
Blockchains also have an issue with maximum capacity. In addition to the set block size, many blockchains have a set maximum block size designed to protect against denial-of-service (DoS) attacks. With fixed-size blocks created at fixed intervals, the blockchain can only process a certain number of transactions over a period of time, and this capacity is often much lower than that of payment card systems.
Blockchain extensions
Some distributed ledger technologies have abandoned the blockchain data structure to address these issues. For example, IOTA uses a Directed Acyclic Graph (DAG) as its underlying data structure, which significantly increases transaction speed and capacity. Some blockchains make minor protocol changes (such as increasing block speed) to improve transaction speed and throughput. And some blockchains have started to use blockchain extensions to address these issues while still maintaining the original blockchain design.
Sidechains
Sidechains are primarily intended to increase the throughput of the blockchain by moving some transactions to an autonomous blockchain. There are several different implementations of sidechains, but the most common is "pegging" the sidechain to the parent blockchain. In pegged sidechains, a user in one blockchain can send tokens to an "output address," and an equivalent amount of tokens will be issued in the sidechain. Pegs are bidirectional, so the user can return to the original blockchain at their discretion.
One of the advantages of sidechains is the increase in capacity of the original blockchain. Since transactions executed on a sidechain are not recorded in blocks of the main blockchain, the overall throughput of the system is increased.
Sidechains can also be used to address specific shortcomings of the parent blockchain. For example, a sidechain may have a faster block creation rate than the parent chain, which increases the speed of transactions in the system. As an alternative, sidechains can expand the capabilities of the system, such as Rootstock, a sidechain that plans to add smart contract functionality to Bitcoin. The main security consideration for sidechains is that a sidechain is a system that is completely separate from the main chain. It must have its own consensus mechanism through a large pool of miners, stakers, etc. Otherwise, a hack of the sidechain can affect the quality of its binding to the main chain and users' ability to switch back and forth.
STATE CHANNELS
Another blockchain extension that has received a lot of attention in the press is the state channel. The most well-known state channel system is probably the Lightning Network, which operates on the Bitcoin network. However, other state channel implementations operate on other blockchains under different names. State channels function as a second-layer protocol that operates on top of the traditional blockchain implementation.
A state channel is a direct connection between users on a blockchain network. They establish a channel using a traditional blockchain transaction, which sets the balance that each party contributed to the channel (e.g. 1 BTC each). Once the channel is established, payments are made by creating mutually signed statements about the balance of value in the channel (e.g. 0.75 BTC and 1.25 BTC). The channel can be closed at any time, and another blockchain transaction is created using the latest balance statement to put the correct amount of cryptocurrency into each participant's blockchain account.
The main advantages of state channels are speed, scalability, and confidentiality. Transactions only require participants in the channel and can be completed almost instantly. However, if the channel becomes too unbalanced, payment may be impossible. This is where the state channel network can be very useful, as transactions can go through different paths to rebalance channels or perform transfers between unconnected parties. The main security consideration of state channels is that transactions are supported by the blockchain, but not recorded on it. State channel transactions are private to the recipients, and the blockchain network must be confident that all transactions made through them are legitimate. However, the two-point nature of state channels protects against double-spending attacks, as the value stored in one channel is unique to that channel and cannot be used to open and execute transactions in other channels.