Vector clocks

Each replica keeps a counter per node, which lets the system tell whether two versions are ordered or concurrent. Concurrent versions are conflicts that must be merged.