Major Change from V2
Here are some of the major changes from OpenAttestation v2 Data Model
@context
The @context
property is now introduced as per W3C VC Care Data Model to allow the issuer to map such short-form aliases to the URIs required by specific verifiable credentials and verifiable presentations.
OpenAttestation has released our extension to W3C credentials context via https://schemata.openattestation.com/com/openattestation/1.0/OpenAttestation.v3.json
.
credentialSubject
Previously stored in the data
key, the claims about the subject of the credential are now to be placed in the credentialSubject
field.
openAttestationMetadata
Previously mixed into the data
object, additional metadata that are crucial in the role of verification of document integrity or provenance and display of document are now moved into the openAttestationMetadata
field.
issuer
Instead of allowing for multiple issuers as found in OA v2, version 3 restricts that there may only be one named issuer
of verifiable credentials. For use cases where there is need for different entities to come together to co-issue the document, the entities will need to choose a way to signal intent from multiple participants on the blockchain
Data access
In the previous version, every value in the document is made into a string with a random salt pre-pended as a mean to protect against rainbow table attack on obfuscated value. This results in the need for the getData
method which strips the salt and change the type of the value back to the original type.
In the upgrade, the random salts has been moved to proof.salts
to be pre-pended to the individual values only at the checksum verification stage. This allows the data of the VC to be directly accessible without the getData
method.