The Chainlink Labs Research Team discusses a commit-and-prove (CnP) approach to zero-knowledge proofs (ZK), which enhances memory efficiency by allowing certain data to be forgotten during computation. This post outlines the basics of CnP, which involves a commitment scheme where a message is locked in a "virtual box" that prevents alteration and premature access. This method allows for memory recycling in ZK protocols by committing and verifying wire values at each gate of a computation circuit. While CnP can be computationally expensive, the flexibility it offers in deciding which values to retain or discard is a significant advantage. The blog also presents a more advanced CnP-ZK approach based on bilinear maps, which streamlines the process further by leveraging homomorphic commitments and binary checks for NAND gates. Despite its benefits, the advanced method incurs a higher computational cost, prompting future discussions on more efficient interactive CnP-ZK protocols. The research traces the origins of CnP-ZKP to foundational works and highlights various practical implementations that have emerged in cryptographic literature.