Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

GRANDPA: skip ahead in rounds or validator-set when behind #1069

Closed
rphmeier opened this issue Nov 5, 2018 · 1 comment
Closed

GRANDPA: skip ahead in rounds or validator-set when behind #1069

rphmeier opened this issue Nov 5, 2018 · 1 comment
Assignees
Labels
J0-enhancement An additional feature request.
Milestone

Comments

@rphmeier
Copy link
Contributor

rphmeier commented Nov 5, 2018

We will have to periodically listen for messages on future rounds. This is hard to do without unlimited buffering of messages. We should only support skipping ahead for the current validator set.

Now that COMMIT messages and within-set round-skipping are supported (#1151), we only need a protocol for fetching COMMIT messages that prove finality of set-change blocks. Then internal round-skipping using the commit messages will work automatically.

The hardest part will be a heuristic to determine whether we should wait for a commit message on a validator set-change (i.e. we think that the block has not been finalized yet in anyone's view) or whether we should request a proof of finality (i.e. we think that the block has been finalized in actuality but we are behind the head of the chain so we have to request the message).

@rphmeier rphmeier added the J0-enhancement An additional feature request. label Nov 5, 2018
@rphmeier rphmeier added this to the 1.0 beta milestone Nov 5, 2018
@rphmeier rphmeier changed the title GRANDPA: skip ahead in rounds when behind GRANDPA: skip ahead in rounds or validator-set when behind Nov 26, 2018
@rphmeier
Copy link
Contributor Author

rphmeier commented Dec 4, 2018

The method we are using is to either:

  • accept change-enacting blocks without justification, and communicate to network that we expect a justification. the network will attempt to fetch until unnecessary. (this fetching itself is left to a second PR because it is only necessary in a degenerate case)
  • accept change-enacting blocks with justification and just enact.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
J0-enhancement An additional feature request.
Projects
None yet
Development

No branches or pull requests

2 participants