indy-node icon indicating copy to clipboard operation
indy-node copied to clipboard

Plugin to Support Self-Controllable and Evolvable Group DIDs

Open VRamakrishna opened this issue 1 year ago • 7 comments

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 avatar Feb 20 '24 12:02 VRamakrishna

@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 avatar Feb 20 '24 13:02 WadeBarnes

@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?

VRamakrishna avatar Feb 20 '24 14:02 VRamakrishna

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.

WadeBarnes avatar Feb 20 '24 14:02 WadeBarnes

@VRamakrishna This presentation is on the agenda for tomorrow's Indy Contributor's meeting at 8am Pacific. Thanks.

cjhowland avatar Feb 27 '24 00:02 cjhowland

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

WadeBarnes avatar Feb 27 '24 16:02 WadeBarnes

Reference plugin implementation mentioned on the call can be found here; sovrin-foundation/token-plugin

WadeBarnes avatar Feb 27 '24 16:02 WadeBarnes

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.

VRamakrishna avatar Mar 14 '24 07:03 VRamakrishna