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

Synchronize interests with peers pairwise #610

Open
3 tasks
nathanielc opened this issue Nov 20, 2024 · 0 comments
Open
3 tasks

Synchronize interests with peers pairwise #610

nathanielc opened this issue Nov 20, 2024 · 0 comments

Comments

@nathanielc
Copy link
Collaborator

Once we have are synchronizing and connecting to Ceramic peers we need to synchronize interests with those peers directly. This is opposed to synchronizing interests transitively across the network. Instead we synchronize interests directly with a peer we are connected too.

Implementation Notes

There are two ways we could do this:

Interests remain a Recon Ring

In this mode two peers will synchronize their interests using Recon. As interests are not likely to change frequently this makes agreeing on interests efficient.

However it has the downside that removing interests is more complicated. It requires a mechanism to expire interests or otherwise mask interests on the responding side.

Interests sync as first round trip in Recon sync

Currently the Recon protocol begins by exchanging to the full set of interests and computing their intersection. This occurs at the beginning of every conversation. This is inefficient but has the property that interests can be dynamic as they are negotiated each time.

DOD

  • Two peers agree on shared interests before doing a recon sync over events
  • Peers only learn about interests of a peer via direct communication with the peer
  • Tests show two peers can synchronize
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

No branches or pull requests

1 participant