lighthouse/consensus/proto_array/src
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
..
fork_choice_test_definition Retrospective invalidation of exec. payloads for opt. sync (#2837) 2022-02-28 22:07:48 +00:00
bin.rs Retrospective invalidation of exec. payloads for opt. sync (#2837) 2022-02-28 22:07:48 +00:00
error.rs Add tests for importing blocks on invalid parents (#3123) 2022-04-05 20:58:16 +00:00
fork_choice_test_definition.rs Fix clippy lints for rust 1.62 (#3300) 2022-06-30 22:51:49 +00:00
lib.rs Rename random to prev_randao (#3040) 2022-03-03 02:10:57 +00:00
proto_array_fork_choice.rs Disallow attesting to optimistic head (#3140) 2022-04-13 03:54:42 +00:00
proto_array.rs Do not interpret "latest valid hash" as identifying a valid hash (#3327) 2022-07-13 23:07:49 +00:00
ssz_container.rs v1.1.6 Fork Choice changes (#2822) 2021-12-13 20:43:22 +00:00