Generalizing Bitcoin's difficulty

Bildet kan inneholde: mynt, penger, valuta, metall, sølv.

Background

Bitcoin is the first and most famous blockchain system. It introduced a novel mechanism to maintain a secure, robust, and decentralized currency system. For security reasons, it heavily relies on solving crypto-puzzles which calculate a huge amount of hashes and check whether they satisfy a validity requirement.
The difficulty is a measure of how long (on average) it takes to find a hash below a given target to produce a valid block. The Bitcoin network has a global block difficulty which is adjusted every 2016 blocks, which amounts to roughly two weeks at Bitcoin's proposal rate.


Brief problem description

More specifically, the difficulty in Bitcoin is adjusted every 2016 blocks and the new difficulty is calculated considering the time it took to mine the last 2016 blocks. This formula is used to scale the difficulty to maintain the property that blocks should be found by the network on average about once every ten minutes. This thesis is focused on exploring novel and more complex difficulty adjustment algorithms that take into account more parameters, for example, the number of orphaned blocks. Additionally, it explores the possibility to adjust on demand the difficulty up to the granularity of the single block, instead of waiting for the aforementioned 2016 blocks. Can we improve the throughput and efficiency of the blockchain with a finer difficulty granularity, and at what price?

 

Prerequisite:

  • Theoretical and practical knowledge of Bitcoin or will to learn quickly
  • Focus on problem-solving and able to work independently

 

Related work you might want to read to understand if the thesis interests you:

 

Contact information:

To ask for a (zoom) meeting, send an email to andremer@ifi.uio.no and romanvi@ifi.uio.no

Publisert 9. okt. 2020 15:49 - Sist endret 9. okt. 2020 15:49

Veileder(e)

Omfang (studiepoeng)

60