95% seems exceptionally conservative, especially given the evidence of vetoing by a subset of Bitcoin miners. What risks does, say, 60% over a longer activation period hold vs 95% for SegWit?
1 Answer
There are two related risks:
Activating without a majority of hashpower supporting it over the long term.
Let's use BIP 66 as an example. Imagine it had activated at the 95% threshold, but 30 minutes later, more than half of the miners reverted to the old implementation that doesn't support BIP66.
What you now have is a situation where nodes that enforce the new BIP66 rules will not come to consensus with nodes using older rules.
There's no perfect solution to this problem. As a miner, how can you prove that you won't change implementations after the activation point? The solution so far is to require 95% agreement to upgrade, on the theory that as long as less than 45% falsely signals, you'll be OK.
Miners running old code may still produce blocks, fooling SPV/non-upgraded clients.
At some point, someone will probably make a block that complies with the old rules, but not the new rules. Bitcoin Core won't do this by default, but it's probable that at least one miner will modify their code, or run some weird set of software, or even maliciously create a block to make a 51% attack easier.
Old nodes will accept this block, and try to build on it. Even if non-upgraded miners are in the minority, they're still going to manage to build chains of several blocks by pure chance sometimes. These will be orphaned eventually, but in the short term people may rely on them being valid, and be harmed by that.
It's worth noting that lowering the threshold to 60% would likely still not activate segwit. Segwit signalling is currently about 30%.
-
1Regarding your second point, note that the proposed segwit soft fork and the now-activated BIP68/112/113 soft fork before it were constructed in such a way that non-upgraded miners would not, by default, construct blocks that violate the new rules---therefore the only orphan risk is to miners who deliberately violate the new rules. In the case of BIP68, anyone who wanted to use the new rules had to use transaction version 2, which older nodes would not relay or mine by default. For segwit, using the new rules requires using a scriptSig that older nodes will not relay or mine by default. Commented Mar 26, 2017 at 0:51
-