Событие A causally precedes B (A → B), если A произошло до B и могло повлиять на него. Определяется через vector clocks: если V(A) < V(B) покомпонентно. Если ни V(A) <= V(B), ни V(B) <= V(A) — события concurrent. Happens-before отношение транзитивно: если A → B и B → C, то A → C. На практике causality важна для consistency — обновление должно видеть данные от которых зависит.