Skip to content

[ZK] ZK freelancer credentials (Sybil resistance) #37

Description

@Gbangbolaoluwagbemiga

User story

The marketplace needs Sybil resistance: prevent one person from spinning up many wallets to farm
reputation or spam applications — without forcing freelancers to dox their identity on-chain.

What needs to be done

  • Choose a credential source (e.g. a privacy-preserving identity/KYC provider, proof-of-personhood,
    or verifiable skill credential) — evaluate in [ZK] Research spike: ZK verification on Soroban #35
  • Issue a nullifier so each real human can register at most one verified marketplace identity,
    while the wallet ↔ identity link stays private
  • Contract: store the nullifier set; reject re-use; expose is_verified(address)
  • Frontend: "Verified human / credentialed" badge on freelancer profiles and applications

Acceptance criteria

  • One person cannot verify two wallets (nullifier collision rejected)
  • Wallet identity is not revealed on-chain
  • Verified status surfaced in FreelancersPage and application views

Relevant files

contracts/secureflow/src/marketplace.rs, src/pages/FreelancersPage.tsx

Depends on #35.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew product capabilityzkZero-knowledge / privacy

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions