tendermint / spec

131 stars 56 forks source link

Gossip block parts rarest first #309

Closed ebuchman closed 3 years ago

ebuchman commented 8 years ago

When we propagate proposal blocks, we pick parts to send randomly. Instead, we should consider a "rarest first" approach where the rarest pieces on the network are gossiped first. This should improve performance and resiliency.

See eg. http://conferences.sigcomm.org/imc/2006/papers/p20-legout.pdf

I tried out an implementation last year but didnt see much on the performance improvements. We should revisit again.

adrianbrink commented 7 years ago

What do you mean?

ebuchman commented 7 years ago

Updated openning comment.

ebuchman commented 6 years ago

An early attempt is here: https://github.com/tendermint/tendermint/pull/633.

We don't need it for launch, its a performance optimization, we can revisit at a later time and just leave this issue open :)

musalbas commented 3 years ago

There's no need to do this if Tendermint gossips erasure coded block data (https://github.com/celestiaorg/lazyledger-core/pull/434#issuecomment-869149444), as it wouldn't matter which parts you receive, as all parts work towards recovering the full block data.

tac0turtle commented 3 years ago

Agree, I transferred the issue here as it wasn't relevant in the Tendermint repo.