Scalability Methods for Blockchain Systems

區塊鏈系統的可擴展性方法

Student thesis: Doctoral Thesis

View graph of relations

Related Research Unit(s)

Detail(s)

Awarding Institution
Supervisors/Advisors
Award date7 Jan 2022

Abstract

Blockchain is an inspiring emerging technology that takes much attention from various researchers, countries, and companies. The technology offers various benefits such as data security, autonomy, immutability, transparency, and auditability. After realizing its promising benefits through successful trials, many enterprises such as Microsoft and IBM integrate blockchain with their systems. Many countries such as Georgia and Estonia also use the technology for their national infrastructures. There are various applications of the blockchain besides cryptocurrencies. Blockchain is now used for banking and finance, supply chain, registry, insurance, energy, healthcare, the internet of things (IoT), and more.

Despite the strength and benefits of blockchain technology, scalability issues (lo performances and huge storage data) are the biggest but less researched challenges of blockchain that impede its mainstream adoption. As the size of the blockchain network increases, its performance reduces and large data is generated. For this reason, blockchain applications such as Bitcoin and Ethereum have much lower throughput compared to non-blockchain applications such as Visa and Paypal. On the other hand, the read-performance of blockchain servers is also low compared to that of non-blockchain servers such as YouTube and Google. Lightweight nodes, especially the Simplified Payment Verification (SPV) and IoT nodes cannot store the entire blockchain due to its huge size (Over 288GB for Bitcoin). They depend solely on blockchain servers for blockchain data. The increasing lightweight nodes put so much workload on blockchain servers thus, affecting the performance of blockchain applications. Currently, several healthcare applications are using the existing blockchain systems. However, the inherent scalability issues in the existing blockchain systems become an impediment to implementing efficient and scalable cross-border blockchain healthcare systems. The scalability issues cause an increasing low performance in the existing healthcare blockchains as their sizes increase. Hence, the existing healthcare blockchains cannot efficiently handle the huge volume of healthcare data transactions produced globally.

This thesis presents various scalability methods that we proposed to improve blockchain systems' scalability. The thesis also presents a survey of the state of the art of blockchain technology and a systematic review of blockchain scalability. We propose an efficient, high-performance FPGA In-NIC NoSQL caching system to reduce the workload on blockchain servers and improve its read-performance (throughput). The system caches the blockchain data in the FPGA network interface controller (NIC) and responds to requests on behalf of the server when a cache hit occurs on the FPGA. We design a customized SHA-256 hash core specific for efficient blockchain caching to save hashing executions and improve performance. We built and used Jansson and Curl libraries to interface our system with real Bitcoin core. We finally evaluated the throughput performance of Bitcoin core interfaced with the system. The overall result revealed that our system improves the throughput performance by 103x when a cache hit occurs on the FPGA. The design also offers small work area utilization, low power consumption, and higher performance.

Furthermore, we propose an FPGA-Redis hybrid NoSQL caching system to further enhance the read-performance of the blockchain servers compared to when using the FPGA-only caching system. FPGA-only caching system has a limitation; its overall performance degrades in situations where cache misses occur on the FPGA for some of the requests. For this reason, we propose an ecient, high-performance hybrid (multilevel) and distributed NoSQL caching system of FPGA and Redis to improve the blockchain server's overall scalability with both cache hits and cache misses occurring on the FPGA. The system consists of a Gigabit Ethernet FPGA NoSQL cache architecture that works in synergy with the Redis database via a Hiredis C client. Curl and Jansson objects are used to connect with the blockchain. Our results revealed an improvement of up to 4.09x with the proposed FPGA-Redis system compared to the FPGA-only caching system. Small FPGA area utilization and less power consumption were also achieved.

The advancements of technology and the internet paved the way for improvements in healthcare through Electronic Healthcare Records (EHRs). However, the existing EHRs face challenges such as inconsistent and duplicate records and individually centralized databases that can serve as a single point of failure. Several blockchain frameworks have been proposed for blockchain-based healthcare record sharing. However, these frameworks do not consider or give less emphasis on the inherent scalability issue of blockchains, especially for cross-border healthcare systems. Due to their low scalability, the existing blockchain can not support the number of transactions required for the huge healthcare records generated globally. Therefore, we propose GlobeChain as a nationality-based sharding protocol that uses our proposed consensus delegate selection algorithm to scale the existing healthcare blockchains for cross-border healthcare applications. We also propose a scalable method for fast and secure cross-shard transactions. Our results revealed a throughput of 879 TPS with our GlobeChain based system prototype. The result is a remarkable improvement over the existing healthcare blockchain systems. Thus, GlobeChain achieves high performance and is secure for efficient and scalable cross-border blockchain healthcare applications.

In the future, we would like to further improve GlobeChain to a target of 100,000TPS through an optimized PBFT consensus, RDMA, reduced transaction size, and off-chain computations. We will also work towards a highly scalable, secure, and decentralized consensus mechanism more suitable for permissioned blockchains. Furthermore, we desire a lightweight blockchain for IoT to improve storage scalability and enhance blockchain adoption in the IoT. In summary, this thesis gives a comprehensive overview of blockchain, systematically reviews the blockchain scalability, and proposes methods for scaling the blockchain. We are optimistic that the thesis will scale blockchain applications and lead to more adoption of blockchain technology when properly used.