Add Thesis

Improving the Security and Efficiency of Blockchain-based Cryptocurrencies

Written by R. G. Nirmala

Paper category

Master Thesis


Computer Science




Thesis: Cryptocurrency and Trusted Hardware In this chapter, the topics we describe provide the necessary background knowledge of various concepts related to cryptocurrency, Bitcoin wallets, and trusted hardware. We also discussed related research work. 2.1 Encrypted currency Encrypted currency is a new era digital currency that serves as a medium of exchange between transaction parties. It relies on cryptographic primitives to protect, verify and regulate the creation and transaction of currencies. Unlike traditional currencies, cryptocurrencies do not require a central trusted third party like banks to track and record transactions. The concept of decentralized cryptocurrency is believed to be proposed by Dai Wei’s B-money [20] protocol based on asymmetric encryption in 1998. Primitive. Wei Dai described B-money as a distributed anonymous currency exchange protocol between entities identified by untraceable digital aliases. In 2005, Nick Szabo proposed a new version of the cryptocurrency Bit gold [46]. Bit gold is based on the idea of ​​solving a cryptographic puzzle, in which the client will calculate a bit string from a given challenge bit string. Then use the obtained bit string as the next round of challenges and reward successful customers. Customers are identified by their public key, digital signature, and time stamp. Although Bitcoin Gold solved the problem of decentralization and anonymity of payment, it failed to attract people's attention, mainly due to the following reasons: There is no clear method to evaluate different work measurement standards, and it has not been proposed for adoption in society. The solution [40]. 2.1.1 Overview of Bitcoin Bitcoin [37] is the first widely known decentralized cryptocurrency solution [40], which was published in 2008 as a peer-to-peer electronic cash system under the unknown pseudonym Satoshi Nakamoto. Bitcoin has its own transaction metrics, referred to as Bitcoin as Bitcoin. Unlike traditional currencies, virtual currencies have no intrinsic value and are not controlled by any central authority. It uses asymmetric cryptography, peer-to-peer networks, and consensus to verify and execute payments and transfers. Bitcoin's complex solution depends entirely on running a distributed peer-to-peer network to compete to resolve resource-intensive encryption calculations or Proof of Work (PoW). This process is called mining, which is responsible for generating blocks, packaging together a set of incoming client transactions, and broadcasting them to the network. Customers here refer to various payers and payees who use Bitcoin as their financial exchange medium. Miners who mine valid blocks will receive a certain amount of Bitcoin as a reward, which can be used in the future. In addition, they received rewards for verifying and recording transactions in the block. 2.1.5 Blockchain One of the basic blocks of Bitcoin is its underlying consensus technology-blockchain. The blockchain is a shared public ledger that tracks and records all transactions broadcast to the network in chronological order [21]. It is a distributed data structure maintained by a group of peer nodes in the Bitcoin network. Each node stores its own blockchain, which is composed of blocks verified by itself. When several such nodes contain the same block, they are considered to be consistent. With a clear set of consensus rules, every transaction is encrypted and verified before being permanently included in the blockchain. This consensus-based decentralization method has attracted widespread attention, and its application in various fields is being studied. Blockchain architecture—As the name suggests, a blockchain is a blockchain, and each block contains an 80-byte header and body [9]. The header consists of a version number indicating the software version of the block, a random number, a target (explained in the following paragraph), and a current timestamp of 4 bytes each and a 32-byte hash of the parent block. In addition, the Merkel tree [36] is constructed using the hash of each transaction at the bottom of the tree, resulting in a single 32-byte hash at its root. Thishash, called Merkel root, is also stored in the header. On the other hand, the body of the block stores a list of transactions that led to merkleroot. Figure 2.3 and Figure 2.4 respectively show a simple blockchain and a Merkel tree with four transactions. Proof of Work and Mining-For each block to be part of the shared ledger, it must be approved by the majority of peers (miners) in the network. Approval can only be obtained by proving that the corresponding miner has completed a large amount of work. This calculation process that requires a lot of CPU resources is defined as mining, and this work is called Proof of Work (PoW). As mentioned in [37], the PoW is calculated using the hashcash [26] PoW concept, by increasing the 32-bit nonce value in the block so that when the block is hashed, the resulting hash consists of a defined number of leading zeros. This The number depends on the difficulty of the consensus protocol setting. Once the nodes reach an agreement, the hash value is stored along with the current timestamp in a block that becomes part of the ledger. In Bitcoin, difficulty means the amount of work required to generate a hash value below a certain target threshold, a 256-bit number. Given that the ideal mining time for each block is 10 minutes, such a target will be revised every 2016 blocks according to the speed of block creation. If it takes less than two weeks to generate 2016 blocks, the difficulty will increase by nearly 300%, otherwise it will decrease proportionally by 75% [23]. To calculate the rate, the difference in the timestamp stored in the block header is used. Read Less