Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pinocchio opcode format #2

Open
HarryR opened this issue Sep 12, 2018 · 0 comments
Open

Pinocchio opcode format #2

HarryR opened this issue Sep 12, 2018 · 0 comments
Labels
enhancement New feature or request

Comments

@HarryR
Copy link

HarryR commented Sep 12, 2018

Have you considered implementing the Pinocchio opcode format?

For example, it outputs a set of opcodes like the following: https://github.com/akosba/jsnark/blob/master/JsnarkCircuitBuilder/auction_10.arith

From these opcodes both the constraints for the circuit can be generated, and the circuit can also be simulated to create a proof (e.g. you provide the inputs, then the states of all intermediate wires etc. are determined by evaluating the opcodes & wires).

It seems like this is becoming a widely implemented common intermediate format for zkSNARKS and other general purpose verifiable computation languages which have the witness / prove steps. The advantage of using a common opcode format like this is that your zkSNARK implementation could run gadgets compiled by xjsnark and PInocchio, and programs compiled in your language could be easily run on other zkSNARK / zk-proof / PCP platforms.

This format is supported by:

e.g. if I implement a loader for pinocchio, xjsnark & jsnark in my ethsnarks project, it'd be awesome to be able to support another programming language without having to load the JavaScript runtime and your own zkSNARK framework.

@jbaylina jbaylina added the enhancement New feature or request label Oct 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants