Closed Patrik-Stas closed 8 months ago
thanks for raising this. I think the case here is also applicable to present proof v2 too: https://github.com/hyperledger/aries-rfcs/tree/main/features/0454-present-proof-v2 . as it has undergone the same evolution as issue-credential.
However an interesting note is present on the present-proof-v2 RFC around this topic:
The messages that include ~attach attachments may use any form of the embedded attachment. In the examples below, the forms of the attachment are arbitrary.
The ~attach array is to be used to enable a single presentation to be requested/delivered in different verifiable presentation formats. The ability to have multiple attachments must not be used to request/deliver multiple different presentations in a single instance of the protocol.
In the end this happened to be largerly addressed in: https://github.com/hyperledger/aries-rfcs/pull/816 https://github.com/hyperledger/aries-rfcs/pull/815
Hi all,
while Issue credential V2 protocol has been out there for quite some time, we are starting with its implementation in
aries-vcx
now https://github.com/hyperledger/aries-vcx/pull/987As we are discovering what needs to be implemented, what the difference are compared to V1, some questions arise from our side. It appear to us that utility of some features described in the RFC is questionable but I'd like check with implementors&frameworks who been using the protocol for longer time by now.
What I am looking to get out of this Github issue:
Batch - multi-format issuance
The protocol work with array
formats
,filters~attach
,supplements
,~ attach
which enables issuance of multiple credentials, each possibly in a different format. Both "batcheness" and "multi-formatness" properties bring a more complexity to implementation itself & APIs provided by frameworks/libraries - more complicated framework/library APIs then trickle up to application layers as well. And while arguing against complexity is not enough on its own, I think it could be if a core feature turns out to be generally unused - now this is something I am not sure about, and one of the reasons I writing this issue and raising questions:Is there an Aries implementation using these 2 properties?
My comment: According to [George's PR](https://github.com/hyperledger/aries-vcx/pull/987
In
aries-vcx
, we are also choosing to not implement support for these, at least for starter, hence we'll be assuming only 1 credential is issued at a time, and credential format won't change during the protocol lifecycle between 2 parties.Obviously, an issuer can always choose to send credential one by one, if issuer deems that as better option - the protocol is not preventing doing that. But nevertheless, the spec is requiring us to implement the batch issuance nevertheless and I question why would someone choose to use it in practice.
Payments
I don't have as much comments here, but at intuition level I feel like this might also better be a separate protocol perhaps? In this RFC, it's touched on the fact that presentation protocol subthread might be spun off to find out more about the counterparty, prior to issuing credential. That's reasonable, but why not to use the same approach for payments? I find that embedding payments as a part of issuance protocol is making it heavier/more coupled than it has to be.