{"type": "project", "title": "EZKL", "logoImg": "bafkreigrwlgshkn4utymgvzu5jxwz5ifcyh25oz43kvvsjirnrsklwbtle", "website": "https://github.com/zkonduit/ezkl", "createdAt": 1681939310343, "userGithub": "jasonmorton", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..O74OkNrW9vB5uRYNm_w-ovumXJUAWBNsULF_yhjaZHzOVgbwknv-MbeZxqpO2Xu6H0GeXCCTu0x_JpcqvFwxDg", "type": "Ed25519Signature2018", "created": "2023-04-19T21:28:36.917Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-04-19T21:28:36.917Z", "expirationDate": "2023-07-18T21:28:36.917Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x535baE5D2b5C41D186a9A9983904BCFab4732836", "hash": "v0.0.0:f8APNd2hxvnJm/ZO58+vqMtixINW2lDT5+ihP3xSsBo=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#zkonduit#163558"}}}, "description": "ezkl is a library and command-line tool for doing inference for deep learning models and other computational graphs in a zk-snark. It enables the following workflow:\n- Define a computational graph, for instance a neural network (but really any arbitrary set of operations), as you would normally in pytorch or tensorflow.\n- Export the final graph of operations as an .onnx file and some sample inputs to a .json file.\n- Point ezkl to the .onnx and .json files to generate a ZK-SNARK circuit with which you can prove statements such as:\n    \"I ran this publicly available neural network on some private data and it produced this output\"\n    \"I ran my private neural network on some public data and it produced this output\"\n    \"I correctly ran this publicly available neural network on some public data and it produced this output\"\n\nThe rust API is also sufficiently flexible to enable you to code up a computational graph and resulting circuit from scratch. For examples on how to do so see the repo.\n\nIn the backend we use Halo2 as a proof system.", "logoImgData": {}, "projectGithub": "zkonduit", "projectTwitter": "zkonduit"}
EZKL
ezkl is a library and command-line tool for doing inference for deep learning models and other computational graphs in a zk-snark. It enables the following workflow:
- Define a computational graph, for instance a neural network (but really any arbitrary set of operations), as you would normally in pytorch or tensorflow.
- Export the final graph of operations as an .onnx file and some sample inputs to a .json file.
- Point ezkl to the .onnx and .json files to generate a ZK-SNARK circuit with which you can prove statements such as:
    "I ran this publicly available neural network on some private data and it produced this output"
    "I ran my private neural network on some public data and it produced this output"
    "I correctly ran this publicly available neural network on some public data and it produced this output"

The rust API is also sufficiently flexible to enable you to code up a computational graph and resulting circuit from scratch. For examples on how to do so see the repo.

In the backend we use Halo2 as a proof system.
EZKL