ZQL for Privacy-Preserving Data Processing

ZQL is a language and compiler that allows for client side compuations to be compiled with appropriate cryptographic checks to provide privacy and integrity.

ZQL is a small domain specific language to express computations on private data. The ZQL compiler and tool chain turns these computations into efficient zero-knowedge protocols, to ensure the privacy and the integrity of the program execution. The programmer only has to provide a small source query, encoding business logic, and the ZQL compiler synthesizes automatically all the code for data sources to sign inputs; provers performing the computation and proofs; and verifiers checking the computations results provided are correct.

ZQL could be useful in a number of contexts:

  • Privacy for billing, on-line profiling and analytics.
  • Privacy friendly pay-as-you-drive insurence, pay as you go ticketing, or pay-per-view media streaming.
  • On-line wallets or e-cash.

In all these settings customer information is certified by some meter or service, processed on clients and the results verified on a server. The raw readings do not have to be seen by the service, yet the clients cannot cheat about the result!

Presentations and Publications related to ZQL:

Related papers, on secure client side programming: