Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a 2-hour minimum age before a node may be liquidated. This matches the 2h decommission credit all nodes start with (and so, in effect, we should always expect any legitimate deregistration to be at least 2h after adding the BLS key).
This buffer is needed to avoid a potential sort of "front-running" deregistration attack where a malicious entity could observe an incoming registration, obtain a liquidation signature from the Oxen SN network before that registration hits the network, and then immediately submit to the liquidation to effectively block new registrations from the network (or, at least, only allow them momentarily).
A considered alternative to this approach was to have oxend only sign liquidation requests that are in the recently-removed-nodes list, and while that work mitigate the attack above, it would introduce a new problem where a registration that oxend failed to process for whatever reason (e.g. invalid ed25519 key, or some other unforseen error) would result in a BLS registration in the contract that was permanently unremovable.