pull down to refresh

Every block was the chaintip when it was freshly mined. For the assumevalid assumption to fail, you must assume that the entire network accepted an invalid transaction in a new block without anyone noticing that mistake, or someone switched out parts of the blockchain in everyone’s copies of the blockchain without anyone noticing. I guess, yeah, that’s the assumption that there is at least "one honest node that would have raised alarm", and you always have the option to be that node yourself by turning off assumevalid.

Couldn't assumevalid fail if the majority of hashrate built on an invalid block for long enough that everyone who knew it was invalid gave up and left and then those who remained set a new `assumevalid block at a higher height?

I realize this is starting to sound a little ridiculous, but I'm trying to figure out where the downside is.

It almost sounds too good to be true that nodes can safely skip validating script before an assumed valid block. Just like pruning can be really awesome, but comes at the cost of needing to resync if the node trues to load a new wallet.

I'm curious what the price that an assumevalid node pays for the benefit.

reply
104 sats \ 0 replies \ @Murch 20 Mar
Couldn't assumevalid fail if the majority of hashrate built on an invalid block for long enough that everyone who knew it was invalid gave up and left and then those who remained set a new `assumevalid block at a higher height?

Then any user running a full validation with assumevalid disabled or set to a lower block than the offending would reject the best chain. Hopefully one of them would raise an alarm. Also, if a block had been invalid and people got forked off, how would the grand conspiracy have kept thousands of naturally suspicious and widely distributed Bitcoiners from getting that message out?

reply