Skip to content

feat: Enable Trustless AI with Shade Agents and EZKL #6

Description

@rainbowpuffpuff

Motivation
Currently, data analysis and model training are performed in centralized environments, which requires trust in the platform operator. To build a truly decentralized and fair platform, we need a way to mathematically prove that the correct computations were performed on user data without revealing the data itself.

Proposed Solution
We will leverage a combination of Shade Agents and EZKL to create a robust and trustless system for processing sensitive data and running AI models.

  • Shade Agents (for TEEs): We will use Shade Agents to run containerized Python scripts in a Trusted Execution Environment (TEE). This provides a secure and private environment for the computation.
  • EZKL (for ZK-SNARKs): We will use EZKL to generate a Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zk-SNARK) of the model's inference. This allows us to verifiably prove that a specific model was run on the data, without revealing the underlying data.

This combination gives us the best of both worlds: the privacy and security of TEEs for the computation, and the mathematical certainty of zk-SNARKs for the verification.

Use Cases:

  • Fair Economic Model: Calculate Shapley values for data contributions in a verifiable way.
  • Private AI Model Training: Train models on sensitive data (e.g., glucose data) and provide a verifiable proof of the model's execution.

Acceptance Criteria:

  • A Shade Agent is deployed and capable of running a Python script in a TEE.
  • EZKL is integrated to generate a zk-SNARK for a sample model.
  • The results of the script execution and the ZK proof are recorded on-chain.

Alternatives Considered

  • Shade Agents only: Using only TEEs provides a good level of security, but adding EZKL provides a stronger, mathematically verifiable guarantee of the computation's integrity.
  • EZKL only: Using only EZKL is powerful for verification, but can be complex for general-purpose computation. Combining it with Shade Agents allows us to use the right tool for the right job.

Additional Context
This feature is a core component of the "Verifiable & Private AI" objective outlined in the project's TASKS.md file. It will serve as the epic for the more specific tasks related to Shade Agent and EZKL development.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions