@Piet Traditional vector clocks are unsuitaable for ssb. We have an unbounded number of feeds, and thus no upper limit on the size of the vectors. An no single participant can even know how many other participants there are. There are generalizations that deal with this, for example interval tree clocks. But these mechanisms tend to get pretty complicated. As usual, I try to push the inherently complicated parts into the layer that is least-tied to ssb itself, i.e. the database.
But I do think this would be really hard to implement efficiently enough.
Summarizing the relevant papers listed in this thread is something I want to get to, once the message format updates are done. There's a lot of densely packed information in there, but I think we can distill that into an algorithm that isn't too complicated. I'm happy to take the title of "Dude who reads through specs and papers so other's don't have to".