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

Keep some un-pinned parachain blocks #7

Closed
rphmeier opened this issue Apr 24, 2019 · 3 comments
Closed

Keep some un-pinned parachain blocks #7

rphmeier opened this issue Apr 24, 2019 · 3 comments
Assignees
Milestone

Comments

@rphmeier
Copy link
Contributor

rphmeier commented Apr 24, 2019

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.
@rphmeier
Copy link
Contributor Author

rphmeier commented Jul 2, 2019

CC @bkchr

The previous spec is actually vulnerable to equivocations.
What we want is to accept unpinned blocks iff

  • parent is pinned
  • we have a Candidate(h) message for h = unpinned_block_header.hash()

Then we will only import blocks which are being considered by validators.

@bkchr
Copy link
Member

bkchr commented Jan 15, 2020

Furthermore we should only announce blocks that have a candidate message. Other collators should import blocks at the top only if they provide a candidate message and relay_chain_head == candidate_msg.relay_parent.

@bkchr
Copy link
Member

bkchr commented Jul 3, 2020

This is finished now :)

@bkchr bkchr closed this as completed Jul 3, 2020
imstar15 pushed a commit to imstar15/cumulus that referenced this issue Nov 16, 2022
…/consider_hooks_when_building_block

Revert "consider hook & runtime upgrade when construcring block"
imstar15 pushed a commit to imstar15/cumulus that referenced this issue Nov 16, 2022
…-feature/consider_hooks_when_building_block"

This reverts commit 8511ab8, reversing
changes made to 6028c16.
Maharacha pushed a commit to Maharacha/cumulus that referenced this issue May 10, 2023
adding parachain subscription chainspec

builds with encointer pallets. depend on rococo-v1 branch

add rococo chainspec directly to build-spec set

parachain-info should default to paraId 1862

upstream rebase and chain-spec comfort

fix OnTimestampSet. works in local setup. no ceremony tested

Readme update for local relay chain and parachain setup. (paritytech#5)

use MultiAddress type in parachain (paritytech#6)

* use MultiAddress type in parachain

* added chain_spec "encointer-rococo-alice", which uses alice as root key.

* fix invalid xt signature

* rename chainspec encointer-rococo-alice to encointer-rococo-well-known-keys and endow bob and charlie also.

bump version, improve spec setup. some docs

fix cmd local setup in README.md

Improve dev setup (paritytech#7)

* [polkadot-launch-config] add polkadot-launch config.
[Readme] Add instructions on how to setup a local testnet with polkadot-launch.

* [tmux_setup] add tmux setup file to attach to the logs produced by polkadot launch

add collator run instruction

fix launch instructions

some crate renaming

fix after rebase

rename currencies to communities, use encointer-primitive pallet
yrong pushed a commit to yrong/cumulus that referenced this issue May 13, 2023
* squashed and rebased cumulus fork a top of bridge hub rococo-wococo branch

* fixed merge error

* fixed dependency issues

* restore lock file

* successful build

* added modified weights

* ws

* remove unused import
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants