https://github.com/hoytech/strfry#sync
`uses the yesstr protocol and performs a merkle-tree set reconcilliation against the specified relay.`
https://github.com/hoytech/strfry#sync
`uses the yesstr protocol and performs a merkle-tree set reconcilliation against the specified relay.`
How heavy this is? Any chance of turning their implementation into a NIP and add into the regular filter options?
yeah ideally this would be a NIP for clients to efficiently deduplicate data from relays. it’s actually pretty efficient, and #[5] seemed to be speaking highly of the performance when relay.damus.io was switched over to strfry.
Correct me if I'm wrong but this seems to add overhead for no reason versus just sending the event IDs of what you have. Why add the overhead of the tree unless you want proper inclusion proofs (which would require merkelizing all events you have as a relay).
The hope was to tmget the tree or a bloom filter to reduce the amount of IDs. Amethyst generally has 50,000 IDs in the local database, which would make it a 3mb upload at every new filter request to a relay.
Merkelizing IDs though is just going to add more data, or if you dont send the whole tree add resource demands for relays to hash the tree from inputs.