Physical Uncloneable Functions (PUF) are systems whose physical behavior to different inputs can be measured reliably, yet cannot be cloned in a physical replica. Existing designs propose to derive uncloneability from an assumed practical impossibility of exactly replicating inherent manufacturing variations, e.g., between individual chipset instances. The PUF promise has drawn significant attention lately and numerous researchers have proposed to use PUFs for various security assurances ranging from authentication to software licensing. In this paper we survey the history of PUFs as well as the existing body of research proposing applications thereof.