Pages:
Author

Topic: Bitcoin Unlimited doesn't fix quadratic hashing - page 3. (Read 1905 times)

full member
Activity: 196
Merit: 101
So recently I decided to look into Bitcoin Unlimited's fix to quadratic hashing. I decided to do this because, segwit doesn't fix quadratic hashing for legacy addresses, making it unsafe to increase the base blocksize, the only safe way it can be increased in the future is with extension blocks, and I wanted to see how BU had fixed this for legacy addresses.

The issue is that it's possible to craft a 1MB transaction that takes much much longer to validate than 10x 0.1MB txes, 30 seconds in fact. A 2MB transaction takes 10 minutes to validate with current hardware. This would mean that 2MB "attack blocks" would prevent nodes from ever being able to catch up with the chain.

The way segwit fixes this is that a 1MB segwit transaction takes the same amount of time to validate as 10x 0.1MB txes. Problem solved.

BU's fix to the quadratic hashing problem is that the maximum size of a tx is limited to 1MB. This would mean that a 2MB attack block would take 2x30secs (60 secs) to validate, rather than 10 minutes.
However with a 20MB attack block, it would take 10 minutes to validate and nodes will never be able to catch up. So eventually when BU blocksizelimit grows to 20MB, attack blocks will be able to DDoS the entire network permanently, and probably cause all kinds of chain splits too.

The BU devs are hoping that the blocksize won't increase faster than moore's law. They have also proposed "parallel block validation" to help, as this will speed up block validation by validating two blocks at the same time. This means that they actually expect that the situation will occur where a new block is found while the rest of the network is still validating the old. To make it even worse, "parallel block validation" only exists as a forum post, there is no formal proposal, no benchmarks and no code, so they don't even have any idea how much, if at all, this will help.

So what have the devs proposed to try and fix this?

https://bitco.in/forum/threads/buip037-hardfork-segwit.1591/

Yup. They want to hardfork segwit into BU in the future!

The other thing that got me thinking is, what happens in the future when things like smart contracts are common and BU approaches the 1MB transactionsize limit they have added. There will be people complaining about high fees for 1MB txes from having to split them up, and that their 1MB txes are not making it into the blocks. I foresee another huge debate over this limit just like the blocksize  Grin
Pages:
Jump to: