A non-interactive zero-knowledge proof allows Alice to convince anyone that some statement is true without revealing why. For example, Alice can show that f(x,y) = z without revealing anything about x or y. Zero-knowledge proofs have undergone incredible advances in the past tenyears with billions of dollars invested in industrial development, primarily in blockchains. This class will cover recent advances in zero-knowledge proofs with a focus on using them in applications beyond just blockchains.