Having a way to capture the ordering between the waku messages would allow store nodes to serve historical messages to the same order to all the requesters.
The current message ordering technique used in the waku2 store protocol is based on sender-generated timestamp + message hash (this allows total message ordering). However, this technique does not fully and correctly capture message dependency. It relies on nodes' clock (publishers) being synch with the error margin of +-20seconds (or some bounded value).
A better ordering mechanism shall mitigate this constraint. The followings are some potential directions:
Lamport timestamps
Directed acyclic graphs, though afaik this approach fits best a static group of users.
Other approaches
This issue is to explore other methods and decide on an ordering mechanism to be incorporated in the waku2 store protocol.
Background
Having a way to capture the ordering between the waku messages would allow store nodes to serve historical messages to the same order to all the requesters. The current message ordering technique used in the waku2 store protocol is based on sender-generated timestamp + message hash (this allows total message ordering). However, this technique does not fully and correctly capture message dependency. It relies on nodes' clock (publishers) being synch with the error margin of +-20seconds (or some bounded value).
A better ordering mechanism shall mitigate this constraint. The followings are some potential directions:
This issue is to explore other methods and decide on an ordering mechanism to be incorporated in the waku2 store protocol.