Post
Topic
Board Speculation
Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion
by
BitUsher
on 31/12/2015, 17:43:55 UTC
Since the scaling discussion is rolling over here, I would like everyone to consider this data -

But simulation by bitfury already indicated that we will have a severe performance problem with 4MB blocks on average home computer

I'd like to see that report. Got a link?

With only several thousand running full nodes now, it seems to me that 'average home computer' is not the limiting issue.

This is the data you are looking for -
https://rusty.ozlabs.org/?p=522

here is the simulation test code-
https://gist.github.com/rustyrussell/9c3c4bf3127419bd3f1d


This is an example of a tx that can push validation times to their limit and potentially crash nodes--

https://www.blocktrail.com/BTC/tx/bb41a757f405890fb0f5856228e23b715702d714d59bf2b1feb70d8b2b4e3e08

There are solutions to this problem and principally why core devs want to roll these out first ... before increasing the blocksize limit on the main tree.


Quote from: rusty
This problem is far worse if blocks were 8MB: an 8MB transaction with 22,500 inputs and 3.95MB of outputs takes over 11 minutes to hash. If you can mine one of those, you can keep competitors off your heels forever, and own the bitcoin network… Well, probably not.  But there’d be a lot of emergency patching, forking and screaming…

And this assuming the initial optimizations completed to speed up Verification!
This means that If we hardforked a 2MB MaxBlockSize increase on the main tree and we softforked/hardforked in SepSig, we would essentially have up to a 8MB limit (3.5MB to 8MB) in which an attack vector could be opened up with heavy input and multisig tx which would crash nodes.

These are edge cases... but edge cases are what attackers use to disrupt the network.

Remember we have to design code to expect the worst and hostile intent, especially for bitcoin which has many extremely powerful adversaries. This is why I have a nuanced view of simultaneously supporting multiple implementations, the conservative approach from the core devs, and eventually increasing the block limit.