Hyperledger Indy: Blockchain Identity Project

Puneet Kumar
Akeo
Published in
3 min readApr 19, 2019
Hyperledger Indy

Hyperledger Indy provides tools, libraries, and reusable components for providing digital identities rooted on blockchains or other distributed ledgers so that they are interoperable across digital networks, administrative domains, applications.

Once an identity is created, the user can even assign a human-memorable name for their identity. On the ledger, the identity name is converted into a unique identity key called DID (decentralized identifiers). Different individual or organization can communicate with each other using these DIDs.

Digital Identity

A digital identity is the information of an entity used by computer systems to represent an external agent and get recognized in a network. Digital Identity provides authorization and authentication factors of a node when a node operates in a network.

The real-world example of digital identities are passports which identifies a person with authenticity.

What is a Self-Sovereign Identity?

Self-sovereign identity is the concept that people and businesses can control their own identity data on their own devices, and provide it efficiently to those who need to validate it, without relying on a central repository of identity data.

So, we can say that self-sovereign identity is a modified version of digital identity which is decentralized to maximize security. Previously, most of the digital identities were stored on centralized database which increased the chance of financial fraud and data breaches. But in case of self-sovereign identity, identities are issued by Hyperledger Indy and are controlled by a person or organization itself so that all the data become decentralized. The whole process is explained below -

Here, we have a Claim Issuer, Claim Holder and Claim Verifier. In this case, claim holder wants to get a claim which should be issued by the Department of Motor Vehicles(DMV) and must be verified by lawyers(Bar Association).

Firstly, DMV will sign the claim using its SSID and then claim will be issued to claim holder. Once the claim is issued then claim holder will sign the issued claim using his/her SSID and present the claim to bar association. Bar association will then verify the claim sung their SSID. All these transactions will be stored on blockchain so that they cannot be altered and can always be referred back.

In this way, Self-Sovereign Identity plays a huge role in authenticating and verifying an entity in a network.

Key Features of Hyperledger Indy-

  1. Hyperledger Indy provides a distributed ledger to provide decentralised identities.
  2. DIDs (Decentralized Identifiers) that are globally unique and resolvable (via a ledger) without requiring any centralized resolution authority.
  3. Zero Knowledge Proofs which prove that some or all of the data in a set of Claims is true without revealing any additional information, including the identity of the prover
  4. Provides identities which ensures -
  • Control — User can control their own identity.
  • Access — Access to their own data.
  • Transparency — Every entity is visible to every other entity.
  • Interoperability — Identities can be used by anyone on the network.
  • Consent — Agreement on using their own identity.
  • Existence — Provide user an independent existence.
  • Longevity — Exists as long as user wishes.
  • Portability — Transportable Identifiers.
  • Minimization — Disclosure of claims are minimized.
  • Protection — The rights of user’s are protected.

Hyperledger Indy Components

a) Indy-Node

b) Indy-Agent

  • Agents are a combination of functionality and storage that communicate via messages with other Agents. Agents are responsible for asking controlling identities and carrying them to other agents to create connection.

c) Indy-Ledger

  • Provides a simple, python-based, immutable, ordered log of transactions backed by a merkle tree.
  • This is an efficient way to generate verifiable proofs of presence and data consistency.

You can read about how to set up Hyperledger blockchains here:

  • Hyperledger Sawtooth
  • Hyperledger Fabric Network

--

--