Litepaper: Proof of Experience

Curriculum Vitae can be translated with course of life, most know it as CV. It’s a document written by someone applying for a job, listing his skills and experiences, hoping to convince the reader to employ him. This is where the main issue lies. Trust. How can the reader know the applicant has not made the whole thing up or has at least exaggerated to sound more fit for the job? Just from the CV, he can’t.

After reading the CV, he needs job interviews, background checks and assessment centres. A painful process for both applicant and employer. The pain gets multiplied when applying for a freelance gig lasting only a few weeks. Without a relationship or network in place, it is hard to get a job without going through many interviews and tests. Simplifying and shortening this process with trust, would add a lot of value.

How to prove experience

 

The big question; how to prove experiences or skills? An appraisal letter by a former boss, a certificate of a degree, a job interview or an assessment centre are all classic ways of verifying experience. But most of them are very time consuming.

LinkedIn has a more modern approach to this problem. 1st-degree connections on the social network can endorse skills maintained in a profile. The more endorsements a skill receives, the higher its weighting on the LinkedIn search engine. A JavaScript frontend development skill endorsed by 20 peers, will give a recruiter some confidence on the truth of this claim. Still, peers probably do not want to harm each other and might endorse skills as a favor.

For people working in the digital world, things are a bit easier. A writer can link to his blog or  articles and prove, by showing stats on readers, likes or engagements, how good her skill is. A developer, especially in the open source world, can link to GitHub and show how much she has committed to projects and how popular these projects are (stars). A designer might do something similar with her portfolio.

Another traditional way of proving experience can be found in the freelance world.  Freelancers get jobs mostly by referrals from satisfied clients. Often word of mouth is a better proof of experience than credentials or the CV. Freelance platforms like Fiverr and Upwork take this to the next level by using reviews of past engagements. After a completed job and payment, the client can review the freelancer, her ability to deliver the job and with that help others uncertain about the claimed skills.

Some jobs are easier to prove than others. Project Managers, closed source developers, consultants, product managers or accountants won’t be able to rely on digital content but will have to use the traditional ways described earlier.

Let’s summarize. An experience is provable in the following ways:

  • Appraisal letter from an employer 

  • Certificate from university or other formal training

  • Assessment centre testing your experience or background checks

  • Endorsements from peers (like on LinkedIn)

  • Digitally on GitHub, blogs or portfolios

  • Review of completed work on freelance platforms

Digital verification of experiences

 

Blockchain with its distributed ledger has opened up many possibilities. Specifically the issuance and usage of tokens. A token with certain properties can be minted onto the blockchain and everyone is able to inspect properties and transaction history of this token. Once on the blockchain the information cannot be altered, ie. it can be trusted that if it has been issued correctly, it must still be valid. 

What if a CV could consist of a bunch of tokens or badges representing your verified experiences that can’t be altered? A CV could simply be a wallet on Ethereum holding a bunch of NFT like tokens. Just that they would need to be non transferable and non fungible. Dan Romero has posted an overview of ERC token standards (or still to be standards) in this area:

Every experience, training or job, could mint such a token. The collection of all these tokens in a user’s wallet makes up the CV. Applying for a job could then just be a link to your wallet address on etherscan.

The issue remaining is how to ensure such an NTNFT can actually be minted with a proper verification of the experience it is representing? An NTNFT could be a college degree and in order to receive it into a wallet, it would need to be minted by a University after passing all exams. Singapore has worked on Opencerts which issues a digital representation of a certificate onto the Ethereum blockchain. This shows that institutions are willing and open to participate. An institution that wants to join Opencert will need to register with SkillFuture Singapore. 

Any such process involving an institution is simple. The institution needs to be authorised to mint tokens and can then issue certificate tokens into wallets. The same process works for employment. As long as the employer is authorised to mint NTNFTs, it can do so on request of the employee and transfer it to his wallet. The token will then confirm the role and experience in the role. It is signed by the private key of the employer, which due to its authorisation, will properly verify an experience.

Without institutions

The whole verification process gets more complicated without an institution. Looking at our provable experiences, the following would be issued not from a central authority:

  • Endorsements from peers (like on LinkedIn)

  • Digitally on GitHub, blogs or portfolios

  • Review of completed work on Freelance platforms

LinkedIn like endorsements

 

LinkedIn’s endorsement concept is an interesting way to prove experience within a network. More peers endorsing a skill, in theory, add more credibility to that skill. Endorsing peers however does not cost anything, so it’s purely based on reciprocity. Which in this context is only partially desired, as endorsements should only be given for genuine experiences not because the giver expects an endorsement in return. This process is hard to control, so LinkedIn asks about the quality of the skill and how you found out about it, to put endorsements into some perspective.

The second thing that needs to be prevented is fake endorsements. What stops someone from buying endorsements, just like buying fake reviews for Amazon? If it’s free to create an endorsement, any zero experience wallet can simply endorse others. The system can be tricked by creating fake accounts that endorse others (sybil attack). There needs to be some incentive or cost in the system to prevent this behavior. A wallet could be required to have a minimum amount of experience or endorsements to be able to endorse others. Or endorsements could be weighted based on the experience of the endorser, which would make it harder to fake in a meaningful way. LinkedIn has a similar approach by showing whether skills have been endorsed by people with the same skills.

LinkedIn could be used as an API to fetch endorsements and process them, but LinkedIn is a centralised institution and could turn off, censor or change its service at any time. Maybe LinkedIn could even act as an institution and mint experiences tokens based on the content in their systems.

Platform content

 

For open source developers, a link to their Github account has become part of the CV. A  Github profile will tell a lot about a developer. Contributions to projects show the activity, star ratings indicate the importance of projects and since coding and documentation is displayed publicly it is a good source to check the style. Some of this information is available via the Github API (or its extract) and could thus be checked automatically when proving  experience. A research paper describes how to extract job relevant information from Github to match to a job search. This is a good foundation and could be used to extract relevant skills and mint them as verified experiences into a user’s wallet.

A similar approach could be used for writers, who publish their content. If writings are available online and the platform has an API, a good metric to verify the skill would be the number of reads and engagements of the writings. Text Mining could even be used to automatically categorise the article if the publication platform does not provide this information.

Freelance platforms

 

Freelance platforms potentially offer another great source of information on skills. They typically track the process of job posting (including scope), job assignment and payment.  The best proof of experience is a number of completed and paid jobs – the more the better. Successful freelancers on platforms like Upwork and Fiverr have a whole list of jobs that have been completed, paid for and potentially even rated/reviewed by clients. This is a great source of proof of experience if it can be tapped into (Upwork has an API providing skills). 

The combination of experience verified by institutions and verified by content on platforms, can create a good summary and with that build a verified digital CV. 

Ecosystem Participants

 

The main part of the ecosystem will be an NTNFT (or similar) token. It can be minted into users wallets by network participants and will hold information about the experience, degree or skill. It is not transferable, like a college degree is not transferable and non fungible. Non fungible means it is not interchangeable with another person’s college degree since that might have different subjects and grades.

  • Front and center is the Experience Wallet. Anyone can create one but there might be some boundaries to what an experience or skill is and what can be added.

  • Users working for a company or studying for a degree, can request a verified experience to be minted by the institution

  • Institutions themselves will need to be verified, before being able to mint experience tokens. A possible way to add institutions is by consensus vote via the protocol token. If a large enough user base supports verification of the institution, it will be  allowed to mint verified experiences. 

  • Adding verified experiences does not cost institutions anything, but without incentive and sufficient pressure from employees or students, they might still be slow to adopt. The protocol could thus pay institutions tokens for verifying experience, which in turn might cause artificial creation of experiences to retrieve tokens as rewards.

  • The main income stream of the protocol could be via an experience search. Although it is unclear how to monetize public access to this openly available data. If a large enough user base is achieved, the protocol will be a great source for recruiters and headhunters to search for suitable employees. Every search could be charged tokens, that in turn reward verifiers. 

  • As a machine readable, proven record of experience, the experience search will be a valuable tool for recruiters. A CV does not have a standardised format and most information in it still requires verification. Using the protocol thus brings significant benefits compared to common job platforms. Employers can save time on validation and background checks.

  • The second and more flexible way of verifying experiences will be verifiers. In the simplest form this could be an entity connecting to APIs to verify the provided information as described in the section above. 

  • To become a verifier, the type of verification will need to be approved by the protocols governance (GitHub, writer, Designer, Freelance platforms etc.). This too can happen via consensus vote.

  • It is important that verification stays open to new proposals and mechanisms as only an open ecosystem will allow staying on top of rapidly evolving technology. If a new type of experience verification comes up and can be approved, it should be implementable and connectable to the protocol by whoever sees a business case in doing so.

  • Verifiers might have to participate in a form of staking to ensure they act in the best interest of the network. Alternatively, they might be required to use an oracle to access off chain information. Chainlink already provides some of the infrastructure to do this. Their ChainLinkClient can be used to call external APIs and have the data validated across its nodes.

  • user can request verification of experience from the protocol. A mechanism to avoid spamming verifiers is by paying a small fee for a verification. This fee can be subsidised by the search fee paid by recruiters, so users won’t have to pay the full cost.

  • A missing building piece in this verification is how a user can prove that an online account, that is to be verified, is in fact his own account. A user can prove a wallet is his own by signing a transaction with the wallet’s private key, but the same does not work with a GitHub account. Bitclout.com and Mirror.xyz do a similar verification to connect the wallet to twitter by having users tweet their own public key. The platform then finds this message and checks whether it has been created by the account it wants to connect to. If all is correct the account is linked. A similar process could be implemented to prove one’s own account on GitHub or LinkedIn. InterRep describes a similar portable reputation solution. The team has built an MVP and has ideas on how to make the solution truly decentralised.

Security / Privacy

 

Implementing the proposed solution means storing experience and skill data on chain, publicly available for everyone to see. This raises privacy concerns as anyone could potentially look up an appraisal letter by a former employer, revealing private information. The wallet in which this information is stored is somewhat pseudonymous as one can’t derive the wallet holder’s details from it’s address. Yet still one could reverse engineer information from the experience and skills.

A solution that needs to be further explored is whether zero knowledge proofs could help hide some of the details. So the wallet would only show something like graphic design level 6 of 10 and the detailed information would be wrapped up only to be revealed on request.

Minimum viable product

 

NTNFT – non-transferable non-fungible tokens or badges are described in ERC 1238. The idea suits a certification or experience as it can’t be transferred to others. ERC 1238 is currently just a proposal that has not been implemented within the Ethereum network and thus won’t be supported easily by wallets etc. Smart contracts however can simply be created by anyone, so it wouldn’t be difficult to build this non transferable token.

The core features to make this work should include the token, the minting of tokens by institutions and verifiers and a search.

  • The token smart contract needs to have features described in ERC 1238. A token should be mintable only by authorised parties in the case of institutions. The token needs to have certain describing features like the type of skill, the level of experience and potentially a link to a digital version of a certificate. It’s debatable if a university degree is simply a hierarchy of these tokens.

  • The protocol will need an ERC 20 compliant governance token for voting and protocol incentives.

  • Minting a token should require paying a fee in the protocol’s governance token. This will need to be ensured in the protocols minting smart contract.

  • To mint tokens from sources other than institutions a verifier contract will need to take care of the process of verifying experience information from external sources. ChainLink’s API could be used to run this via an oracle. A simple source seems to be Upwork or Fiverr whose APIs offer access to reviews and skills of the profile. Once the information has been retrieved and checked via oracle, it can be minted as separate skills into a wallet. The verifier contract will need to be implemented specifically per third party source and this will need to take care of creating skills/experiences.

  • Skills across all wallets should be searchable. Either directly via etherscan or via a custom built search function usable by paying tokens.

Similar Product / Projects

 

Credly offers digital badges that can be used to verify skills on their platform. It’s a great idea and a step in the right direction, but it is not a decentralised solution and only covers credentials by certain institutions. An open ecosystem as described in this document has the benefits of opening up for innovators and new potential verification implementations and thus ideally creating a CV including all experiences and skills.

Skyllz is an interesting project with very similar goals that unfortunately has been retired as the team ran out of funding. I have been unable to get a copy of the whitepaper and thus do not have any details of why the project was not able to get additional funding and what the other challenges / learnings were. 

Velocity Network is planning to build a Career Record Store, allowing users to store proof of their skills and experience on chain. From the document it looks like Velocity Network is planning to build its own blockchain, which seems like a big task before getting to the actual app. The career records will be issued by institutions, so it most likely will only cover a part of an employee’s skills and might not be suitable for fast evolving ecosystems like web3. The whitepaper however mentions integration to freelancer platforms to retrieve data from past engagements which could be a great source of information in the gig economy and crypto industry. The team is very vague on how verifiers work, but it looks like they would pay a network fee to get access to an individual’s credentials.

Velocity Networks target customer/users are institutions as they will mainly benefit from checking an applicant’s verified details on a wallet. It will be easy to onboard institutions, but to onboard normal employees and get them to use a wallet instead of a CV won’t be easy. I believe in network effects and so the focus should be on the user, employee or applicant.

StickerCard.eth is an interesting project working on verified credibility and mainly focuses on credibility that can be derived from the information within a wallet.

Conclusion

 

The more I think about this solution, the more I want to personally use it in my professional life. A digital CV is what the growing ecosystem of gig economy and freelancers needs in order to thrive. I am keen to explore this topic further, build a prototype and work on a whitepaper getting into more details. I don’t intend to develop or build this closed source but would prefer an ecosystem working together in a DAO structure to advance this. If you are interested in participating or are aware of similar topics, please get in touch.