Replies: 3 comments
-
@josef-widder, is there a way to update the model with this change and verify it everything works as previously? |
Beta Was this translation helpful? Give feedback.
-
If I understand correctly, the I am not in favor of the change, because
So if the requirement on the |
Beta Was this translation helpful? Give feedback.
-
The only role of There are no changes in the update of |
Beta Was this translation helpful? Give feedback.
-
The logic of line 36 of the arXiv paper updates the
validValue_p
andvalidRound_p
upon receiving, for the first time, a valuev
and 2f + 1Prevote
s forid(v)
in current roundround_p
. If, in addition, the validator has not yet issued aPrecommit
, we also updatelockedValue_p
andlockedRound_p
aPrecommit
forid(v)
.While the logic is restrictive in the paper, in my opinion because the same logic is used to update valid and locked values and rounds, there should be no objection to state the logic as following:
This means, in few words, that when a node is already in round
round_p = 2
but it receives2f + 1 〈PREVOTE, hp, 1 , id(v)〉
for a full valuev
the node knows, it would update valid round tor = 1
and value value tov
. I don't think we can do that for messages from future rounds, for instance, ifr = 3
, but I don't see any restricting for doing that for previous rounds.What is the goal? The goal is to produce
ValidValue
events even when a node only realizes that a value has became valid after the round where this has happened, due to asynchrony mostly. When a value becomes valid we are pretty sure that this is the value that must be decided on that height, except for some particular corner case. In particular, this is a value that we should retain, as it is very likely to be the end decision value for the height.Beta Was this translation helpful? Give feedback.
All reactions