Browsing by Author "Mwale, Mabvuto"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
- ItemModelling the dynamics of the bitcoin blockchain(Stellenbosch : Stellenbosch University, 2016-03) Mwale, Mabvuto; Krzesinski, Anthony Edmund; Stellenbosch University. Faculty of Science. Department of Mathematical Sciences (Computer Science)ENGLISH ABSTRACT : Bitcoin is a peer to peer (P2P) electronic payment system proposed by Nakamoto in 2008. Central to the operation of Bitcoin is the blockchain, which is, in essence, a public ledger of all transactions. The blockchain is maintained by a group of volunteers called miners, who are rewarded with bitcoins for successfully mining blocks. Mining a block involves collecting and validating transactions, adding validated transactions to a block, and finally adding the block to the blockchain and broadcasting the block to the peer network. The purpose of this thesis is to examine the profitability of block discarding attacks in the Bitcoin network. To this end, we developed a discrete event simulator to model the dynamics of the blockchain. We use a simplistic network model where all participants are miners. Initially, our investigation focusses on a model where all miners are honest, following the Bitcoin rules, and all block transmissions are subject to delays. We show that the delays cause forks to occur in the blockchain, which are quickly resolved. The simulation results for our network model closely agree with those observed from the real Bitcoin network. We then examine a block discarding attack referred to as selfish-mine [32], where it is claimed that a small group of colluding miners can subvert the Bitcoin protocol. We evaluate this claim using relative revenue (the fraction of the total revenue that is credited to the pool of colluding miners) and confirmed blocks (the absolute number of blocks credited to the pool of colluding miners at the end of a mining period) for the case where there is instantaneous block transmission, and the case where block transmission is subject to delays. We show that this claim is true for the first case. However, for the latter case, selfish-mine is only profitable (in terms of the relative revenue) when the pool commands more than 30% of the total computing power of the network. We further show that a higher relative revenue does not necessarily entail a larger number of confirmed blocks and that the presence of selfish-mine causes both the honest and the dishonest miners to fare worse. Finally we present a generalized form of selfish-mine, representing a greater variety of block discarding attacks, and use a genetic algorithm to search for an optimal configuration of the generalized selfish-mine that yields a better performance for the pool. We attempt to maximize either the relative revenue or the number of confirmed blocks. Our results show that the generalized form of selfish-mine when optimally configured yields better performance than standard selfish-mine, both in terms of the relative revenue and confirmed blocks.