Skip to content

[improvement] Skip Old Fee and Solvency Observations

Ursa (9R) requested to merge ursa/observations into develop

This avoids sending fee and solvency observations for old blocks, which is particularly helpful when resuming a chain that has been halted for a long duration. In these cases the backlog of observations creates full blocks, causes downstream load, and results in slash noise when nodes process at different rates and make the same observation outside the observation delay flexibility window of the quorum.

We use the per-chain approximate block milliseconds to estimate the age of a block, and send the observations only if it is within a 2x buffer of the observation delay flexibility. Since UTXO chains have a block time longer than the current observation delay flexibility, we also allow them to send if they are within 2 blocks of tip.

UPDATE: per feedback this was modified to only use the static configuration value for blocks from tip to define the window in which we send fee and solvency observations.

Edited by Ursa (9R)

Merge request reports