SimBlock Simulator Enhancement with Difficulty Level Algorithm Based on Proof-of-Work Consensus for Lightweight Blockchain

Sensors (Basel). 2022 Nov 22;22(23):9057. doi: 10.3390/s22239057.

Abstract

Proof-of-Work (PoW) was the first blockchain consensus protocol discovered, followed by Proof-of-Stake and others. The disadvantage of the PoW is that it requires high energy consumption compared to other consensus protocols. Based on this weakness, some researchers proposed a lightweight blockchain technology, a modified blockchain that has a simplified algorithm but does not reduce the security factor. This lightweight blockchain is suitable for applications requiring data reliability but with limited computing resources, such as Internet of Things devices. This paper discussed and modified the SimBlock simulator as one of the existing blockchain simulators. It has a visualization tool to look further into the propagation transition of the block. Unfortunately, the existing PoW consensus on the SimBlock simulator is unable to pinpoint the actual hash computation method. Therefore, the hashing process in the SimBlock simulator was modified by including the difficulty level for finding the hash target. The purpose of including the difficulty level was to determine how long it takes to create a block. By knowing the time needed, a recommendation could be obtained for the most suitable difficulty level for a lightweight blockchain and its implementation with IoT devices. There are two options of approaches to the difficulty level referred to in this paper; finding the number of zeros that appear sequentially and are in front of a hash value (leading zero) and finding the number of zeros that appear arbitrarily (count zero). For example, the first difficulty level on a leading-zero quest has the same meaning as searching for a leading zero, the second level of difficulty is the search for the two leading zeros, etc. The block generation time on a blockchain network using the PoW consensus highly depends on the difficulty level. Block generation time and resource utility have been analyzed and compared with other blockchain simulators and existing networks, such as Ethereum and Bitcoin. The modified SimBlock simulator was tested in this experiment using 100-600 nodes, with the expected result of creating 100-1000 blocks. Based on the experiments, creating a block using leading zeros as the hash target for the first to fourth difficulty levels took less than 1 s, whereas when using count zeros (zero-count) as the target hash, it took less than 1 s for the first to fifteenth difficulty levels. Using leading zeros took approximately 237.4 s at difficulty level 7, while count-zero took approximately 633.8 s at difficulty level 19. The experiment was not continued at the next difficulty level because it required a longer compilation time. With the modifications made, the creation of a block on a blockchain network using the PoW consensus can be clearly seen. The difficulty level added to the simulator can also provide information for determining the difficulty level to be implemented on the lightweight blockchain.

Keywords: Proof-of-Work; SimBlock simulator; blockchain; difficulty level; lightweight blockchain.