Skip to content

levi0005/QuorumProof

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

517 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

QuorumProof β€” Federated Engineering Credential Auditor

A decentralized professional credential verification platform built on Stellar Soroban smart contracts, using Federated Byzantine Agreement (FBA) trust slices to audit engineering licenses and degrees across borders.

Engineering certifications vary by country, making it difficult for international firms to verify credentials quickly and reliably. QuorumProof replaces fragmented government portals with a trustless, privacy-preserving audit layer β€” powered by the same consensus model that underlies Stellar itself.

🎯 What is QuorumProof?

QuorumProof lets engineers build a Quorum Slice β€” a personal trust network made up of:

  • πŸŽ“ Their University (degree attestation)
  • πŸ›οΈ A National Engineering Society (license validation)
  • 🏒 Previous Employers (professional history)

Each node in the slice co-signs a Soulbound Token (SBT) on Stellar, creating a tamper-proof, portable credential that any firm can verify instantly β€” without contacting each institution individually.

This applies the Stellar whitepaper's "individual trust decisions" model to a high-stakes professional use case.

⚠️ ZK Verification β€” Non-Functional Stub

Do not use verify_claim in production. The zk_verifier contract accepts any non-empty byte string as a valid proof. It performs no cryptographic verification and provides no privacy guarantees. It is admin-gated to limit exposure, but the gate is not a substitute for real ZK logic. Real proof verification (Groth16/PLONK) is tracked in #ZK-IMPL and targeted for v1.1.

πŸš€ Features

  • Audit Slices: Define your own quorum of trusted attestors (university, licensing body, employers)
  • Soulbound Tokens (SBTs): Non-transferable on-chain credentials tied to your Stellar identity
  • Conditional Verification (stub): API exists for claim-specific proofs (e.g. "has a Mechanical Engineering degree") but ZK verification is not yet implemented β€” see warning above
  • Cross-Border Ready: Instant verification for international hiring, no embassy letters or notarizations
  • Privacy-First: Credential holders control what is revealed and to whom
  • Trustless: No central registry β€” verification is enforced by smart contract logic

πŸ› οΈ Quick Start

Prerequisites

  • Rust (1.70+)
  • Soroban CLI
  • Stellar CLI

Build

./scripts/build.sh

Test

./scripts/test.sh

Setup Environment

Copy the example environment file:

cp .env.example .env

Configure your environment variables in .env:

# Network configuration
STELLAR_NETWORK=testnet
STELLAR_RPC_URL=https://soroban-testnet.stellar.org

# Contract addresses (after deployment)
CONTRACT_QUORUM_PROOF=<your-contract-id>
CONTRACT_SBT_REGISTRY=<your-contract-id>
CONTRACT_ZK_VERIFIER=<your-contract-id>

# Frontend configuration
VITE_STELLAR_NETWORK=testnet
VITE_STELLAR_RPC_URL=https://soroban-testnet.stellar.org

Network configurations are defined in environments.toml:

  • testnet β€” Stellar testnet
  • mainnet β€” Stellar mainnet
  • futurenet β€” Stellar futurenet
  • standalone β€” Local development

Deploy to Testnet

# Configure your testnet identity first
stellar keys generate deployer --network testnet

# Deploy
./scripts/deploy_testnet.sh

Run Demo

Follow the step-by-step guide in demo/demo-script.md

πŸ“– Documentation

πŸŽ“ Smart Contract API

Credential Management

issue_credential(subject, credential_type, metadata_hash) -> u64
get_credential(credential_id) -> Credential
revoke_credential(credential_id)

Quorum Slices

create_slice(attestors: Vec<Address>, threshold: u32) -> u64
get_slice(slice_id) -> QuorumSlice
add_attestor(slice_id, attestor)

Attestation

attest(credential_id, slice_id)
is_attested(credential_id) -> bool
get_attestors(credential_id) -> Vec<Address>

Conditional Verification (ZK)

verify_claim(credential_id, claim_type, proof) -> bool
generate_proof_request(credential_id, claim_type) -> ProofRequest

πŸ§ͺ Testing

Comprehensive test suite covering:

  • βœ… Credential issuance and revocation
  • βœ… Quorum slice creation and attestor management
  • βœ… Multi-party attestation flow
  • βœ… ZK conditional verification
  • βœ… SBT non-transferability enforcement
  • βœ… Error handling and edge cases

Run tests:

cargo test

🌍 Why This Matters

The Problem: A Mechanical Engineer licensed in Brazil applying for a role in Germany faces weeks of manual credential verification across institutions, embassies, and licensing bodies.

The Solution: QuorumProof collapses that process to a single on-chain query β€” verified in seconds, privacy-preserving by design.

Blockchain Benefits:

  • No trusted central registry to corrupt or go offline
  • Transparent attestation history, auditable by any party
  • Programmable verification rules enforced by smart contracts
  • Accessible to any engineer with a Stellar wallet

Target Users:

  • International engineering firms hiring across borders
  • Engineers seeking global mobility
  • Universities and licensing bodies issuing verifiable credentials
  • Governments modernizing professional certification infrastructure

πŸ—ΊοΈ Roadmap

  • v1.0 (Current): Core SBT issuance, quorum slice model, multi-attestor signing
  • v1.1: ZK conditional verification (claim-specific proofs)
  • v2.0: Revocation registry, credential expiry, renewal flows
  • v3.0: Frontend UI with Stellar wallet integration
  • v4.0: Mobile app, integration with national licensing APIs

See docs/roadmap.md for details.

🀝 Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See our Code of Conduct and Contributing Guidelines.

🌊 Drips Wave Contributors

This project participates in Drips Wave β€” a contributor funding program! Check out:

  • Wave Contributor Guide β€” How to earn funding for contributions
  • Wave-Ready Issues β€” Funded issues ready to tackle
  • GitHub Issues labeled wave-ready β€” Earn 100–200 points per issue

Issues are categorized as:

  • trivial (100 points) β€” Documentation, simple tests, minor fixes
  • medium (150 points) β€” Helper functions, validation logic, moderate features
  • high (200 points) β€” Core features, ZK integrations, security enhancements

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

πŸ™ Acknowledgments

  • Stellar Development Foundation for Soroban
  • The Stellar whitepaper for the FBA trust model that inspired this design
  • Drips Wave for supporting public goods funding

About

"Federated Engineering" is a professional audit platform on Stellar/Soroban. It uses Federated Byzantine Agreement (FBA) "trust slices" (universities/employers) to verify engineering credentials. Features Soulbound Tokens (SBTs) for identity and privacy-first Soroban contracts for instant, cross-border professional verification.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 57.3%
  • TypeScript 28.9%
  • CSS 6.2%
  • JavaScript 6.1%
  • Shell 1.4%
  • HTML 0.1%