Tuesday 25 August 2015

21% attack possible against BIP100?

If I interpret BIP100 correctly, the top and bottom 20% of votes are discarded, and the minimum is chosen.

Doesn't this mean that a miner with 21% of the hashing power can drop the block size to the minimum that can be specified by the votes, i.e. 1B? If the block size is calculated on entire blocks, wouldn't this permanently destroy Bitcoin unless recovered with a hard fork?

Now, of course, one could argue that a miner would not want to do that since it would destroy the value of his mining equipment, but I think that's a weak argument. A year worth of Bitcoin mining is worth

25 BTC/block * 6 blocks/h * 24*365 h/year * 230 USD/BTC 

which is roughly $300 million. eBay bought PayPal for five times this amount in 2002, so this is not an unrealistically large amount of money. If you can't amortize your equipment over more than a year, the price of mining will surely be higher than that, but not that much higher, I suspect (since miners do become obsolete quite fast anyways) - and besides that, the mining still pays for itself, at least before the attack becomes obvious, if you sell the coins immediately.

Assuming a block size limit of 1 MB, and a voting cycle of 3 months (the BIP doesn't seem to specify it, but it can be implied from the initial voting cycle), 1 year of mining would "only" allow you to drop the block size four times, e.g. from 1 MB to 500 KB, 250 KB, 125 KB, and finally 62.5 KB. That wouldn't irreversibly destroy Bitcoin on a technical level, but probably make it unaffordable to transact on it and destroy it on an economic level.

Did I miss something, or should we consider some changes to BIP100 to prevent this (e.g. using the median instead of the 20th percentile)?

Note: I'm in support of a block size increase, be it through BIP100, BIP101, or otherwise. My aim is to help fix an issue if one exists, understand why if it isn't an issue, but not to delay or prevent the implementation of one of these BIPs.

Edit: Possible solution here - a majority of miners can always declare a certain size unacceptable and start treating all blocks that vote beyond the arbitrarily chosen limits as invalid (soft fork).



Submitted August 26, 2015 at 02:46AM by aaaaaaaarrrrrgh http://bit.ly/1EidWNx

No comments :

Post a Comment