Skip to content

[Info][simplex] Improve the description of the modified Simplex protocol #3299

@dnkolegov-ar

Description

@dnkolegov-ar

There are many deviations between the description of the protocol and the claimed deviations:

  1. “local proposal failure => immediate nullify(v)” is not reflected in the protocol steps.

  2. Deviation “leader’s nullify(v) should trigger immediate local timeout/nullify” is missing from the protocol description.

  3. Deviation says skip both “leader timeout” and “certification timeout” for inactive leaders, but description only zeroes t_l.

  4. Certification trigger mismatch: deviation is phrased as “upon seeing notarization(c,v)”, but spec triggers on collecting 2f+1 notarize(c,v) locally.

  5. “Fetch missing notarizations/nullifications as needed” is only partially described.

  6. "certificate timeout" is not defined

  7. The reverse rule (“after finalize, no nullify”) is not defined, but that rule is enforced in the voter state machine.

  8. It is not clear what "immediate timeout expiry and broadcast nullify(v)" means because timer expiration triggers nullify` broadcast

  9. t_r is not defined

  10. 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.

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

Status

Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions