(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)where
iis a piece of information (think string, JSON blob, etc.),
tis a "point in time" and
pis a proof that we interpret as "
- A relation
t1 ~< t2is interpreted as
t2. (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 if
pactually is a correct proof of "
- 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)and
t2 ~< shared_past(t1, t2)and secondly that the new triple
is_legitif 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.