waku-org / research

Waku Protocol Research
MIT License
3 stars 0 forks source link

Cross-check results from multiple servers #57

Open s-tikhomirov opened 10 months ago

s-tikhomirov commented 10 months ago

Without consensus, responses of different servers to the same request may differ. If the client wants to minimize the risk of missing a prior message, it may query multiple servers and merge the results.

Two sub-questions arise:

s-tikhomirov commented 10 months ago

Comment by @chaitanyaprem moved here from the PR discussion:

How can the client verify if the server has honoured the request?

What if the client queries for messages for the last 1 hour and the server responds with 10 messages (to save resource usage or for some other reason), whereas there are 15 messages available for the queried time?

I am wondering if this reputation could be somehow also be tied to store-sync protocol or is it the client's responsibility to query a secondary store node to confirm the authenticity of response from first? In which case the client should not be charged for 2 queries, rather only 1 and first store node could be disincentivized.

I know this is bringing in complexity, but better to think of a plan to handle this.

fryorcraken commented 10 months ago

If store sync protocol are provided for free by a server, then it may help with this.

For example, Alice can do a store-sync query to Bob and Carole.

Alice can then compare Bob and Carole:

The store sync query acts as a form a commitment from Bob and Carole that they are storing specific messages. This means that now the problem is shifted in terms of consistency between a store sync query (Here are the ids of the msgs I have available) and the store query (I am providing the payload of the msgs I said I had).

Which might be simpler to handle.