Proposals - Algorand Specifications

Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Algorand Specifications

On receiving a proposal Proposal(v) a player

Specifically, if the player ignores a proposal, then

N(S,L,Proposal(v))=(S,L,ϵ)

while if a player relays the proposal after checking if it is valid, then

N(S,L,Proposal(v))=(S′∪Proposal(v),L′,(Proposal∗(v),…)).

However, in the first condition above, the player relays Proposal(v) without checking if it is valid.

Since the proposal has not been seen to be valid, the player cannot observe it yet, so

N(S,L,Proposal(v))=(S,L,(Proposal∗(v))).

An implementation may buffer a proposal in this case. Specifically, an implementation which relays a proposal without checking that it is valid, may optionally choose to replay this event when it observes that a new round has begun (see State Transition section). In this case, at the conclusion of a new round, this proposal is processed once again as input.

Implementations MAY store and relay fewer proposals than specified here to improve efficiency. However, implementations MUST relay proposals which match the following proposal-values (where rr is the current round and pp is the current period):