Sovereign-ZK
A lightweight, privacy-preserving framework for cross-border GPU compute using Zero-Knowledge Machine Learning (ZKML). Developed by Chidiebere V. Christopher
Sovereign-ZK allows data scientists (e.g., in Nigeria) to securely offload heavy deep learning workloads to remote GPUs (e.g., in Kenya or London) without ever exposing the plain text data to the remote host. It guarantees NDPA compliance via Trusted Execution Environments (TEEs) and cryptographic verification of the compute results using EZKL.
Installation
pip install sovereign-zk
Quick Start
1. Start the Remote GPU Node (London/Kenya)
On the machine with the idle GPU, run the FastAPI/Flask node to listen for encrypted payloads:
from sovereign_zk.node import run_node
if __name__ == "__main__":
# Starts the listener on port 8000
run_node(port=8000)
2. Submit Data from the Local Client (Nigeria)
On your local machine, use the client SDK to encrypt your sensitive data, send it to the node, and cryptographically verify the returned Zero-Knowledge proof.
from sovereign_zk.client import SovereignClient
# Initialize the client pointing to the remote GPU
client = SovereignClient(node_url="http://<REMOTE_NODE_IP>:8000")
# Your sensitive data
data = {"input_data": [[0.8, 0.1, 0.9, 0.2, 0.5]]}
# Encrypt the data before it leaves your machine
client.encrypt_data(data, "encrypted.bin")
# Submit the encrypted payload and the ZK circuit to the remote node
success = client.submit_compute_job(
encrypted_data_path="encrypted.bin",
model_path="network.compiled",
pk_path="pk.key",
srs_path="kzg.srs",
output_proof_path="proof.json"
)
# Cryptographically verify the remote compute result locally
if success:
client.verify_proof("proof.json", "settings.json", "vk.key", "kzg.srs")
Architecture
This SDK forms Phase 1 of the Sovereign-ZK deployment architecture, abstracting the complex file handling, encryption, and EZKL bindings into a simple requests-based HTTP workflow.
👤 Author
Chidiebere V. Christopher
- LinkedIn: Chidiebere Christopher
- GitHub: 93Chidiebere
- Email: vchidiebere.vc@gmail.com
Metadata
Release files for sovereign-zk 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sovereign_zk-0.1.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sovereign_zk-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / sovereign_zk-0.1.0.tar.gz
| Download URL | sovereign_zk-0.1.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e765cf15ba160e4a99419b64205d82d5c395414202d0f25aab49e8c096fdd84b
|
|
BLAKE2b-256 checksum How to use checksums |
a253da849a4084443441a0d4a8c12a320c429ab732d5888808669c37729a0c56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / sovereign_zk-0.1.0-py3-none-any.whl
| Download URL | sovereign_zk-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d59d366c7c932e5a1fe3ef528aaca1aaba9d77746024a31b178e859c525f5431
|
|
BLAKE2b-256 checksum How to use checksums |
34532857ba83eccf33f402f24134dff97d35cda24383d07f9a572456b84554c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|