-
Notifications
You must be signed in to change notification settings - Fork 7
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
Implement a chain rebroadcast mechanism independent of GPBFT #814
Comments
Discussed with @Kubuxu at Standup: The chain rebroadcast heuristic:
@Stebalien can I get a quick sanity check on this please whenever you get a chance? Thanks |
We can also use a separate topic with separate message ID rules in this case. But a timestamp is probably acceptable? I'm not sure how this relates to adversaries.
I'd handle more than swaying here. E.g., we need to consider anything we try to commit to. |
Thanks Steven, the topic for publishing chain is already separated with its own id function. |
Hm. Yeah, I guess that doesn't help because there's no way to specify different timed-cache timeouts on different topics... |
Based on a configured rebroadcast interval periodically rebroadcast the longest chain currently being progressed by GPBFT. Extend the chain exchange broadcast message to include a timestamp rounded down to the rebroadcast interval as a way to work around gossipsub deduplication. This is to help gain better message propagation. The rebroadcast interval is reset as soon as the first message with a larger instance is observed, signaling the start of the next instance. This helps synchronize the chain rebroadcast intervals relative to the GPBFT instance start. Fixes #814
Based on a configured rebroadcast interval periodically rebroadcast the longest chain currently being progressed by GPBFT. Extend the chain exchange broadcast message to include a timestamp rounded down to the rebroadcast interval as a way to work around gossipsub deduplication. This is to help gain better message propagation. The rebroadcast interval is reset as soon as the first message with a larger instance is observed, signaling the start of the next instance. This helps synchronize the chain rebroadcast intervals relative to the GPBFT instance start. Fixes #814
As part of #792 the propagation of EC Chain is separated into its own pubsub topic, managed via
chainexchange
. Initially, the broadcast of chain and its reboradcast is coupled to GPBFT broadcast/re-boradcast: Whenever GPBFT broadcasts a message we broadcast its chain and so on. But we can do better, because: all chain subsets can be inferred from the longest broadcasted chain (i.e. the QUALITY proposal), and depending on the progress it may not be necessary to rebroadcast the chain.Ideally, the system should have control over the chain broadcast intensity. Separate out the heuristic of chain broadcast from GPBFT.
Ideas:
The text was updated successfully, but these errors were encountered: