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.
Smart Contract: Implemented in Solidity (Framework: Foundry)
Blockchain: Pharos (Devnet)
Pharos
(Devnet)Deployed-smart contracts on Pharos
(Devnet) is here.
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
.
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): https://github.com/masaun/ZK-attestation-for-job-career-history/blob/main/doc/diagram/diagram_ZK-attestation-for-job-career-history.jpg
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
Deployed on Pharos Devnet.
Nothing