How to write verifiable credentials in golang

What is SSI (Self-sovereign identity)?

  • SSI is a term used to describe the digital movement that recognizes an individual should own and control their identity without the intervening administrative authorities.
  • SSI allows people to interact in the digital world with the same freedom and capacity for trust as they do in the offline world.
  • Allows to deliver only the information that is approved to receive
  • Establish a cryptographically secure distributed ledger recording transactions that prevents modification
  • No need to store personal data in a central repository
  • ”No one owns, everyone has access”

What is a credential ?

A qualification, achievement, quality, or aspect of a person’s background, especially when used to indicate their suitability for something.

  • Information related to the issuing authority
  • Information related to the type of credential this is
  • Information related to specific attributes or properties being asserted by the issuing authority about the subject
  • Evidence related to how the credential was derived
  • Information related to constraints on the credential

What is a verifiable credential?

  • It can represent the same information as a physical credential.
  • Can generate verifiable presentations that proof the holder holds the credential with the certain information
  • Could be transmitted rapidly

How to write a verifiable credential in golang?

Note: the code is written following the Verifiable Credentials Data Model 1.0

Software Developer | Blockchain enthusiast | SSI

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store