Skip to content

Commit 4969b04

Browse files
committed
Update after move to new GitHub org
Signed-off-by: Stephen Curran <swcurran@gmail.com>
1 parent b89a3b4 commit 4969b04

11 files changed

Lines changed: 20 additions & 20 deletions

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
"name": "indy-did-method",
33
"description": "DID Indy DID Method Specification",
44
"version": "0.1.0",
5-
"homepage": "http://hyperledger.org",
5+
"homepage": "https://www.lfdecentralizedtrust.org/",
66
"license": "Apache 2",
77
"repository": {
88
"type": "git",
9-
"url": "git://github.com/hyperledger/indy-did-method"
9+
"url": "git://github.com/hyperledger-indy/indy-did-method"
1010
},
1111
"dependencies": {
1212
"spec-up": "0.10.6"

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Indy DID Method
22

3-
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/hyperledger/indy-did-method)
3+
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/hyperledger-indy/indy-did-method)
44

55
This repository contains the source for the Indy DID Method specification. The initital content was transferred from a [collaborative HackMD document](https://hackmd.io/2IKUPROnRXW57Lmal_SGaQ).
66

spec/0_header.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Indy DID Method
55

66
**Latest Draft:**
77

8-
[https://github.com/hyperledger/indy-did-method](https://github.com/hyperledger/indy-did-method)
8+
[https://github.com/hyperledger-indy/indy-did-method](https://github.com/hyperledger-indy/indy-did-method)
99

1010
**Editors:**
1111

@@ -25,7 +25,7 @@ Indy DID Method
2525

2626
**Participate:**
2727

28-
~ [GitHub repo](https://github.com/hyperledger/indy-did-method)
29-
~ [Commit history](https://github.com/hyperledger/indy-did-method/commits/main)
28+
~ [GitHub repo](https://github.com/hyperledger-indy/indy-did-method)
29+
~ [Commit history](https://github.com/hyperledger-indy/indy-did-method/commits/main)
3030

3131
------------------------------------

spec/10_original_did_operations.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## did:indy Operations
22

3-
There is a description of types and operations that are available in case of using [`indy-node`](https://github.com/hyperledger/indy-node) with [`indy-plenum`](https://github.com/hyperledger/indy-plenum) repositories.
3+
There is a description of types and operations that are available in case of using [`indy-node`](https://github.com/hyperledger-indy/indy-node) with [`indy-plenum`](https://github.com/hyperledger-indy/indy-plenum) repositories.
44

55
### Creation
66

@@ -32,7 +32,7 @@ The NYM transaction `version` is distinct from the DID version described [below]
3232

3333
#### Backwards Compatibility
3434

35-
Prior to `did:indy`, the unenforced convention in the [Indy SDK](https://github.com/hyperledger/indy-sdk) was to use the following to demonstrate the relationship between the DID and its initial verkey: `For an Ed25519 key: Convert into Base58char the first 16 bytes of the 256 bit public key (verkey).` If the `did:indy` approach to verifying the relationship between the DID and its initial verkey fail, a client resolving a DID MAY attempt to verify the relationship using the old Indy SDK convention.
35+
Prior to `did:indy`, the unenforced convention in the [Indy SDK](https://github.com/hyperledger-indy/indy-sdk) was to use the following to demonstrate the relationship between the DID and its initial verkey: `For an Ed25519 key: Convert into Base58char the first 16 bytes of the 256 bit public key (verkey).` If the `did:indy` approach to verifying the relationship between the DID and its initial verkey fail, a client resolving a DID MAY attempt to verify the relationship using the old Indy SDK convention.
3636

3737
When using the old Indy SDK convention of using the first 16 bytes of the verkey, related convention allowed for the placement of a shortened verkey (prefixed with `~`) in the NYM `verkey` field, such that the full verkey was dynamically generated by combining the DID and shortened verkey. That convention is **NOT** used in "did:indy", but client resolvers using DIDs created prior to `did:indy` MUST detect and convert shortened verkeys to full verkeys as necessary.
3838

spec/11_besu_did_operations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## did:indy:besu Operations
22

3-
There is a description of a storage format, types and operations that are available in case of using [`indy-besu`](https://github.com/hyperledger/indy-besu) repository.
3+
There is a description of a storage format, types and operations that are available in case of using [`indy-besu`](https://github.com/hyperledger-indy/indy-besu) repository.
44

55
### Storage format
66

spec/15_security_considerations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Residual risks for Hyperledger Indy include:
7676

7777
### Integrity protection and update authentication for method operations and write authorization
7878

79-
For all write operations that alter the ledger data(Create, Update, Deactivate) the appropriate signatures are needed, where the DIDs and Verification Method public keys (`verkey`s) of the signatories must be one the ledger. The client signs the body of the [write request](https://github.com/hyperledger/indy-node/blob/master/docs/source/requests.md#reply-structure-for-write-requests) (`txn`) for indy-node and [EIP1559 transactions](https://besu.hyperledger.org/23.4.0/public-networks/concepts/transactions/types#eip1559-transactions) for indy-besu, depending on the configured ledger rules, some transactions might require signatures from multiple DIDs. The Indy ledger processes the signed write request and the software enforces the integrity protection by checking the validity of the given signatures and their authorization. No authentication or authorization is required for read requests.
79+
For all write operations that alter the ledger data(Create, Update, Deactivate) the appropriate signatures are needed, where the DIDs and Verification Method public keys (`verkey`s) of the signatories must be one the ledger. The client signs the body of the [write request](https://github.com/hyperledger-indy/indy-node/blob/master/docs/source/requests.md#reply-structure-for-write-requests) (`txn`) for indy-node and [EIP1559 transactions](https://besu.hyperledger.org/23.4.0/public-networks/concepts/transactions/types#eip1559-transactions) for indy-besu, depending on the configured ledger rules, some transactions might require signatures from multiple DIDs. The Indy ledger processes the signed write request and the software enforces the integrity protection by checking the validity of the given signatures and their authorization. No authentication or authorization is required for read requests.
8080

8181
As indy-node currently only provides a single `verkey` for authentication, this exposes a risk of loss of control if the private key for the DID Controller is lost.
8282

@@ -94,7 +94,7 @@ No endpoint authentication is used other than the trusted node keys from the gen
9494

9595
### Protection of data
9696

97-
Transaction data on the ledger stored by the nodes is protected for integrity by maintaining cryptographically signed root hashes of the [merkle tree](https://github.com/hyperledger/indy-plenum/blob/master/docs/source/storage.md) for indy-plenum and [Ethereum merkle tree](https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) for indy-besu, that includes all transactions of the ledger. Data is not protected for integrity as all data is inherently public anyway.
97+
Transaction data on the ledger stored by the nodes is protected for integrity by maintaining cryptographically signed root hashes of the [merkle tree](https://github.com/hyperledger-indy/indy-plenum/blob/master/docs/source/storage.md) for indy-plenum and [Ethereum merkle tree](https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) for indy-besu, that includes all transactions of the ledger. Data is not protected for integrity as all data is inherently public anyway.
9898

9999
### Protection of Key Material
100100

@@ -104,7 +104,7 @@ The ledger nodes are operating with the Validator BLS key, which is stored in so
104104

105105
### Peer-to-Peer Computing resources
106106

107-
The RBFT algorithm in indy-plenum was initially designed as a robust Consensus protocol that limits the effect of malicious nodes. However, this requires some computations that limits the efficiency and scalability of the consensus. It ist strongly advised to not increase the number of validator nodes above 25. Hyperledger Indy was designed with very limited number of write requests, but very efficient read requests (only one node needs to be queried). If scalability issues still arise, the concept of [Observer nodes](https://github.com/hyperledger/indy-plenum/blob/master/design/observers.md) can be implemented.
107+
The RBFT algorithm in indy-plenum was initially designed as a robust Consensus protocol that limits the effect of malicious nodes. However, this requires some computations that limits the efficiency and scalability of the consensus. It ist strongly advised to not increase the number of validator nodes above 25. Hyperledger Indy was designed with very limited number of write requests, but very efficient read requests (only one node needs to be queried). If scalability issues still arise, the concept of [Observer nodes](https://github.com/hyperledger-indy/indy-plenum/blob/master/design/observers.md) can be implemented.
108108

109109
For networking Hyperledger Indy Besu uses Hyperledger Besu. It implements Ethereum's devp2p network protocols for inter-client communication, along with an additional sub-protocol for IBFT2 consensus:
110110
- Discovery: A UDP-based protocol for finding peers on the network

spec/3_indy_ledger_object_glossary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ credential validation and can be [read](https://hyperledger-indy.readthedocs.io/
6262
[[def: Indy VDR]]
6363

6464
~ Hyperledger Indy VDR (for "Verifiable Data Registry") is an open source implementation of an Indy client/resolver for both DIDs and other Indy objects.
65-
The repository is called indy-vdr and can be found [here](https://github.com/hyperledger/indy-vdr).
65+
The repository is called indy-vdr and can be found [here](https://github.com/hyperledger-indy/indy-vdr).
6666

6767
[[def: Indy Besu VDR]]
6868

69-
~ Hyperledger Indy Besu VDR (for "Verifiable Data Registry") is an open source implementation of an Indy Besu client/resolver for both DIDs and other Indy objects. The repository is called indy-besu contains Indy Besu VDR [here](https://github.com/hyperledger/indy-besu/tree/main/vdr).
69+
~ Hyperledger Indy Besu VDR (for "Verifiable Data Registry") is an open source implementation of an Indy Besu client/resolver for both DIDs and other Indy objects. The repository is called indy-besu contains Indy Besu VDR [here](https://github.com/hyperledger-indy/indy-besu/tree/main/vdr).

spec/4_differences_from_did_sov.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ The idea is using of a basic mapping between other DIDs identifiers and Ethereum
3030

3131
### Migration from `did:indy` to `did:indy:besu`
3232

33-
At some point company managing (Issuer,Holder,Verifier) decide to migrate from [Indy Node](https://github.com/hyperledger/indy-node) to [Indy Besu Ledger](https://github.com/hyperledger/indy-besu).
33+
At some point company managing (Issuer,Holder,Verifier) decide to migrate from [Indy Node](https://github.com/hyperledger-indy/indy-node) to [Indy Besu Ledger](https://github.com/hyperledger-indy/indy-besu).
3434

3535
In order to do that, their Issuer's applications need to publish their data to Indy Besu Ledger.
3636
Issuer need to run migration tool manually (on the machine containing Indy Wallet storing Credential Definitions) which migrate data.

spec/7_indy_did_method_identifiers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
The did:indy Method DID identifier has four components that are concatenated to make a DID specification conformant identifier. The components are:
44

55
- **DID**: the hardcoded string `did:` to indicate the identifier is a DID.
6-
- **DID Indy Method**: the hardcoded string `indy:` indicating that the identifier uses this DID Method specification. The hardcoded string `indy:besu:` indicates the use of [`indy-besu`](https://github.com/hyperledger/indy-besu) implementation for Indy DID Method.
6+
- **DID Indy Method**: the hardcoded string `indy:` indicating that the identifier uses this DID Method specification. The hardcoded string `indy:besu:` indicates the use of [`indy-besu`](https://github.com/hyperledger-indy/indy-besu) implementation for Indy DID Method.
77
- **DID Indy Namespace**: a string that identifies the name of the primary Indy ledger, followed by a `:`. The namespace string may optionally have a secondary ledger name prefixed by a `:` following the primary name. If there is no secondary ledger element, the DID resides on the primary ledger, else it resides on the secondary ledger. By convention, the primary is a production ledger while the secondary ledgers are non-production ledgers (e.g. staging, test, development) associated with the primary ledger. Examples include, `sovrin`, `sovrin:staging` and `idunion`.
88
- **Namespace Identifier**: an identifier unique to the given DID Indy namespace.
99
- The identifier may be self-certifying, meaning that the identifier is derived from the initial verkey associated with the identifier. See the [DID Creation](#nym-transaction-version) section of this document for the derivation details.

spec/8_other_indy_ledger_object_identifiers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ The following sections cover each ledger object type, providing:
3232
- notes about the elements of the pre-`did:indy` identifier.
3333

3434
This first version of the `did:indy` DID Method will use an `<object-family>` value of `anoncreds` and an `<object-family-version>` of `v0` to match the
35-
pre-specification, open source version of anoncreds as implemented in the [indy-sdk](https://github.com/hyperledger/indy-sdk/tree/master/docs/design/002-anoncreds).
35+
pre-specification, open source version of anoncreds as implemented in the [indy-sdk](https://github.com/hyperledger-indy/indy-sdk/tree/master/docs/design/002-anoncreds).
3636
Later versions of the `did:indy` specification will use a higher `<object-family-version>` as the AnonCreds standardization work proceeds
3737
and the required dependency on Hyperledger Indy is removed. In this initial version, the DID URLs are closely aligned with the existing object identifiers.
3838

0 commit comments

Comments
 (0)