There are many deviations between the description of the protocol and the claimed deviations:
-
“local proposal failure => immediate nullify(v)” is not reflected in the protocol steps.
-
Deviation “leader’s nullify(v) should trigger immediate local timeout/nullify” is missing from the protocol description.
-
Deviation says skip both “leader timeout” and “certification timeout” for inactive leaders, but description only zeroes t_l.
-
Certification trigger mismatch: deviation is phrased as “upon seeing notarization(c,v)”, but spec triggers on collecting 2f+1 notarize(c,v) locally.
-
“Fetch missing notarizations/nullifications as needed” is only partially described.
-
"certificate timeout" is not defined
-
The reverse rule (“after finalize, no nullify”) is not defined, but that rule is enforced in the voter state machine.
-
It is not clear what "immediate timeout expiry and broadcast nullify(v)" means because timer expiration triggers nullify` broadcast
-
t_r is not defined
-
The text says honest nodes only broadcast nullify(v) on timeout or certification failure, but code also broadcasts nullify(v) on the certificate path when a nullification certificate is present and the node has not yet emitted its own
nullify vote.
There are many deviations between the description of the protocol and the claimed deviations:
“local proposal failure => immediate nullify(v)” is not reflected in the protocol steps.
Deviation “leader’s nullify(v) should trigger immediate local timeout/nullify” is missing from the protocol description.
Deviation says skip both “leader timeout” and “certification timeout” for inactive leaders, but description only zeroes t_l.
Certification trigger mismatch: deviation is phrased as “upon seeing notarization(c,v)”, but spec triggers on collecting 2f+1 notarize(c,v) locally.
“Fetch missing notarizations/nullifications as needed” is only partially described.
"certificate timeout" is not defined
The reverse rule (“after finalize, no nullify”) is not defined, but that rule is enforced in the voter state machine.
It is not clear what "immediate timeout expiry and broadcast
nullify(v)" means because timer expiration triggersnullify` broadcastt_ris not definedThe text says honest nodes only broadcast nullify(v) on timeout or certification failure, but code also broadcasts nullify(v) on the certificate path when a nullification certificate is present and the node has not yet emitted its own
nullify vote.