Overview
Vector Clocks maintain an array V[1..N] of logical timestamps per node. By merging vectors element-wise on message receipt, any two events can be tested for exact causal precedence (V(a) < V(b)) or concurrency/conflict (neither V(a) <= V(b) nor V(b) <= V(a)).