This chapter explores the concept of trusted setups in smart contracts and its relation to ZKPs. It discusses different constructs like universal snarks and trustless setups, highlighting the trade-offs between them. The chapter also delves into Redshift, a transparent snark that allows for the creation of recursive proofs and the verification of multiple circuits within a block.