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

Explore the usage of Episub for distributing PoV chunks #11944

Closed
rymnc opened this issue Jul 31, 2022 · 2 comments
Closed

Explore the usage of Episub for distributing PoV chunks #11944

rymnc opened this issue Jul 31, 2022 · 2 comments
Labels
J2-unconfirmed Issue might be valid, but it’s not yet known.

Comments

@rymnc
Copy link

rymnc commented Jul 31, 2022

The Episub gossip protocol is a successor to the FloodSub protocol, which allows two types of peers to exist, eager, and lazy peers. The lazy peers are just used to transmit metadata about the message, whereas eager peers receive the whole message.

In the context of distributing PoV's, it is possible for the backing set for the given parachain to be eager peers, and the other validators could be lazy peers, to facilitate gossiping. As an added functionality, the lazy peers who wish to validate the block can request the chunks as well.

There is an existing implementation of the Episub protocol, in Rust.

As per my understanding of this use-case, using Episub for PoV distribution, would result in -

  1. Reduced network overhead for validators that are not part of the backing set
  2. Reduced latency in transmitting data to the backing set
@github-actions github-actions bot added the J2-unconfirmed Issue might be valid, but it’s not yet known. label Jul 31, 2022
@bkchr
Copy link
Member

bkchr commented Jul 31, 2022

@rymnc could you please add your comment to the relevant issue 😁

paritytech/polkadot-sdk#968

Thank you :)

@burdges
Copy link

burdges commented Jul 31, 2022

I'm think pub-sub would never be useful for parachains: paritytech/polkadot-sdk#968

We de facto have the eager vs lazy abstraction discussed here now, but it's proved way too slow. We're therefore replacing it with something more direct: paritytech/polkadot#5055 (comment)

In other words, if you think you want eager and lazy then maybe what you really want is direct connections for participating and not participating, but applied to that small part.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
J2-unconfirmed Issue might be valid, but it’s not yet known.
Projects
None yet
Development

No branches or pull requests

3 participants