Skip to content

GRANDPA pre-vote selection algorithm #733

@AlistairStewart

Description

@AlistairStewart

The spec for prevoting is inconsistent with Substrate and the GRANDPA paper.

Best-PreVote-Candidate returns either the primaries block or the ghost of the prevotes apparently from this round r.

What the validator should prevote for is for the last audited block (or 3 blocks from the end in single-chain Substrate) in the longest chain (or chain with the most primary blocks for BABE) including a block B defined as follows

If the primaries' block is between the last finalused block L and the ghost of the prevotes from round r-1, then that is B

else use the ghost of the prevotes from round r-1.

We should probably check whether Substrate works like this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions