Simulating the Impact of UASF / BIP148 on Bitcoin

By | June 8, 2017

To get a better prediction of UASF impact on bitcoin, I wrote a quick and dirty bitcoin network simulator, which you can find here on GitHub. After playing around with all kinds of hash rate distributions and UASF/non-UASF nodes, my first conclusion is, that there is almost no impact  of UASF nodes on bitcoin, if their amount is below 80%.
But there are some more interesting results, I want to share. You can find the CSV files I've used in the examples folder.

This basically simulates the bitcoin network as of current state. There are 30% of SegWit signalling miners, and roughly 10% UASF nodes. When UASF starts on August 1st and hash rate and UASF node distribution keeps the same, no chain split will occur. The bitcoin network remains intact.

This example assumes a mining pool with hashing power of 5%, while the hashing power of SegWit signaling pools drops to 25%, the amount of UASF nodes is still 10%. This leads to a chain split, where the UASF pool mines on a minority chain, all other miners including SegWit signalling miners are on the main chain.

Let's increase the amount of UASF nodes to 50%. The hash rate distribution is untouched as in net2.csv: 25% SegWit signalling, 5% UASF. As already stated, there is still no impact of UASF nodes on bitcoin, because UASF nodes are below 80%. We get the same result as of net2.csv, but slightly more reorgs an orphaned blocks.

UASF nodes are at 80%. Something happens. All non-UASF miners including SegWit signalling miners mine on different chains. The bitcoin network seems to be corrupted.

UASF nodes at 90%, USAF miners at 5%, SegWit signalling at 25%. Some magic happens. All miners are on the main chain, and it is a SegWit chain. Miners not signalling SegWit have a lot of reorgs, and of course all their mined blocks are worthless.

Assumes that all SegWit signalling miners become UASF miners. So we have 30% UASF miners. Further we put the UASF nodes at 50%.  Result is a chain split, where UASF miners mine on there own minority chain.

80% UASF nodes, 30% UASF miners, no SegWit signalling miners. UASF and non-UASF chains are abreast. Non-UASF miners have a lot of reorgs and orphaned blocks.

70% UASF nodes, 49% UASF miners results in a chain split.

70% UASF nodes, 40% UASF miners and 10% SegWit signalling miners. Again there is a chain split where SegWit signalling miners are on the main chain.

100% UASF nodes, 0% SegWit signalling miners and 0% UASF miners. All miners are mining on their own chain, because they are surrounded by UASF nodes.

Leave a Reply

Your email address will not be published. Required fields are marked *