MurmurationsNetwork / MurmurationsProtocol

Murmurations is a distributed data sharing protocol
https://murmurations.network
GNU General Public License v3.0
10 stars 1 forks source link

Draft design for multiple indexes #40

Closed geoffturk closed 6 months ago

geoffturk commented 2 years ago

:construction: INDEX SYNCING

A profile_hash is for future planning, and will also be stored for each node profile so that multiple indices can synchronize their lists of nodes. It will be a hash of the profile (the entire JSON object containing all node profile data) stored at the profile_url that was submitted by the node. Nodes can compare node_ids (the unique hash of a profile_url) and then profile_hashes between themselves. They will also store a Unix timestamp (last_updated) of when they last validated the profile at the profile_url and created the profile_hash for each node_id. The index with the oldest timestamp should download the profile from the profile_url and regenerate the profile_hash. This is just a rough idea of index syncing; it will need to be thought through in more detail, including thinking about edge cases.

Photosynthesis 10 days ago

Since we're getting into the reality of multiple indices, and the requirement to synchronize, merge, and deduplicate profiles, it might be a good time to revisit this and think about it in more detail.

geoffturk commented 6 months ago

Done.