Skip to content

Conversation

sirandreww-starkware
Copy link
Contributor

Description

I implemented a message propagation mechanism that is inspired by turbine (Solana's block propagation procedure). The mechanism I'm suggesting is a simplification of turbine that keeps the fundamental ideas and works within the libp2p constraints. I call this mechanism "propeller". I would be happy to take notes on my implementation, and ecstatic if it is possible to actually add this to the crate.

Notes & open questions

The key differences between propeller and turbine are stated in protocols/propeller/src/lib.rs

Change checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • A changelog entry has been made in the appropriate crates

I added a new changelog file for this protocol, but did not add a link to it in the repo's changelog

@sirandreww-starkware sirandreww-starkware force-pushed the 09-21-feat_turbine_cloned_gossipsub_and_made_turbine branch 2 times, most recently from cea7564 to 3c8fadb Compare September 30, 2025 10:40
@dariusc93
Copy link
Member

Thanks for the PR. While the concept does seem interesting, unfortunately this is not something we can just add to rust-libp2p unless there been an update to libp2p specs to introduce this there, where it would then possibly be implemented in other implementations of libp2p then we wouldnt be able to just add it here. The best thing to do is first is raise a discussion at https://github.com/libp2p/specs for the protocol youre trying to add here, detail specification, etc., and if it gets approved then we could probably revisit this.

Copy link
Member

@jxs jxs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Andrew, this looks very interesting. Did you spec'ed this or it's just this implementation? Wrt merging, it's as Darius says, we only contain in this repo what is spec'ed on the specs repo, none the less we mayve could add this to the README.md or in the discussions on a new category for "external" protocols

@sirandreww-starkware sirandreww-starkware force-pushed the 09-21-feat_turbine_cloned_gossipsub_and_made_turbine branch 6 times, most recently from 1eecde6 to 47238ce Compare October 5, 2025 16:55
@sirandreww-starkware sirandreww-starkware force-pushed the 09-21-feat_turbine_cloned_gossipsub_and_made_turbine branch from 47238ce to 1ea0c4c Compare October 5, 2025 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants