  Quantum copy protection uses the unclonability of quantum states to construct
quantum software that provably cannot be pirated. Copy protection would be
immensely useful, but unfortunately little is known about how to achieve it in
general. In this work, we make progress on this goal, by giving the following
results:
  - We show how to copy protect any program that cannot be learned from its
input/output behavior, relative to a classical oracle. This improves on
Aaronson [CCC'09], which achieves the same relative to a quantum oracle. By
instantiating the oracle with post-quantum candidate obfuscation schemes, we
obtain a heuristic construction of copy protection.
  -We show, roughly, that any program which can be watermarked can be copy
detected, a weaker version of copy protection that does not prevent copying,
but guarantees that any copying can be detected. Our scheme relies on the
security of the assumed watermarking, plus the assumed existence of public key
quantum money. Our construction is general, applicable to many recent
watermarking schemes.
