Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

From Local AI to Ethereum: Building a Verifiable Knowledge Proof with MyZubster

Description and use

The author built a pipeline from local AI experiments to a verifiable on‑chain proof on Ethereum Sepolia, hashing a canonical JSON payload and verifying it via a Solidity contract.

Problem

Can the things I learn and build become verifiable evidence instead of just claims on a profile?

Outcome

The author successfully linked local AI experiments to a verifiable on‑chain proof, demonstrating that a canonical payload can be hashed, stored, and verified on Ethereum Sepolia without private keys.

Workflow

  • Set up Docker, Ollama, Qdrant, Open WebUI, and Python/Flask APIs for local RAG ingestion.
  • Create a MyZubster Knowledge Card linking to GitHub evidence and local test descriptions.
  • Generate a stable JSON representation of the Knowledge Card and compute its SHA‑256 digest.
  • Deploy a Solidity contract on Ethereum Sepolia storing the digest as bytes32.
  • Implement a Knowledge Proof Verifier that reads the payload, recomputes the hash, reads the on‑chain hash, and reports MATCH/NO_MATCH/ERROR.
  • Iterate to Proof v3 with updated payload and redeploy contract.
  • Integrate the Knowledge Card into the MyZubster Knowledge Graph and observe synchronization gaps.
  • Analyze what a MATCH proves and plan next steps for graph sync and UX improvement.

Evidence

I built and tested a proof‑of‑concept that connects local software experiments, GitHub evidence, a Knowledge Card, cryptographic hashing and Ethereum Sepolia.

Source

The first Ethereum experiment was intentionally simple. I calculated a SHA‑256 digest from the Knowledge Card URL and stored it in a small Solidity contract on Ethereum Sepolia.

Source

For Proof v2, I created a stable JSON representation of the Knowledge Card. Instead of hashing the URL, the system hashes the exact payload bytes. The SHA‑256 was: 6097e05866bafceec24663d2638cb1dae5742ac78284abbfd45cc9c3b0bfb845

Source

The verifier was merged through PR #16: https://github.com/nicolaususnicola-lgtm/myzubster-mvp/pull/16

Source

The result was: { "status": "MATCH", ... } That was the key milestone.

Source

  • Record date: 2026-10-01T21:56:04.204Z