hackquest logo

ZK (Zero-Knowledge) attestation for Job Career History

ZK (Zero-Knowledge) attestation for Job Career History, which enable to resolve the problem of the CV/Resume, which includes "fake" career history, in job matching market.

Description

Tech Stack

  • ZK circuit: Implemented in Noir powered by Aztec

  • Smart Contract: Implemented in Solidity (Framework: Foundry)

  • Blockchain: Pharos (Devnet)

Deployed-smart contracts on Pharos (Devnet)

  • Deployed-smart contracts on Pharos (Devnet) is here.

Overview

  • In the Job matching market, a CV/Resume has histrically been used.

  • However, due to lack of validation method for recruiters and staff of HR department in companies to validate the Job Carreer History (i.e. Job Title and Skills), which is written in CV/Resume, malicious candidates can write a fake Job Carreer History in their CV/Resume. This is the problem of the fake CV/Resume in Job matching market.

  • This cause recruiters and staff of HR department in companies to misunderstand these malicious candidates, who submit a CV/Resume that includes fake Job Carreer History. In the worst case, these staff of HR department (or management team) in companies wrongly decide to hire these malicious candidates and this cause to mismatch and waste the cost and time to hire these malicious candidates.

  • This is where the ZK (Zero-Knowledge) attestation for Job Career History protocol comes in.

    ・This protocol would enable to recruiters and HR staff of companies can send a job offer to a candidate without checking additional evidences (i.e. Employment offer letter, Diploma, Certificates, etc). This lead to being able to prevent malicious candidates from submitting their CV/Resume, which includes a fake Job Career History (i.e. Job Title and Skills etc).

    ・This protocol would also enable a candidate to prove their Job Career History without submitting additional evidences, which may includes some sensitive informations.

    ・As we mentioned above, at the moment, this protocol would particulary focus on Job Title and Skills in the Job Career History. And therefore, the ZK circuit of this protocol will generate a ZK Proof, which prove Job Title and Skills as a proof of Job Career History.

Userflow

  • 1/ A candidate would send the input data, which includes Job Career History data (icl. Job Title and Skills) to the ZK circuit-written in Noir.

  • 2/ A new ZK (Zero-Knowledge) Proof would be generated via ZK circuit and then the candidate would receive it /w public inputs (by downloading them in the form of a plain text file).

  • NOTE: This public inputs would includes only data, which can be disclosed as a public data. (The sensitive data is not included)

  • 3/ The candidate would call the submitJobCareerHistoryProof() in the JobMatchingPlatform.sol with a ZK Proof of Job Career History and public inputs.

  • 4/ The JobMatchingPlatform.sol would call the verify() in the UltraVerifier.sol via the verifyJobTitlesAndSkillsProofVerifier() in the JobTitlesAndSkillsProofVerifier.sol in order to validate whether or not a given ZK Proof of Job Career History is a valid proof.

    ・Then, the verify() in the UltraVerifier.sol would return the result of validation to the JobMatchingPlatform.sol via the verifyJobTitlesAndSkillsProofVerifier() in the JobTitlesAndSkillsProofVerifier.sol.

  • 5/ If the result (return value) of ZK proof (icl. public inputs) validation from the step 4/ above would be true, the ZK Proof of Job Career History-submitted by the candidate will be saved in the JobMatchingPlatform.sol.

  • 6/ A recruiter or HR staff of company would send a job offer to the candidate based on that the ZK Proof of Job Career History-submitted by the candidate has already been saved in the JobMatchingPlatform.sol.

Diagram of Architecture (Userflow)

NOTE:

  • The JobMatchingPlatform.sol (icl. submitJobCareerHistoryProof()) in the diagram above is an example smart contract. (Not implemented yet)

  • Any project, which hope to integrate the JobTitlesAndSkillsProofVerifier.sol, can freely implement an custom contract like JobMatchingPlatform.sol in the diagram above that handle a insurance payout

Progress During Hackathon

Deployed on Pharos Devnet.

Tech Stack

Noir
Zero-Knowledge
ZK circuit
Foundry
Solidity

Fundraising Status

Nothing

Team LeaderMmasaun
Sector
SocialFiOtherInfra