[bitcoin-dev] Height based vs block time based thresholds

Luke Dashjr luke at dashjr.org
Wed Jul 5 04:10:43 UTC 2017


It's not pointless: it's a wake-up call for miners asleep "at the wheel", to 
ensure they upgrade in time. Not having a mandatory signal turned out to be a 
serious bug in BIP 9, and one which is fixed in BIP 148 (and remains a problem 
for BIP 149 as-is). Additionally, it makes the activation decisive and 
unambiguous: once the lock-in period is complete, there remains no question as 
to what the correct protocol rules are.

It also enables deploying softforks as a MASF, and only upgrading them to UASF 
on an as-needed basis.

Luke


On Wednesday 05 July 2017 4:00:38 AM shaolinfry wrote:
> Luke,
> I previously explored an extra state to require signalling before
> activation in an earlier draft of BIP8, but the overall impression I got
> was that gratuitous orphaning was undesirable, so I dropped it. I
> understand the motivation behind it (to ensure miners are upgraded), but
> it's also rather pointless when miners can just fake signal. A properly
> constructed soft fork is generally such that miners have to deliberately
> do something invalid - they cannot be tricked into it... and miners can
> always chose to do something invalid anyway.
> 
> > -------- Original Message --------
> > From: luke at dashjr.org
> > To: bitcoin-dev at lists.linuxfoundation.org, shaolinfry
> > <shaolinfry at protonmail.ch> I"ve already opened a PR almost 2 weeks ago
> > to do this and fix the other issues BIP 9 has.
> > https://github.com/bitcoin/bips/pull/550
> > It just needs your ACK to merge.
> > 
> > On Wednesday 05 July 2017 1:30:26 AM shaolinfry via bitcoin-dev wrote:
> >> Some people have criticized BIP9"s blocktime based thresholds arguing
> >> they are confusing (the first retarget after threshold). It is also
> >> vulnerable to miners fiddling with timestamps in a way that could
> >> prevent or delay activation - for example by only advancing the block
> >> timestamp by 1 second you would never meet the threshold (although this
> >> would come a the penalty of hiking the difficulty dramatically). On the
> >> other hand, the exact date of a height based thresholds is hard to
> >> predict a long time in advance due to difficulty fluctuations. However,
> >> there is certainty at a given block height and it"s easy to monitor. If
> >> there is sufficient interest, I would be happy to amend BIP8 to be
> >> height based. I originally omitted height based thresholds in the
> >> interests of simplicity of review - but now that the proposal has been
> >> widely reviewed it would be a trivial amendment.


More information about the bitcoin-dev mailing list