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

Integrate end to end hashed chain exchange with F3 #816

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

masih
Copy link
Member

@masih masih commented Jan 9, 2025

Integrate the chain exchange mechanism with F3 host and runner. But without touching the core GPBFT.

The implementation here leaves two major TODOs: 1) chain broadcasting mechanism (currently coupled to GPBFT message broadcast), and 2) partial message validation prior to buffering (currently skipped entirely but with capped buffer sizes and re-validation by core GPBFT once the messages are complete).

The integration introduces the concept of Partial GMessage: a GMessage with chains replaced with the key to the chain. The work introduces a buffer and refill mechanism that listens to the chains discovered, un-buffers the messages having re-constructed their original GMessage and feeds them to the participation using the existing event loop.

Part of #792

@Kubuxu
Copy link
Contributor

Kubuxu commented Jan 9, 2025

Conceptually SGTM, will do another dive latter after I think it over.

@masih masih force-pushed the masih/partial-message branch from 1a70c79 to de7a49c Compare January 10, 2025 12:10
Integrate the chain exchange mechanism with F3 host and runner. But
without touching the core GPBFT.

The implementation here leaves two major TODOs: 1) chain broadcasting
mechanism (currently coupled to GPBFT message broadcast), and 2)
partial message validation prior to buffering (currently skipped
entirely but with capped buffer sizes and re-validation by core GPBFT
once the messages are complete).

The integration introduces the concept of Partial GMessage: a GMessage
with chains replaced with the key to the chain. The work introduces a
buffer and refill mechanism that listens to the chains discovered,
un-buffers the messages having re-constructed their original GMessage
and feeds them to the participation using the existing event loop.

Part of #792
@masih masih force-pushed the masih/partial-message branch from de7a49c to 5c24c8d Compare January 10, 2025 12:17
@masih masih marked this pull request as ready for review January 10, 2025 12:17
@masih masih requested a review from Kubuxu January 10, 2025 12:17
@masih masih force-pushed the masih/partial-message branch from 7f4fd75 to b087ced Compare January 10, 2025 12:28
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.

2 participants