indy-node
indy-node copied to clipboard
Plugin to Support Self-Controllable and Evolvable Group DIDs
We seek to augment Indy to support the creation and maintenance of DIDs that represent groups of entities, each represented by a (conventional) DID.
- The DID creation and update is controlled collectively and in a completely decentralized manner by the group's members (see https://www.w3.org/TR/did-core/#group-control).
- The membership of the group may change while leaving the group's DID identifier unchanged. This change is governed by a policy that is represented as a boolean expression with the members' DIDs as the principals.
- DID creation and update (as per current policy embedded in the DID record) requires support for a new NYM transaction whereby group control can be enforced by validating a quorum of members's signatures (i.e., multisig).
- Implementation is in the form of a new and separate plenum plugin.
The major motivating use case is interoperability among permissioned blockchain and DLT networks with circumscribed memberships:
- The network's peers or stakeholders form a group with decentralized control.
- The ability for ledgers to share or exchange data and assets requires an identity and trust basis between them, as cross-network claims must be validated through identity-based proofs.
- This is a problem that has been researched, and a solution for which has been designed, within the Hyperledger Cacti framework. See the following links for reference:
- Data sharing protocol: https://github.com/hyperledger/cacti/blob/main/weaver/rfcs/protocols/data-sharing/generic.md
- Philosophy behind building (or relying on) decentralized identity networks for interoperability: https://github.com/hyperledger/cacti/blob/main/weaver/rfcs/models/identity/network-identity-management.md
- (Note: Indy is an example of the kind of network we envision as part of the backbone of a network-of-networks vision. Hence, we would like to implement this feature within Indy as a proof-of-concept.)
- Specs for group DID method and mechanisms: https://github.com/hyperledger/cacti/blob/main/weaver/rfcs/protocols/identity/identity-syncing.md, https://github.com/hyperledger/cacti/blob/main/weaver/rfcs/formats/network/iin_method.md.
- Research paper (ICBC '21): https://arxiv.org/abs/2104.03277
This feature is being proposed by a Hyperledger Cacti maintainer and is being developed within a Hyperledger Cacti 2023 Mentorship Project: see https://wiki.hyperledger.org/display/INTERN/Cacti%3A+Decentralized+Identity+Management+for+Trusted+Interoperation. (Note: a new mentee started the project in late 2023 after the first mentee failed to produce any output, hence the deliverable date has been delayed.)
(Tagging co-mentors @sandeepnRES (also a Hyperledger Cacti maintainer) and @ghoshbishakh.)
@VRamakrishna, This would be a good topic to present at the Indy Contributors Meeting. Next meeting will be February 27th at 8:00am Pacific.
cc @cjhowland, @toktar, @swcurran, @TelegramSam, @ashcherbakov
@VRamakrishna, This would be a good topic to present at the Indy Contributors Meeting. Next meeting will be February 27th at 8:00am Pacific.
cc @cjhowland, @Toktar, @swcurran, @TelegramSam, @ashcherbakov
@WadeBarnes Thanks for the quick response. We would like to present at the February 27 meeting. Can you add it to the agenda?
We would like to present at the February 27 meeting. Can you add it to the agenda?
@cjhowland, Can you make sure this is on the agenda for February 27 please.
@VRamakrishna This presentation is on the agenda for tomorrow's Indy Contributor's meeting at 8am Pacific. Thanks.
Thanks for the presentation and discussion @VRamakrishna and team. For those interested, you'll be able to find details and a link to the recording (once posted) here; https://wiki.hyperledger.org/display/indy/2024-02-27+Indy+Contributors+Call
Reference plugin implementation mentioned on the call can be found here; sovrin-foundation/token-plugin
Just as an FYI: the mentee who is working on this feature took ill and so there will be a delay in submitting a PR as significant code changes are still needed (based on a review by the mentors). Apologies for the delay, but we will submit code sometime in the near future.