(Short discaimer: I'm a mathematician by education (category theory, algebraic geometry) and so mostly unaware of how different fields in CS relate to each other. I'd be very happy to just get some directions. Also I'm not sure if the tags I added to the question are all correct.)
My question is concerned with information in distributed systems in relation to time. And I guess it also goes into the direction of blockchains.
Question: Is there research that deals with something along the lines of the following class of structures?
- The core items are triples
(i, t, p)
wherei
is a piece of information (think string, JSON blob, etc.),t
is a "point in time" andp
is a proof that we interpret as "i
existed aftert
". - A relation
~<
on allt
wheret1 ~< t2
is interpreted ast1
was beforet2
. (I'm not requiring that this relation is a linear order at this point. Not even that it's transitive or antisymmetric. But I guess it should at least be reflexive). - Some check
is_legit(i, t, p)
that tells us ifp
actually is a correct proof of "i
existed aftert
". - Additionally, some form of algebraic structure: Given two such triples
(i1, t1, p1)
and(i2, t2, p2)
we'd want to build a new triple
with the property that firstly( i1, shared_past(t1, t2), combined_proof(p1, p2, i2))
t1 ~< shared_past(t1, t2)
andt2 ~< shared_past(t1, t2)
and secondly that the new tripleis_legit
if and only if the two inputs are legit.
Clearification: I don't expect the definition above to be the correct one. Rather, I hope it outlines the flavour of things I'm interested in.