[SPIN] Add docs for secondary leader election mechanism - #74
Conversation
|
|
||
| 1. **Deterministic Secondary Author:** For any given slot `S`, we already have the primary author `P_primary` determined by `slot_author`. We need to define a deterministic way to find the *secondary* author, `P_secondary`, for that same slot `S`. A simple and common approach is to pick the *next* authority in the current session's round-robin order. | ||
|
|
||
| * Modify `slot_author` or add a new function, e.g., `get_slot_authors(slot, session_length, authorities)` that returns `Option<(PrimaryAuthorityId, SecondaryAuthorityId)>`. |
There was a problem hiding this comment.
get_slot_authors seems better to me, otherwise, why have only one secondary when we can iterate over all the validators until the list is exhausted?
There was a problem hiding this comment.
well, that's just authority set as a whole then, no?
| ### Decision Drivers (Optional) | ||
|
|
||
|
|
||
| ### Alternatives Considered |
There was a problem hiding this comment.
Can we consider an alternative to T_wait, I mean with with the secondary leader always on and producing blocks which the rest of the network doesn't finalize while there are blocks from the primary?
There was a problem hiding this comment.
doesn't finalize but block is produced and included in the chain?
|
closed in favour of QuantumFusion-network/spec#288 |
|
|
||
| ## Context | ||
|
|
||
| The core idea is to allow a designated secondary author to produce a block for a slot if the primary author fails to do so within a reasonable timeframe. Verification must be possible using only the block header and the parent state. |
There was a problem hiding this comment.
reasonable timeframe
add somewhere description of this timeframe:
- is it some parameter, e.g. we wait this time until secondary leader starts producing blocks and then switch to next is he fails?
- or it's metric to be determined later?
aka ADR
Related to QuantumFusion-network/spec#248