This page (revision-1) was last changed on 29-Nov-2024 16:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 133 lines
!!! Overview
[{$pagename}] is a [Hyperledger Project|Hyperledger] for supporting independent identity on [Permissioned Systems] [Public Ledger] [Distributed Ledger Technology] and part of the [Linux Foundation]
[{$pagename}] is used by the [Sovrin Foundation]
[{$pagename}] provides accessible [provenance] for [trust] to support user-controlled exchange of [Verifiable Claims] about an [identifier].
[{$pagename}] also has a rock-solid [revocation model] for cases where those [claims] are no longer true. [Verifiable Claims] are a key component of [{$pagename}]’s ability to serve as a universal platform for exchanging trustworthy [claims] about transactions. [Provenance] is the foundation of [accountability] through recourse.
Another vital feature of [Decentralized Identifier] [entity] & ??;especially for a public ledger—is [privacy]. [Privacy by Design] is baked deep into [{$pagename}] [architecture] as reflected by three fundamental features:
* [identifiers] on _[{$pagename}] are [Pairwise Pseudonymous Identifiers] by default to prevent [Identity Correlation]. [{$pagename}] is the first [Distributed Ledger Technology] to be designed around [Decentralized Identifiers] ([DIDs]) as the primary keys on the ledger. [Decentralized Identifiers] on the ledger point to [DID descriptor objects] ([DDOs]), signed [JSON Objects] that can contain [Public Keys] and service [endpoints] for a given identifier. [Decentralized Identifier] are a critical component of [{$pagename}]’s pairwise identifier architecture.
* [personal data] is never written to the [{$pagename}]. Rather all [private data] is exchanged over [Peer-to-peer] [Encrypted] connections between off-ledger agents. The ledger is only used for anchoring rather than publishing [encrypted] [data].
* [{$pagename}] has built-in support for [Zero-knowledge proofs] ([ZKP]) to avoid unnecessary disclosure of [identity Attributes]—privacy preserving technology that has been long pursued by [IBM] Research ([Identity Mixer]) and [Microsoft] ([U-Prove]), but which a public ledger for decentralized identity now makes possible at scale.
[{$pagename}] is all about giving identity owners independent control of their [personal data] and [relationships]. [{$pagename}] is built so that the owner of the [Digital Identity] is structurally part of transactions made about that identity. [Pairwise Pseudonymous Identifiers] stop [third parties|Third-party] from talking behind the identity owner’s back, since the identity owner is the only place [Pairwise Pseudonymous Identifiers] can be correlated.
!! [Indy]
[Indy] is an [Abbreviation] for [Independent Identity]
!! [{$pagename}] [Source code]
[{$pagename}] original [Source code] was donated to [Sovrin Foundation] by [Evernym INC.] who then contributed it to the [Linux Foundation]
!! DID [Classification]
Creation of a [DID] that is known to the [{$pagename}] is know as a [Verinym], and the [transaction] used for creating a [Verinym] is known as a [NYM] transaction.
!! [NYM Transaction]
NYM record is created by a for a specific user, [Trust Anchor], [Sovrin Stewards] or [trustee]. Note that only [trustees] and [Sovrin Stewards] can create new [Trust Anchors] and a [trustee] can be created only by other [trustees].
The transaction can be used for creation of new DIDs, setting and [Key Rotation] of [verification] [key], setting and changing of roles.
[{$pagename}] Transaction contains:
* dest (base58-encoded string):
** Target DID as base58-encoded string for 16 or 32 byte DID value. It differs from the from metadata field, where from is the DID of the submitter. Example: from is a DID of a Trust Anchor creating a new DID, and dest is a newly created DID.
* role (enum number as integer; optional): Role of a user that the NYM record is being created for. One of the following values
** None (common USER)
** 0 (TRUSTEE)
** 2 ([STEWARD|Sovrin Steward])
** 101 (TRUST_ANCHOR)
** A TRUSTEE can change any Nym’s role to None, thus stopping it from making any further writes.
* verkey (base58-encoded string, possibly starting with “~”; optional): Target verification key as base58-encoded string. It can start with “~”, which means that it’s an abbreviated verkey and should be 16 bytes long when decoded, otherwise it’s a full verkey which should be 32 bytes long when decoded. If not set, then either the target identifier (did) is 32-bit cryptonym CID (this is deprecated), or this is a user under guardianship (doesn’t own the identifier yet). [Verkey] can be changed to “None” by owner, it means that this user goes back under guardianship.
* alias (string; optional): NYM’s alias.
If there is no [NYM transaction] for the specified [DID] yet, then this can be considered as the [creation|Create] of a new [DID].
If there is already a NYM transaction with the specified [DID], then this is is considered an [update] of that [DID]. In this case only the values that need to be updated should be specified since any specified one is treated as an [update] even if it matches the current value in ledger. All unspecified values remain unchanged.
So, if [Key Rotation] needs to be performed, the owner of the [DID] needs to send a [NYM request] with did and verkey only. role and alias will stay the same.
!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]
----
* [#1] - [Hyperledger Geting Started|https://github.com/hyperledger/indy-sdk/blob/rc/doc/getting-started/getting-started.md|target='_blank'] - based on information obtained 2018-09-30-
* [#2] - [Indy SDK|https://github.com/hyperledger/indy-sdk/tree/rc|target='_blank'] - based on information obtained 2018-09-30-
* [#3] - [Hyperledger-github|https://github.com/hyperledger|target='_blank'] - based on information obtained 2018-09-30-