Blockchain, the technology behind cryptocurrencies such as Bitcoin has a wide range of applications on the internet. It is decentralized and has the potential to emerge as an alternative to the many traditional transactional systems. However, the current blockchain systems still have the fundamental issues of scalability, interoperability, and sustainability. For example, for Bitcoins to be used as widely as credit cards, the system must scale up to meet the demand for high transaction volumes and at speeds that offer seamless services to consumers.
Many blockchain scaling solutions are present in the market today. They use traditional cryptographic algorithms such as ECC or RSA to increase the speed and throughput of network transactions and security.
One of the most popular cryptographic methods used for network optimization and security is public key cryptography, which provides a viable mechanism for scaling solutions.
Our solution XXXX is one such public key cryptography solution that has far reaching applications not only in blockchains but in other areas of cloud computing as well.
A Brief Introduction to Blockchain
According to Wikipedia, blockchain refers to “a growing list of records called blocks that are linked using cryptography”. Simply put, “block” refers to digital data, which is stored in a public database referred to as the “chain”. Not only in cryptocurrencies, blockchain has applications in other areas such as Finance, Video Games, or Supply Chain.
Blocks in blockchain consist of the following parts:
- Transaction information such as date, time, and data or amount transacted
- Record of the person involved in data transactions in the form of digital signature
- Unique identity or code for each block called a “hash”. These hashes are cryptographically coded and the blocks are linked forming a chain.
A single block in a blockchain can store up to 1 MB data. Depending on the transaction volumes, a block can store up to thousands of transactions.
Cryptography and Blockchain
As explained earlier, blocks are stored in a linear and chronological manner. If a new block is created, it gets added to the end of the blockchain. And since each block contains a unique hash that is computed using cryptography, it becomes extremely difficult for hackers to find information or interrupt a transaction.
During internet transactions using cryptocurrencies, users use “wallets”. These wallets consist of 2 unique keys, public key and private key. Public key is an address on the blockchain and contains the transaction data. Private key is akin to a password and is used to retrieve transaction data or other digital assets. These unique keys make it hard for blockchains to be hacked.
Blockchain Scaling: Why is it important?
Because of the structure of the blockchain, the blocks cannot process more than 3 to 4 transactions per second, which is a very low volume. However, the need of the hour is to handle thousands of transactions per second at very high speeds, without unnecessary delays to consumers. In its current state, this is not possible.
Blockchains cannot support increasing transaction volumes and traffic. Considers this; Visa and Mastercards can handle millions of transactions per second when compared to Bitcoin, which can handle only about 4 or 7 transactions per second. This is a bottleneck if this industry needs to overtake other financial institutions and make it more feasible or usable.
Therefore, companies are looking to scale blockchains to handle high transaction volumes and keep up with the demand. For example, in May 2018, Bitcoin Cash was successful in upgrading its block size to handle 32 MB data.
However, a caveat. For blockchains to scale their transaction volumes, there must be a trade-off. Blockchains are highly secure since they are distributed and therefore, resistant to faults and attacks. And, the core tenet of blockchain is decentralization that allows for more open and transparent network. Blockchains, however, can either be scalable or decentralized. This is known as the scaling trilemma (scalability, security, or decentralization). For example, cryptocurrencies such as Bitcoin and Ethereum focused on decentralization and network security, and hence their systems weren’t scalable.
Hence, solutions to scale blockchain must address both factors of speed and security in order to be feasible.
A look at Current Blockchain Scaling Solutions
Blockchain is typically divided into layers:
- First layer or layer 1: where the chain of blocks is formed
- Second layer or layer 2: application layer or transaction layer. This can even be a separate blockchain
- Network layer: where communication takes place over the internet
- Hardware layer: computation layer, where data is computed and processed
Scaling solutions often target different layers of blockchain. For example, scaling solution on the network layer can enhance the speed of the network for optimizing communications. Scaling solutions on layer 1 can enable addition of different blockchain structures. Scaling solutions for layer 2 can include off-chain channels, hubs, or sidechains.
Let’s look at some of the current solutions in the market:
Layer 1 solutions: These target actual blocks of a blockchain. Typically, this involves increasing the block size from 1 MB to 10 MB or reducing the block creation time from 10 minutes to 5 minutes.
Examples of layer 1 (also known as “onchain”) solutions include:
- Segregated Witness (Segwit), which provides 20 transactions per second
- Sharding (Ethereum), which provides 10,000 transactions per second
- Hard Fork (New Currency) such as Bitcoin Cash, Litecoin, and DASH which provide 60, 56, and 48 transactions per second respectively
Layer 2 solutions: These target the application layer. Typically, this involves building secondary protocols on the top of the main blockchain where transactions are offloaded to decrease network congestion, save space and increase throughput.
Examples of layer 2 (also known as “offchain”) solutions include:
- Lightening Network, which provides 1,000,000+ transactions per second
- Raiden Network, which provides 100,000,000 transactions per second
- Plasma which provides infinite transactions per second
- Trinity, which provides infinite transactions per second