core-rs-albatross
core-rs-albatross copied to clipboard
Tendermint does not always create a decision when a proposal is received late.
Whenever Tendermint has a proposal and a precommit aggregation which holds 2f+1 votes for that proposal it should produce the proposal with the 2f+1 aggregation as proof as the decision value.
After adding a couple of tests on the nibhar/tendermint-tests
branch it was observed that it does in fact not work when a proposal is received late.
For the scenario to not resolve there must be no subsequent updates to the aggregation in question which is the tested case on that branch. A subsequent update to the aggregation represents the it_accepts_late_polka
test and will succeed.
The fix to this should be to check for decision criteria more proactively when receiving a proposal. It should be done in a way such that it does not matter whether or not the proposal was regularly received or as part of a response to a request.
Potentially related to #1533