Bitcoin Block-size Options

"Team" members:

• Michael Parisi Presicce

Final Project Report:

BitcoinBlockSizeOptions.pdf

Summary of project:

Bitcoin has a hard limit of 7 transactions per second. This is a problem because not only is the number of transcations increaseing, but it is increasing at an increasing rate. My project was to closely examine the many different solutions to this problem that involved manipulating the block size in some fashion, search for every problem with those proposals, create a set of qualities that would be desirable for the eventual solution, and craft a brand new solution based on those discovered qualities.

My project is essentially to look at the different BIPs involving changing the block-size to allow for a greater number of transactions in the Bitcoin network. This is important because the number of transactions on the Bitcoin network is not only increasing, but increasing at an increasing rate, and the current block-size limit means that Bitcoin is not conducive to being a large-scale and widely-used currency. There are other ways to fix this besides simply increasing the block-size, but I wanted to look at those specifically as solutions to this problem.

At the moment, my plan is to work with a suggestion given in response to my initial project proposal email which was to host a Bitcoin node on a private network, attempt to implement each BIP, and also try to break each proposal with specially crafted blocks. This is in order to discover any vulnerabilities that may pop up in the event any of these BIPs is implemented in the network as a whole. My first attempt at this failed, however, so my project may have to change to some other aspect of the Bitcoin block-size proposals. Before that happens, I intend to try again, because I think this suggested project is very cool.

As an alternative to this project, I have been looking into Bitcoin XT, the company that authored BIP 102 and is currently implementing it, and may pursue a project along the lines of getting involved with their work, if possible. Not only are they using a larger block-size cap, but they have a number of other "patches" that they included in their Bitcoin core substitute.

The ultimate option for me is to explore an alternative idea I had on increasing the block-size to allow for more transactions, which is having a variable block-size that is determined by either the number of transactions or size of previous blocks. I really haven't thought it through much, so there may be an obvious flaw or vulnerability, but I will learn all about it if I get this far down my project idea list.