Verify Indy Credential from within Fabric Chaincode

280 Views Asked by At

I'm trying to combine the core strengths of the two Hyperledger projects, Indy / Aries and Fabric.

In the scenario we have an Indy network for SSI and a Fabric network managing a token. The Fabric token accounts should be tied to the Indy identities. Furthermore, an identity is only allowed to move tokens when it can proof to be an active member of the golf club.

This means, the Fabric endorsers need a way to see the identity's DID and to verify the golf club credential.

Question: Is there a best practice architecture to achieve that?

My current approach is to let the user send a <Proof Proposal>,<Receiver>,<Qty> message via her Aries agent to a server connected with the Fabric network. The server then sends a transaction including this data to all endorsers via the fabric-sdk. Now, the chaincode gets executed at each organisation. The chaincode tells its Aries agent to verify this Proof Proposal, which leads to a huge amount of connection invitations and proof requests against the users agent. Once the verification is successful, the chaincode continues execution and changes the state.

I see several (potential) problems:

  1. The user must accept many connection invitations manually (if there's no hardcoded auto-accept whitelist)
  2. Even you could avoid the connection attempts (maybe /w ephemeral challenges? Documentation for that?), there would still be massive parallel traffic, due to the presentation protocol, incoming from a decently large fabric network.

Here's a visualisation:
enter image description here

Am I missing something? Do you have any hints / experiences about how this can be accomplished?

Kind regards

0

There are 0 best solutions below