Video and Slides. In this talk, I discuss how we implemented the R1CS (rank one constraint system) API for flexibly programming proofs with the Bulletproofs zero knowledge proof system. I also discuss how to build a confidential assets protocol, as well as how to make a usable smart contract language, using that API. This talk is a precursor to the official release of ZkVM, the zero knowledge smart contract language that we developed using these techniques.
Corresponding open-source code available on GitHub here.