w3c/vc-data-model

Do VCs support transferrability?

isaackps opened this issue · 2 comments

Hi!

I have been working with VC for some time and would like to know if there is any Transferable feature within the VC space.

I currently am working on TradeTrust and we have a way of transferring a VC, our implementation requires a blockchain though.

www.tradetrust.io

We are open source.

Our idea: https://docs.tradetrust.io/docs/topics/introduction/transferable-records/overview

We are currently working on extracting this NFT portion and replacing our existing Verifiable Document with a Verifiable Credential.

How we are doing it thus far:

  • We create a smart contract ledger that stores the list of issued document hash
  • we map the document hash to a new smart contract that stores the owner and holder identities (in this case, we use a wallet address for the identities, since we are using EVM compatible DLTs) as shown in the diagram below
  • when we do a transfer we are updating the smart contract with the new owner and holder identities
  • we are not storing any document data (credentialSubject data) on the EVM compatible DLTs
  • With this approach, we find that the document can still be temper proof and able keep its data integrity

Any inputs at this point is good! Thanks in advance!

You can play around with issuing our version of transferable VC here: https://creator.tradetrust.io/
and verify our version of transferable VC here: https://www.tradetrust.io/verify

Note: Please ignore the Verifiable Document portion for now.

I am aware of a few projects (under NDA) that utilize some form of transferrability. Of these systems that use blockchains, they use NFTs to identify who has the ability to initiate a transfer and/or who the current "owner" is. These systems tend to be so use case specific that, while we can see a general pattern, it will probably be a few years before we can standardize anything (and we expect the standardization to happen in the particular market vertical instead of being done at W3C).

At present, it seems as if VCs are used for portable reporting of who has current "control" of the NFT/item, and where you can go to find out the latest information. We have seen systems automatically issue new VCs when ownership shifts. So, the VCs become some sort of "point in time snapshot" of the ownership of an item with a pointer to the system of record (which is sometimes a blockchain, sometimes a centralized mainframe, and other variations of distributed systems).

So, the answer to your question is: Yes, VCs can support transferrability, but the mechanisms tend to be quite use case specific and there doesn't seem to be a common pattern yet that we could standardize.

People seem to be creating extension vocabularies to support the concept of transferrability and we will need a few more years of innovation before we can consider generalized approaches worth standardizing. We are past the point where we can add new features to the VC specification (we entered feature freeze back in Feb 2024), so are not going to be able to do much beyond answering your question here.

Does that help, @isaackps -- were you looking for a different answer from us? If it addresses your question, please let us know so we can schedule this issue for closure. We are required to have every issue closed before we can proceed to a global standard.

I was able to speak with the Trade Trust team and able to provide more feedback to them. They are doing some interesting work in the area of "transferrable VCs" that are tied to NFTs on blockchains. They would like to be involved if the VCWG does work on the topic of "transferrable VCs". I clarified that those use cases are not currently in the VCWG Charter and we are past the point of adding new features in our charter lifecycle. I noted that we will definitely reach out to them if work in that area is something a future VCWG Charter covers.

I'm marking this issue as pending close since no immediate action needs to be taken by the VCWG. Once the issue is closed, feel free to re-open the issue if you feel differently @isaackps.