vc-data-model
vc-data-model copied to clipboard
What is the action associated with issuing/creating a Verifiable Presentation?
To create a Verifiable Credential you "Issue a Verifiable Credential".
To create a Verifiable Presentation you "??? a Verifiable Presentation".
What is the verb that the WG would like to use for the creation of the presentation (that is, the Holder bundling one or more VCs into a presentation and then generating a proof on that presentation).
This came out of the discussion from here: https://github.com/w3c-ccg/vc-api/issues/292#issuecomment-1169229371
Potential options include: create, issue, sign, prepare, present, assemble, and prove.
I say "present" and wince when the sentence ends with the word "presentation"
"prepare" or "assemble" ———————— Andrew Hughes CISM CISSP m +1 250.888.9474 @.*
On Tue, Jun 28, 2022 at 3:13 PM Brent Zundel @.***> wrote:
I say "present" and wince when the sentence ends with the word "presentation"
— Reply to this email directly, view it on GitHub https://github.com/w3c/vc-data-model/issues/887#issuecomment-1169336041, or unsubscribe https://github.com/notifications/unsubscribe-auth/AETAZ7EDVQOUUGFXQCDRBRDVRN2KJANCNFSM52DP5IAQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>
I've also seen "derive"
we could appropriate the word "bikeshed" as a verb for this. as in, "The holder bikeshedded the presentation to the holder"
Cant you just use "create", since it is a self evolving thing and not talking about other parties like issuance.
-1 on the hopefully joking suggestion of "bikeshed" (which I think is not actually applicable here, given that it's shorthand for the law of triviality, i.e., "giving disproportionate weight to trivial issues", unless it's a commentary on this thread, in which case I disagree with that characterization; IMNSHO, care must be taken to choose terminology which does not carry unintended meaning, especially where that unintended meaning may be contradictory to the intended meaning/use of that term).
Maybe "produce" would be acceptable to all?
generate is another possibility
-1 for Generate VP. Because VP is composed of existing Claims (cough) from VCs. Generate seems more appropriate verb for Issuer.
@TallTed Very strange that you should suggest produce and be against generate since the dictionary.com definition of generate is to bring into existence; cause to be; produce :-)
Yeah, I'm against myself. Neither generate nor produce for Presentation, because they both imply origination to me, rather than assembling or repackaging from existing component parts and wrapping in a new signature...
I think the Holder needs two verbs here -- one for the Assembly (and optional Signing) and another for the Submission. I think I like these verbs.
I've also seen "derive"
This has always made the most sense to me
The issue was discussed in a meeting on 2022-08-31
- no resolutions were taken
View the transcript
4.3. What is the action associated with issuing/creating a Verifiable Presentation? (issue vc-data-model#887)
See github issue vc-data-model#887.
Brent Zundel: what is the action taken to produce a verifiable presentation.
Manu Sporny: there are options....
Dave Longley: how about: you create a presentation and then you present it :).
Manu Sporny: we could use the word "create", "issue", "prepare", "present", "assemble", "prove".
… I don't like issuing a presentation, or signing....
Brent Zundel: -1 to issuing a presentation.
Dave Longley: -1 to issuing a presentation.
Manu Sporny: preparing / assembling ....
… maybe.
Juan Caballero: collate.
Orie Steele: I don't like "prepare", because that's the step before protecting..
Juan Caballero: "consenting a verifiable presentation".
Orie Steele: I think what we're trying to define here is the verb to define the act of "protecting", not "getting ready to protect"..
… For some presentation formats, I like the word "prove", if you're talking about something like a Zero Knowledge Proof... so kinda like proving. also don't like presenting... agree with -1 on issuing, also -1 to signing.
… That's all I can say at present. :).
Oliver Terbu: i agree, but maybe also generating....
Manu Sporny: yeah, I think I'm -0.5 to "proving".
Oliver Terbu: I disagree with proving... because a presentation does not require a proof..
… proof is not implied when presenting..
Manu Sporny: I do like "generate".
Orie Steele: +1 oliver.
Dave Longley: -1 to proving ... it's a great word for when it happens, but it doesn't always happen :).
Ted: compose and then optionally sign, deliver, present, submit.
Juan Caballero: I like generate because the product is unique.
Manu Sporny: generate?.
Dave Longley: create, generate, and compose seem ok to me.
Orie Steele: I would want to be able to tell if the thing produced by the verb is secured or not, I don't think we should use the same word for both of them..
… I think the definition of a verifiable presentation is broken, it's not clear if it's secured or not, I could live with "prepare" or "assemble" for unsecured version, but I don't want to use the same term for the unsecured vs. secured version..
Brent Zundel: thats 5 minutes of bikeshedding.
I don't love it (yet), but I could probably live with derive
, partly because it can include both the Assemblage of Claims from VCs and the Signing of the Assembled Presentation, though not the Submission (or whatever) of the VP -- which has been "derived from VC(s) and relevant private key/crypto".
I am coming around to the idea of using "issue" for both "VC" and "VP".
I saw a discussion at RWoT to use "render" to create a human-readable output (HTML). I think we may use "render" for machine-readable output.
-1 to "derive", as it's not intuitive usage of the word in context.
I'm offering compose: "1) write or create (a work of art, especially music or poetry); and 2) (of elements) constitute or make up (a whole). e.g., "the system is composed of a group of machines"
-0.5 to derive for potential confusion with other operations
+1 to "issue" or "create" to create a presentation prior to presenting
When we explain this process to non-identity industry users, we often say "create/submit a verifiable credential proof". It may not be perfect, but it is an easily understandable phrase that gets the point across.
The issue was discussed in a meeting on 2022-11-02
- no resolutions were taken
View the transcript
2.1. What is the action associated with issuing/creating a Verifiable Presentation? (issue vc-data-model#887)
See github issue vc-data-model#887.
Brent Zundel: We could spend a while on this, lets time box to 10 minutes..
… We have had a number of suggestions -- present, assemble, derive, etc..
… What can we do to move this one forward?.
Manu Sporny: what we can do in these situations?.
Orie Steele: I am coming around to the idea of using "issue" for both "VC" and "VP"..
Manu Sporny: we collect all the options and make a poll.
Phillip Long: Has compose been offered yet?.
Manu Sporny: if you had other suggestions then please put it into the issue.
Michael Prorock: definitely second range choice poll.
… One thing to note... I'll 2nd rank choice poll, as we work through scopes and other contexts, trace, interop.
Michael Prorock: https://w3c-ccg.github.io/traceability-interop/draft/#scopes.
Michael Prorock: Something that plays nicely w/ common usage, in case of credentials issue credentials -- VC API is doing something similar, we should pick naming that would make sense to new developers... new developer onboarding, make sense to them, consider what is used in similar scenarios out in industry..
Joe Andrieu: In interest in minimizing logistical overhead, no oppositions to derive -- maybe we can propose that and request people to push back -- and then see if people like it..
Orie Steele: One comment on derive, it has additional conflicts w/ selective disclosure schemes where there is a transformation scheme on original credential which is then presented..
Manu Sporny: Yes, I'm a -0.5 for derive -- for the reasons Orie said..
Michael Prorock: +1 orie - derive makes sense in some ways, but will cause conflicts later with actual "derived" key materials, credentials, subsets, etc.
Orie Steele: There might be ambiguity on that side... that would apply for SD-JWT, BBS JWP and BBS DI.
Orie Steele: I'm also a -.5 to derive..
Michael Jones: -1 to "derive", as it's not intuitive usage of the word in context..
Joe Andrieu: Happy to go to a poll, derive doesn't seem like an easy win. Orie, derive is middle step, not the presentation, this question isn't about act of presenting, doing the thing before presenting..
Orie Steele: ahh, we are talking about 2 different things then : ).
Orie Steele: both need names :).
Brent Zundel: Ok, we'll see poll coming around..
Steve McCown: Explaining to non-identity industry people, we often say "create/submit a verifiable credential proof". It may not be perfect, but it gets the point across..
There was a suggestion on the call today to run a ranked choice poll w/ the options presented in this issue to give us more data on what to choose for language here.
The issue was discussed in a meeting on 2023-01-18
- no resolutions were taken
View the transcript
4.1. What is the action associated with issuing/creating a Verifiable Presentation? (issue vc-data-model#887)
See github issue vc-data-model#887.
Manu Sporny: what we have is a lot of suggestions, we can run a poll....
… lets have the editors run a poll.
… we need to create a definition for the word we will pick.
… usually a poll helps us pick, action is on the editors.
Kristina Yasuda: we're removing discuss, we will run a poll per the suggestion from Manu..
Manu Sporny: lets mark it as ready for PR and assign me..
The issue was discussed in a meeting on 2022-09-15
- no resolutions were taken
View the transcript
5.10. What is the action associated with issuing/creating a Verifiable Presentation? (issue vc-data-model#887)
See github issue vc-data-model#887.
Manu Sporny: If someone else wants to take #887, that's fine.
Brent Zundel: kristina: all of the other ready-for-PR issues have assigned people.
Kristina Yasuda: If anyone else wants to jump in, that would help offload work from the editors.
Orie Steele: We need easier issues!.
A Ranked Choice Vote (using Borda Count) has been opened for this topic using all of the suggestions we've received over the past several months:
https://www.opavote.com/en/vote/6203261324361728
Add items to the ballot in order of your preference (highest to lowest). If you don't like an option, don't rank it. Not ranking a choice will give it a zero value from you, which will factor into it's final ranking.
Voting will be open for two weeks before we publish the results here. The VCWG is running the poll to get input from the community. The poll is not meant to establish the final decision by the VCWG; this is just a community data gathering exercise.
+1 prepare
The holder prepares a VP sounds correct to me. Prepares as in gathers/derives VC's to be part of this VP based on a request then signs the envelope. It's also similar to the way before I go pick up a parcel at the post office, I prepare the required documents to prove my address. Or before I purchase alcohol, I prepare my ID to prove my age. Seems like a natural term to describe this action to me and can be easily explained in this context.
-1 issue (I feel issue should be an action taken by an issuer and not a holder) -1 presents, prove since this sort of implies a delivery of said VP and it's not what this is about.
Not seen in the poll, but I often use the word package in the sense of wrapping up, securing, addressing (etc) payload(s).
The downside of that term is that it doesn't cleanly map to abilities provided by data min or selective disclosure proof methods. So I'm mentioning this context in case it jogs a more suitable term from someone else.
That said, I'll probably vote for prepare, for now
Thinking out loud a little here:
I'd like to see some parity between the credentials endpoint and the presentations endpoint. I think it is important to specify whether the verb we are looking for is referencing the input, or the output. For example, the /credentials/issue
endpoint takes a credential (the input) and returns a verifiable credential (the output). In this case issue
references the output, you are issuing the verifiable credential, NOT issuing the credential.
If we take that same approach (for parity's sake), we would be looking for a verb that describes what is happening to the output (in this case, the verifiable presentation). If that were the case, I would be -1 to verbs like prove
and sign
because those are things you do to the input (the presentation) in order to arrive at the output (the verifiable presentation). Other verbs like generate
, create
, and issue
refer to an action we are taking on the output; we generate
, create
, or issue
the verifiable presentation (using the presentation as input).
In the end, I like issue
. Having the same verbs for "making the thing" in both /credential
and /presentation
endpoints makes sense and would likely eliminate confusion for adopters.
Here are the results of the poll:
https://www.opavote.com/results/6203261324361728
Screenshot below:
Text of poll is below:
What is the action that produces a Verifiable Presentation?
There are 12 candidates competing for 1 seat. The number of voters is 91 and there were 90 valid votes and 1 empty votes. Counting votes using Borda Count.
Candidate | Count
create | 551 issue | 227 sign | 169 prepare | 385 present | 273 assemble | 385 prove | 115 derive | 205 produce | 446 generate | 507 render | 143 compose | 552 Exhausted | 1982
Borda count totals.
While the "winner" is the word "compose"... as in, you /compose/ a Verifiable Presentation, and then you /present/ it... compose "won" by a margin of a single Borda Count point, which is statistically insignificant given the population and number of people voting.
The top 4 choices were (in order): compose, create, generate, and produce
The next steps are to put the poll results in front of the VCWG for determining the rationale of what goes in the specification and why, driven by the data we were able to gather in the poll.
The issue was discussed in a meeting on 2023-06-06
- no resolutions were taken
View the transcript
1.10. What is the action associated with issuing/creating a Verifiable Presentation? (issue vc-data-model#887)
See github issue vc-data-model#887.
Brent Zundel: This was created and assigned to Manu.
… I don't think this is potentially normative, could be post-CR.
Orie Steele: "issuing" seems only relevant when the presentation is signed... which is not always the case.
Dave Longley: poll results were: composing and then presenting.
Manu Sporny: I think we ran a giant poll in the CCG and we got an answer through ranked choice voting, IIRC.
… We have a clear indication on top four choices that we could discuss in the group.
… "compose, create, generate, and produce".
… "compose" eeked out over create, etc.
Orie Steele: those all seem great, as long as you don't actually sign the presentation.
Joe Andrieu: +1 to picking one and going to PR.
Manu Sporny: We could rerun it with a smaller set, the group could debate / bikeshed those 4 things, or we can raise a PR.
… Maybe someone could raise a PR and we could discuss there.
Orie Steele: in general, presentations need a lot of help.
Phillip Long: =1.
Brent Zundel: ok labeled ready for pr and post cr.
I'd suggest we use "create" to refer to the assembling... And "issue" to refer to the securing.