Bitcoin’s Quadratic Hashing Problem

There have been many debates around why Bitcoin needs to scale, and, why transaction lags happen. One of the most common reasons attributed to transaction lags is the size limit of 1MB  per block of data, that has been hard coded into the Bitcoin core source code.

Quadratic Hashing

Each block in the Blockchain contains a hash of all transactions since the previous block was created.  This artificial size of 1MB limits the number of transactions that can get into each new block. If a transaction cannot be mined in a particular block, then it will have to wait till the next block is created to be mined. Many exchanges, and, service providers such as ATMs or money exchangers wait for up to 6 blocks after the initial validation to make sure that the transaction was indeed validated.

For the crypto-enthusiasts – and those interested in the details, the following link gives you a technical description of what happens when users have multiple signatures and when 1 MB is insufficient in size for miners to incorporate all new transactions since the previous block. This problem otherwise known as quadratic hashing – indicates that the time complexity to validate new transactions increases quadratically (i.e. by the power off) with respect to the number of signatures needed to hash each transaction.

Solutions to Quadratic Hashing

Bitcoin Cash

Many solutions have been suggested including in the link above. Bitcoin cash also proposes a solution wherein they increase the block size significantly (8 times, from 1 MB to 8 MB), which they claim is sufficient to prevent transaction delays in mining new blocks.

Current Block Mining Time and Segwit2X

Source: http://data.bitcoinity.org

The following link provides a list of the average time taken to mine a new block. on the main blockchain. As of this writing, the average time to mine a new block is about 15 minutes (Meaning every hour 4 blocks are mined on the network.). Imagine the delay if you were to either sell or buy anything on the internet using Bitcoin. Segwit2X is the solution that most ecosystem participants have agreed to roll out soon. Once the rollout of Segwit2X  happens, we will see a significant reduction in transaction time across the bitcoin network. The countdown to Segwit2X is listed here.

 

1 thought on “Bitcoin’s Quadratic Hashing Problem”

Comments are closed.