Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPIC: Optimized Version of Compact Blocks #1334

Open
5 tasks
evan-forbes opened this issue May 3, 2024 · 0 comments
Open
5 tasks

EPIC: Optimized Version of Compact Blocks #1334

evan-forbes opened this issue May 3, 2024 · 0 comments
Labels
compact blocks ice-box issues are automatically assigned this label until they are planned. WS: Big Blonks 🔭 Improving consensus critical gossiping protocols

Comments

@evan-forbes
Copy link
Member

evan-forbes commented May 3, 2024

We have the base compact blocks implementation in #1191. This implementation nails the basics of what compact blocks are supposed to be. Validators can not only avoid gossiping block data twice by gossiping txs in the mempool, but they can also gossip txs before the actual proposal period.

The first iteration was not intended to be final by any means, and we still have some work to do before it can become a viable strategy for increasing consensus throughput. The main current blocker is that gossiping txs before and during the proposal period is far too slow.

CAT is optimized for efficiency, and not for distribution speed. Not only are there extra hops required for the have and want peer state messages, but there is no way to break up the blob into smaller pieces, both of which dramatically increase the time required to distribute block data. CAT also does not yet have any mechanism to prioritize txs that are included in a proposal relative to those that are simply being propagated in the mempool. This results in very low consensus throughput, since proposers often include txs that are not widely distributed, and then have no mechanism to distribute them quickly after the proposal has been reached.

To address these issues we can (in order):

@evan-forbes evan-forbes added WS: Big Blonks 🔭 Improving consensus critical gossiping protocols ice-box issues are automatically assigned this label until they are planned. needs:discussion labels May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compact blocks ice-box issues are automatically assigned this label until they are planned. WS: Big Blonks 🔭 Improving consensus critical gossiping protocols
Projects
None yet
Development

No branches or pull requests

1 participant