Although Lamport timestamps define a total order of operations that is consistent with causality, they are not quite sufficient to solve many common problems in distributed systems. For example, consider a system that needs to ensure that a username uniquely identifies a user account.