Model nodes, messages, partial failures, network partitions, and independent failure domains. Distinguish safety, liveness, availability, and durability guarantees.