Open renaynay opened 5 days ago
bifurcation should always work, if there is more than 1/3 change in a single block, it will eventually bifurcate to that adjacent block and then it should fallback to using adjacent verification
*bifurcation should always work if the header is a valid part of the chain
Currently we use the default setting from tendermint light client library (which is 1/3+1 valset overlap requirement). After speaking a bit about it with @cmwaters, there's no real "downside" to requiring 2/3rds overlap to verify a non-adjacent sync target. The only downside I could see is "more frequent" failure for non-adjacent verification --> bifurcated sync target verification --> and if that doesn't work, subjective re-initialisation. To know exactly how much more frequent, we need to see how much churn there is in the validator set within the weak subjectivity window.