Circom buses: a new journey
11-15, 15:10–15:30 (Asia/Bangkok), Stage 3

Circom is one of the most widely used languages in programmable cryptography. In this talk we present an amazing new circom feature, called buses. Like structs in other languages, programmers can define their own buses, as new types, in a general way to create structured collections of signals and freely use them in their code. Buses increase the readability, modularity and security of circuits. Illustrative examples as well as the renewed circomlib, using buses, are presented.

Over the last five years I have been leading the development of circom, one of the main DSLs for defining ZK protocols. I have also extensively worked on developing tools and techniques for the analysis of smart contracts and on the generation of optimized EVM code (as part of funded projects by the EF). I am also leading the ZK-ARCKIT project (funded by the EF) to provide tools to analyze, transform and optimize the polynomial constraint systems generated for building ZK proofs.