GithubHelp home page GithubHelp logo

external-zkml-actor's Introduction

External ZKML actor

This is a proof-of-concept implementation of a zero-knowledge proof application designed for Gear-powered blockchains.

Note Keep in mind that this example is intended for educational purposes as a technology demonstration. For production use, it is recommended to introduce certain optimizations addressing potential performance and security vulnerability issues.

Overview

This implementation offers the capability to offload the resource-intensive computations from the blockchain while ensuring their integrity. As an illustrative example, we demonstrate the evaluation of the MNIST machine learning model. This is achieved by generating zero-knowledge proofs of computations and subsequently verifying them on-chain.

Workflow

The process of employing zero-knowledge proofs for computations involves four key participants: Initializer, User, zk-smart-contract and Prover.

  1. Initializer: This participant is responsible for deploying the zk-smart-contract onto the blockchain and initializing its parameters. During initialization, the structure of the machine learning model is defined, setting the stage for subsequent interactions.

  2. User: Users of the system interact with the zk-smart-contract by submitting their input data, which is intended for processing by the machine learning model. This step demonstrates how external parties can seamlessly engage with the blockchain without directly executing computationally intensive operations.

  3. Prover: The prover retrieves this input from the zk-smart-contract, conducts an evaluation of the machine learning model, and generates a zero-knowledge proof that attests to the validity of the computation. The resulting output of the machine learning model, along with the zero-knowledge proof, is then submitted back to the zk-smart-contract.

  4. User Verification: Users initiate a verification process by interacting with the zk-smart-contract. The zk-smart-contract orchestrates the verification of the zero-knowledge proof, independently confirming the accuracy of the computation without exposing sensitive data.

  5. Verification Outcome: Once the verification process is completed within the zk-smart-contract, the user is informed of the verification outcome.

external-zkml-actor's People

Contributors

andrepanin avatar mertwole avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

btwiuse

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.