lighthouse/consensus/proto_array
Paul Hauner 1f54e10b7b Do not interpret "latest valid hash" as identifying a valid hash (#3327)
## Issue Addressed

NA

## Proposed Changes

After some discussion in Discord with @mkalinin it was raised that it was not the intention of the engine API to have CLs validate the `latest_valid_hash` (LVH) and all ancestors.

Whilst I believe the engine API is being updated such that the LVH *must* identify a valid hash or be set to some junk value, I'm not confident that we can rely upon the LVH as being valid (at least for now) due to the confusion surrounding it.

Being able to validate blocks via the LVH is a relatively minor optimisation; if the LVH value ends up becoming our head we'll send an fcU and get the VALID status there.

Falsely marking a block as valid has serious consequences and since it's a minor optimisation to use LVH I think that we don't take the risk.

For clarity, we will still *invalidate* the *descendants* of the LVH, we just wont *validate* the *ancestors*.

## Additional Info

NA
2022-07-13 23:07:49 +00:00
..
src Do not interpret "latest valid hash" as identifying a valid hash (#3327) 2022-07-13 23:07:49 +00:00
.gitignore v0.12 fork choice update (#1229) 2020-06-17 11:10:22 +10:00
Cargo.toml Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00