A Verifiable Credential is a signed piece of information issued from the Credential Definition, which is generated from the structured list of typed attributes defined in the Credential Schema. A Credential Schema can be created and owned by only one service but a Credential Definition can be generated by one service and either be used privately by that service or made public for use by any other services. This approach allows verification of trust chains, selective disclosure, and Zero-Knowledge predicates/proofs upon credential attributes. Credential definitions may be of two types: Self Attested and Service Attested. Self Attested means that a user should fill in the information in the app to send it to a service. Service Attested means that a credential will be created, signed, and issued by the service to a user.
Service (Issuer) Holder
Credential Schema → Credential Definition → Verifiable Credential