Zero-knowledge proofs have an important role to play in the future of verified machine learning prediction. However, no deep learning framework has the ability to perform verified computation of neural networks using ZKPs. In this project, I will wrap an existing ZKP library into a new tensor type allowing users of PySyft to generate, evaluate, and verify tensor computations, Here I will port an existing ZKP library, libsnark into PyTorch operations because there is no doubt that C++ is faster than Python and can perform a huge number-crunching job so fast and efficiently.

This library implements Non-Interactive, zkSNARK schemes, which are a cryptographic method for proving/verifying, in zero-knowledge, the integrity of computations. A computation can be expressed as an NP statement, A prover who knows the witness for the NP statement (i.e., a satisfying input/assignment) can produce a short proof attesting to the truth of the NP statement.