Applications of Blockchain

Introduction

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
In addition to the above, there are various consensus models that enable higher scalability and transaction processing such as Dedicated Proof-of-Stake, Byzantine Fault Tolerance (BFT), and Proof-of Authority.

Distributed Ledger Technology (DLT) is being adopted for higher scalability since they do not follow the same blockchain sequential structure. The most important example of this technology is the new Directed Acyclic Graph (DAG) which can provide a throughput of infinite transactions per second.

High Performance Blockchain (HPB)

This technology aims to address the issue of scalability w.r.t both hardware and software. HPB architecture is permissionless and involves a customized hardware Blockchain Offload Engine (BOE) along with high performance blockchain software, which enables high transaction speeds and low latency.

BOE hardware includes Ecliptic Curve Digital Signature Algorithm (ECDSA) module, which handles signature verification at high speeds that is critical for high volume transactions and throughput. BOE also consists of MAC module and TCP/IP offload engine (TOE), both of which are used for processing and throughput optimization.

One important factor used in high performance blockchain is high performance cryptography.

High Performance Cryptography

Lot of effort is being made to provide high security for internet transactions. This is typically used for network speeds and optimization. There are basically two types of cryptography – symmetric and asymmetric. Asymmetric cryptography also known as public key cryptography is gaining popularity in the use of blockchain scaling.

Asymmetric Cryptography uses public and private keys to encrypt and decrypt data. In order for public keys to be safe and authentic, a public key infrastructure (PKI) which validates certificates and ownership is a common approach.

Asymmetric cryptography uses many algorithms for secure encryption of data, such as Diffie–Hellman (DH), Rivest-Shamir-Adleman (RSA), or Elliptic Curve Cryptography (ECC).

RSA is the most widely used algorithm and is embedded in SLS/TLS protocol. This is used secure communications on the internet; Typically, RSA keys are 1024- or 2048-bits long. ECC is typically used in asymmetric cryptography and uses elliptic curves over finite fields. This is emerging as an alternative to RSA as it is smaller and uses more efficient cryptographic keys. ECC keys are generated through elliptic curve equations.

However, such public key based algorithms are expensive and consume a lot of energy. Many such public key encryption and exchange protocols have been proposed, however, they are quite resource intensive.

Our solution XXXX aims to solve these issues in public key cryptography while improving the speed and scalability of blockchains.

Our Solution – XXXX

Our solution XXXX is a secure public key infrastructure engine that can be used to offload compute-intensive public key operations such as DH, signature generation, and verification. It uses a combination of a load balancer and a configurable number of instances of BA414EP Public-Key Cryptography engine. This saves time and space as the transaction load is distributed among several components, thereby increasing the overall transaction speed and output.

XXXX consists of a core and optional modules to connect to the standard interfaces such as PCIe, or AXI_DMA. The solution supports all the cryptography algorithms such as RSA, or ECC, is very flexible, and delivers a high performance.

It is also easily portable to ASIC and FPGA, and supports a wide range of applications on various technologies. The unique architecture of our solution enables high scalability that in turn provides a trade-off among throughput, area and latency. Our solution has wide ranging applications in blockchain scaling, cryptocurrency transactions such as Bitcoin, cloud computing, data centers and so on.

Conclusion

Cryptocurrency technologies such as Bitcoin and blockchain are gaining popularity. Earlier algorithms or cryptography used in blockchains were not scalable to meet the demand of high-volume transactions. Many public key cryptographic algorithms such as ECC, RSA and so on have been used to enhance the transaction throughput of the underlying technology of blockchains. However, they have not been cost effective or flexible enough. Our solution aims to provide an efficient public key cryptography that is flexible, is highly secure and has wide ranging applications.

Leave a Comment

Your email address will not be published. Required fields are marked *