Node should fetch missing proposal if it receives newer one but didn't receive older one.
Example:
A gossips proposal at height 8, whole cluster gets the proposal.
A gossips proposal at height 10 but node D doesn't get proposal.
A gossips proposal at height 12, whole cluster gets the proposal but D still didn't get 10.
D should then ask original proposer for that proposal. If it doesn't work it should try asking different nodes and pull the missing proposal. Ideally fallback should be rather based on reputation instead of randomness.
Node should fetch missing proposal if it receives newer one but didn't receive older one.
Example:
A
gossips proposal at height8
, whole cluster gets the proposal.A
gossips proposal at height10
but nodeD
doesn't get proposal.A
gossips proposal at height12
, whole cluster gets the proposal butD
still didn't get10
.D
should then ask original proposer for that proposal. If it doesn't work it should try asking different nodes and pull the missing proposal. Ideally fallback should be rather based on reputation instead of randomness.