![]() | Only 14 pages are availabe for public view |
Abstract Recently, block chain is considered the most secure technology in data storing which stores data in blocks. Therefore, most cryptocurrency systems such as Bitcoinuse block chain technology to store all historical transaction data. Blockchain is a chain of blocks as a linked list structure and may be changed to a fork structure. There are two types of forks: useful fork or malicious fork. The useful fork appears when a rule of the Bitcoin system is updated. There are two types of malicious fork: accident fork which appears when two blocks are published in the block chain at the same time. On the other hand, there are selfish miner attackers who have supercomputer properties to generate illegal blocks and maximizing their illicit reward (intentional fork). A set of blockchain transactions will be rollbacked when the malicious fork appears in the Bitcoin environment, therefore, user waiting times and illicit miner rewards will increase. This thesis aims to improve blockchain storage and eliminating the selfish mining attacker in the Bitcoin environment. The proposed study covers a variety of block chain problems in the Bitcoin environment and is divided into two stages. In the first stage, we present a review study of the malicious fork issue and transactions rollback issue and reasons for their occurrence and footprint to block chain blocks, Bitcoin users, and Bitcoin miners. As well as show memory pool publisher algorithm to prevent the rollback issue and malicious fork issue. Memory pool publisher algorithm is a lightweight algorithm and suggested to prevent the malicious fork, rollback issue, and users waiting time. The findings show that the major cause of the malicious fork is the multiplicity of block chain publishers of blocks in the Bitcoin environment. The proposed algorithm success to solve the limitation of the previous related works which has a strong potential to prevent intentional and accident fork issues and rollback issue. Therefore, user waiting time is minimized from 60 to 10 minutes by makes one block publisher of the blockchain. The second stage presents the memory pool bottleneck in the Bitcoin environment and reasons for their occurrence and footprint to Bitcoin users, and Bitcoin miners. As well as presents the Two-phase algorithm that is suggested to ABSTRACT IV avoid the memory pool bottleneck therefore reduce miner’s work and user waiting time. The two-phase improves the memory pool publisher algorithm and avoids the memory pool bottleneck by using multiple memory pools to save new transactions (unconfirmed transactions) and publish new blocks to the block chain. The findings indicate that the proposed algorithm has a strong potential to avoid the memory pool bottleneck problem. |