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

Keep some un-pinned parachain blocks #7

@rphmeier

Description

@rphmeier

A "pinned" parachain block is one who's been referenced by a block in the relay chain. Blocks that have been freshly authored by collators are initially are unpinned, while they are circulated and gather attestations from validators. We don't want to keep an unbounded number of unpinned blocks, because it can be a DoS vector and complicates fork-choice.

However, assuming that collators are good and broadcast out the block data for unpinned blocks in a way which is easily obtainable by peers, it is more efficient for other full nodes to keep the unpinned block with the expectation that it likely will be pinned. This means that as soon as the block is pinned, a collator can build on top of it for the next block, rather than having to fetch it and then start building.

Every parachain block needs to reference some data from Polkadot (#5) including incoming messages and relay chain block hash.

There should be an import queue verifier which accepts new blocks if:

  • they are pinned
  • they are unpinned and the Polkadot block hash referenced is a leaf.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions