-
Notifications
You must be signed in to change notification settings - Fork 14
Conversation
Few comments:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for delving into this problem domain. However, this functionality is being added by the Research team as part of a general overhaul of the Store protocol and will be an update on that RFC (https://rfc.vac.dev/spec/13/)
To me store protocol is pretty unclear about its scope,
Such practices is implicit in waku implementation. So I think maybe split spec for its single purpose could do better to waku protocol. Have more specs is definitely not the best solution, but with best practices learns, specs could merge at some point. In another words, current store protocol could be splited into at least 4 specs,
In p2p network, we should not trust the response from any 3rd party nodes before verify the integrity of the response. Verify the digest by recalculating the hash of the response is what we can do here.
StoreSync is great, but this likely requires more iterations, I think this spec can help with the iterations. |
Split store protocol could also help mitigate such compatibility issue: waku-org/go-waku#965. |
If you read the first line in rfc it is pretty clear what is the scope of Store protocol. |
I agree your point wrt integrity of data(which can just be locally calculated on requesting node from the data received to verify). But this is not related to the point what i was trying to highlight. I was just trying to indicate that this new query based on messageHashes can include 2 types of queries
|
Thanks @chaitanyaprem for the detail info, it helps a lot.
I'm not against to put history query and hash based query into same spec. Not doing that for now is, I don't know what's the best way to iterate More context, when looking at waku research milestone Epic SU1: Store v3-beta (message hashes), I think this is a good start point for me explorer the process with spec changes. By spliting this spec (
The response node returns a message whose hash result is same with the one requested, is probably the only way for request node to trust the response node has this message. If the response node is trusted like the message receiver, |
I echo with @chaitanyaprem on the no need for a split here. imo, Sync protocol completes Store protocol, since while Sync needs to figure out which hashes are missing --> Store needs to help deliver Waku messages corresponding to those hashes. |
Close in favor of #665 |
By adding this fine-grained message query protocol, clients could check if messages are stored in specific nodes and further used by the sync protocol.
TODOs,
QueryMessagesRPC
just like store and lightpush protocol? Metadata protocol is not using this wrap, so curious to know why the wrap exists.digests