Skip to content

Repository files navigation

ZKBAR-V Core

License Node.js React Hyperledger Fabric Ethereum ZKP IPFS

Overview

ZKBAR-V Core (Zero-Knowledge Based Academic Record Verification) is a decentralized, privacy-preserving platform for issuing, storing, and verifying academic credentials.

The platform combines permissioned blockchain, public blockchain anchoring, decentralized storage, and zero-knowledge cryptography to allow secure academic credential verification without revealing sensitive student data.

Using Zero-Knowledge Proofs (ZKPs), students can prove qualifications (e.g., GPA threshold) without exposing their actual GPA or transcript.


System Architecture

The system integrates multiple decentralized technologies.

Hyperledger Fabric (Permissioned Ledger)

Stores structured academic metadata:

  • GPA
  • Degree Name
  • IPFS CID
  • Document Hash

Fabric ensures:

  • Institutional control
  • Tamper-proof academic records
  • Permissioned access

Ethereum / EVM (Public Anchoring)

Credential hashes are anchored on a public blockchain using smart contracts.

Smart contracts:

AnchorRegistry.sol
GpaVerifier.sol

This provides:

  • Public verifiability
  • Credential authenticity
  • Revocation checks

without revealing private academic information.


IPFS (Decentralized Storage)

Encrypted transcript documents are stored on IPFS.

Benefits:

  • Decentralized file storage
  • Content-addressable retrieval
  • Reduced reliance on centralized infrastructure

Only encrypted documents are uploaded.


Zero-Knowledge Circuits

Privacy logic is implemented using Circom + snarkjs.

Example proof:

GPA >= 3.0

without revealing the actual GPA.

Circuit file:

gpa_proof.circom

Backend (Node.js + Express)

The backend acts as the coordination layer.

Responsibilities:

  • Encrypt and upload files to IPFS
  • Interact with Hyperledger Fabric
  • Execute Ethereum smart contract calls
  • Generate ZK proofs
  • Verify proofs
  • Serve REST APIs

Frontend (React + Vite)

A web interface for:

  • Universities
  • Students
  • Employers

Functions include:

  • Credential issuance
  • Proof generation
  • Credential verification

System Roles

1. University (Issuer)

Universities generate and manage academic credentials.

Responsibilities:

  • Register student identities (DIDs)
  • Encrypt and upload transcripts to IPFS
  • Store metadata on Hyperledger Fabric
  • Anchor document hashes on Ethereum
  • Revoke credentials if necessary

2. Student (Credential Owner)

Students retain control over their academic records.

Capabilities:

  • Access issued credentials
  • Decrypt transcripts from IPFS
  • Generate Zero-Knowledge Proofs
  • Share proofs with employers

Example:

Prove GPA >= 3.0

without revealing actual GPA.


3. Employer (Verifier)

Employers verify academic credentials securely.

Verification steps:

  1. Check credential hash in the Ethereum anchor registry
  2. Ensure the credential is not revoked
  3. Verify the student's ZK proof

This allows trustless credential verification.


Credential Flow

1. Transcript Upload

University encrypts the transcript and uploads it to IPFS.


2. Fabric Metadata Storage

Transcript metadata is stored using:

TranscriptContract.java

Stored fields:

  • GPA
  • Degree
  • IPFS CID
  • Document hash

3. Public Blockchain Anchoring

The transcript hash is anchored using:

AnchorRegistry.sol

This enables public verification of credential issuance.


4. ZKP Generation

Students generate proofs such as:

GPA >= EmployerThreshold

without revealing GPA.


5. Verification

Employers verify:

  • Smart contract anchor
  • Zero-Knowledge Proof

This completes the trust verification loop.


Project Structure


zkbar-v-core
│
├── backend-api           # Node.js backend
├── chaincode-java        # Hyperledger Fabric chaincode
├── frontend-app          # React + Vite frontend
├── smart-contracts-eth   # Ethereum smart contracts
├── zkp-circuits          # Circom ZK circuits
│
├── docker-compose.yml
├── install-fabric.sh
├── reset-network.sh
├── LOCAL_RUN_GUIDE.md
└── README.md


Key Features

  • Privacy-preserving academic credential verification
  • Zero-Knowledge GPA proofs
  • Hybrid blockchain architecture
  • Decentralized document storage
  • Public verification without exposing private data
  • Credential revocation support
  • Multi-party verification (University, Student, Employer)

Local Development

To run the project locally follow the instructions in:

LOCAL_RUN_GUIDE.md

The guide includes:

  • Fabric network setup
  • Smart contract deployment
  • Backend server setup
  • Frontend application setup
  • IPFS configuration

Tech Stack

Layer Technology
Frontend React, Vite
Backend Node.js, Express
Permissioned Blockchain Hyperledger Fabric
Public Blockchain Ethereum
Smart Contracts Solidity
ZKP Circom, snarkjs
Storage IPFS

About

ZKBAR-V (Zero-Knowledge Blockchain Academic Record Verification) is an enterprise-grade, hybrid blockchain system designed to issue, manage, and verify student academic records globally.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages