|
5 | 5 | --> |
6 | 6 | # Interoperation Identity Network |
7 | 7 |
|
8 | | -* Authors: Venkatraman Ramakrishna, Bishakh Chandra Ghosh, Krishnasuri Narayanam |
9 | | -* Status: Draft |
10 | | -* Since: 15-Oct-2020 |
| 8 | +* Authors: Venkatraman Ramakrishna, Bishakh Chandra Ghosh, Krishnasuri Narayanam, Ermyas Abebe |
| 9 | +* Status: Proposed |
| 10 | +* Since: 24-September-2021 |
11 | 11 |
|
12 | 12 |
|
13 | 13 | # Summary |
@@ -58,22 +58,6 @@ For each verifiable credential, the IIN must store the corresponding [schema](ht |
58 | 58 |
|
59 | 59 |
|
60 | 60 |
|
61 | | - |
62 | | -<!-- |
63 | | -An IIN contains the following: |
64 | | -* Identity record: `<DID>,<Service-Endpoint>` for each of the following: |
65 | | - * Every steward |
66 | | - * (If applicable) every trust anchor created by a steward of this IIN |
67 | | - * Every network unit certified by a steward or a trust anchor of this IIN |
68 | | -* Credential schemas corresponding to the following: |
69 | | - * Membership list for a network, with the following attributes: `<Network-ID>`, `[<DID1>,<DID2>,......]` |
70 | | - * Membership info for a network unit, with the following attributes: `<Network-ID>` (_Currently, this is the only attribute relevant for identify information sharing, but we can add more for other kinds of information sharing_) |
71 | | -* Credential definitions corresponding to the following: |
72 | | - * Membership list for a network: signing (issuing) key owned by a steward or trust anchor of this IIN |
73 | | - * Membership information for a network unit: signing (issuing) key owned by a steward or trust anchor of this IIN |
74 | | - * |
75 | | - * --> |
76 | | - |
77 | 61 | # IIN DID Method |
78 | 62 |
|
79 | 63 | An IIN can have any distributed DID registry based on any platform, provided it supports the DID method operations stated as follows: |
@@ -108,34 +92,3 @@ These trust anchors are entities that the participants trust and whose identity |
108 | 92 | ## IIN Agents |
109 | 93 |
|
110 | 94 | DLT networks interact with the IINs through a components called IIN Agent. Each participant unit in a DLT network has have atleast one IIN Agent using which it exposes its identity as well as discovers and verifies foreign network identities. The IIN Agents are detailed [here](./iin-agent.md). |
111 | | - |
112 | | - |
113 | | -<!-- |
114 | | -# IIN Structure and Bootstrap |
115 | | -
|
116 | | -This is a Hyperledger Indy network that is collectively managed by a set of _stewards_. For an IIN to facilitate bilateral interoperation between networks N1 and N2, the following constraint must hold: _for every unit in N1 and N2, there exists at least one steward that is trusted, directly or transitively, by that network unit_. |
117 | | -
|
118 | | -In the limiting, or trivial, case, an IIN can contain just one steward that is trusted by every unit in N1 and N2. For the purpose of our protocol, such a network would be functionally indistinguishable from, though less trustworthy than, a truly distributed IIN that contains multiple stewards representing trusted authorities that have agreed to join that IIN and are bound by a shared ledger. |
119 | | -
|
120 | | -_Proposal for initial implementation_: Build an IIN that contains four Indy nodes (as per the reference Indy implementation) and two stewards. This implementation will be non-trivial and will have one steward corresponding to each interoperating network (i.e., consortium) in at least some demo scenarios. _Example_: for interoperation between TradeLens and We.Trade, we build an IIN containing two stewards by default: one representing Maersk (to certify TradeLens units) and another representing IBM (to certify We.Trade units). --> |
121 | | - |
122 | | -<!-- |
123 | | -## Bootstrap procedure: |
124 | | -1. Create network artifacts: |
125 | | - * Configuration file with network name (`NETWORK_NAME`) set to `IIN`(or something unique, if there is more than one IIN) |
126 | | - * Keys for each Indy node: ed25519 transport/communication keys, BLS keys for multisig and state proofs |
127 | | - * Genesis transactions: pool transactions genesis file, domain transactions genesis file with specification for stewards (each with a unique name assigned a priori) |
128 | | -2. Launch the 4-node Indy pool network by starting each node in a separate Docker container. |
129 | | -3. Start an IIN steward agent for each steward in a separate Docker container. A steward agent is built on a Hyperledger Aries instance. |
130 | | -
|
131 | | -## Reference: |
132 | | -* Hyperledger Indy Node: Create a Network and Start a 4-Node Indy Pool [link](https://hyperledger-indy.readthedocs.io/projects/node/en/latest/start-nodes.html) |
133 | | -* Implementation of single-node/single-steward Indy pool in Docker containers [link](https://github.com/identity-interop/iin_deployment) |
134 | | -
|
135 | | -
|
136 | | -
|
137 | | -
|
138 | | -# Interfaces |
139 | | -Standard Indy SDK API will be used for communication between identity owners' agents and between agents and Indy pool nodes. |
140 | | -Standard Indy SDK API will be used for creating and maintaining wallets (for DIDs, keys, secrets, and credentials) at the agents. |
141 | | ---> |
0 commit comments