Paper 2017/013 Original: eprint.iacr.org/2017/013 ↗

Pinocchio-Based Adaptive zk-SNARKs and Secure/Correct Adaptive Function Evaluation

Meilof Veeningen
Abstract

Pinocchio is a practical zk-SNARK that allows a prover to perform cryptographically verifiable computations with verification effort sometimes less than performing the computation itself. A recent proposal showed how to make Pinocchio adaptive (or ``hash-and-prove''), i.e., to enable proofs with respect to computation-independent commitments. This enables computations to be chosen after the commitments have been produced, and for data to be shared in different computations in a flexible way. Unfortunately, this proposal is not zero-knowledge. In particular, it cannot be combined with Trinocchio, a system in which Pinocchio is outsourced to three workers that do not learn the inputs thanks to multi-party computation (MPC). In this paper, we show how to make Pinocchio adaptive in a zero-knowledge way; apply it to make Trinocchio work on computation-independent commitments; present tooling to easily program fleible verifiable computations (with or without MPC); and use it to build a prototype in a medical research case study.

Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Preprint.
History
2017-06-21: last updated
2017-01-11: published
Short URL
https://ia.cr/2017/013
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2017/013,
      author = {Meilof Veeningen},
      title = {Pinocchio-Based Adaptive zk-SNARKs and Secure/Correct Adaptive Function Evaluation},
      howpublished = {Cryptology {ePrint} Archive, Paper 2017/013},
      year = {2017},
      url = {https://eprint.iacr.org/2017/013}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.