You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Indy DID Method
2
2
3
-
[](https://gitpod.io/#https://github.com/hyperledger/indy-did-method)
3
+
[](https://gitpod.io/#https://github.com/hyperledger-indy/indy-did-method)
4
4
5
5
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).
Copy file name to clipboardExpand all lines: spec/10_original_did_operations.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## did:indy Operations
2
2
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.
4
4
5
5
### Creation
6
6
@@ -32,7 +32,7 @@ The NYM transaction `version` is distinct from the DID version described [below]
32
32
33
33
#### Backwards Compatibility
34
34
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.
36
36
37
37
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.
Copy file name to clipboardExpand all lines: spec/11_besu_did_operations.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## did:indy:besu Operations
2
2
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.
Copy file name to clipboardExpand all lines: spec/15_security_considerations.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,7 @@ Residual risks for Hyperledger Indy include:
76
76
77
77
### Integrity protection and update authentication for method operations and write authorization
78
78
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.
80
80
81
81
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.
82
82
@@ -94,7 +94,7 @@ No endpoint authentication is used other than the trusted node keys from the gen
94
94
95
95
### Protection of data
96
96
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.
98
98
99
99
### Protection of Key Material
100
100
@@ -104,7 +104,7 @@ The ledger nodes are operating with the Validator BLS key, which is stored in so
104
104
105
105
### Peer-to-Peer Computing resources
106
106
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.
108
108
109
109
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:
110
110
- Discovery: A UDP-based protocol for finding peers on the network
Copy file name to clipboardExpand all lines: spec/3_indy_ledger_object_glossary.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,8 +62,8 @@ credential validation and can be [read](https://hyperledger-indy.readthedocs.io/
62
62
[[def: Indy VDR]]
63
63
64
64
~ 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).
66
66
67
67
[[def: Indy Besu VDR]]
68
68
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).
Copy file name to clipboardExpand all lines: spec/4_differences_from_did_sov.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ The idea is using of a basic mapping between other DIDs identifiers and Ethereum
30
30
31
31
### Migration from `did:indy` to `did:indy:besu`
32
32
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).
34
34
35
35
In order to do that, their Issuer's applications need to publish their data to Indy Besu Ledger.
36
36
Issuer need to run migration tool manually (on the machine containing Indy Wallet storing Credential Definitions) which migrate data.
Copy file name to clipboardExpand all lines: spec/7_indy_did_method_identifiers.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
The did:indy Method DID identifier has four components that are concatenated to make a DID specification conformant identifier. The components are:
4
4
5
5
-**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.
7
7
-**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`.
8
8
-**Namespace Identifier**: an identifier unique to the given DID Indy namespace.
9
9
- 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.
Copy file name to clipboardExpand all lines: spec/8_other_indy_ledger_object_identifiers.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ The following sections cover each ledger object type, providing:
32
32
- notes about the elements of the pre-`did:indy` identifier.
33
33
34
34
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).
36
36
Later versions of the `did:indy` specification will use a higher `<object-family-version>` as the AnonCreds standardization work proceeds
37
37
and the required dependency on Hyperledger Indy is removed. In this initial version, the DID URLs are closely aligned with the existing object identifiers.
0 commit comments