Consider a logical structure , constructed over a given network G, which is intended to efficiently support various services on G. This logical structure is supposed to possess certain desirable properties, measured with respect to G and represented by some requirement predicate . Now consider a failure event F affecting some of the network's vertices and edges. Making fault-tolerant means reinforcing it so that subsequent to the failure event, its surviving part continues to satisfy . One may insist on imposing the requirements with respect to the original network G, i.e., demanding that the surviving structure satisfies the predicate . The idea behind competitive fault tolerance is that it may sometimes be more realistic and more productive to evaluate the performance of the surviving after the failure event not with respect to G (which at the moment is no longer in existence anyway), but rather with respect to the surviving network G′∈=∈G∈ ∈F, which in a sense is the best one can hope for. Hence, we say that the structure enjoys competitive fault-tolerance if subsequent to a failure event F, its surviving part satisfies the requirement predicate . The paper motivates the notion of competitive fault tolerance, compares it with the more demanding alternative approach, and illustrates it on a number of representative examples.