While building an agent that issues several claims, I came across the following issue: the Sovrin client is unable to construct a proof constructed from different claims from the same link. The client will also pick the first claim it finds that contains a matching attribute in the proof request, ignoring other claims that might have more common attributes. Is that by design? If so, what is the rationale?
This is an artifact of the Getting Started Guide’s workflow being baked in to the current code too simplistically (that is, with a less demanding use case than is generally useful). In short, we took a short cut and now need to do something more generalized. I am aware of work that is underway, that will make it possible for users to control which claims are used to satisfy different aspects of a given proof request. This is a necessary requirement before the ecosystem is mature.
Here is some thinking that shows some of the possibilities for semantics of proof requests, and that implies the need for users to be able to control how claims are used to generate proofs. (This doc has a number of problems because it borrows incorrectly from JSON-LD, etc; don’t get hung up on the details but rather consider how it implies some requirements for proof generation.) https://docs.google.com/document/d/117cuMhMF_BLMniyCwnd0cu_Uj5H_45loZiqO1a3Ln7U/edit