vc-data-model icon indicating copy to clipboard operation
vc-data-model copied to clipboard

What is the action associated with issuing/creating a Verifiable Presentation?

Open msporny opened this issue 2 years ago • 13 comments

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.

msporny avatar Jun 28 '22 20:06 msporny

I say "present" and wince when the sentence ends with the word "presentation"

brentzundel avatar Jun 28 '22 22:06 brentzundel

"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: @.***>

andrewhughes3000 avatar Jun 28 '22 22:06 andrewhughes3000

I've also seen "derive"

andrewwhitehead avatar Jul 04 '22 19:07 andrewwhitehead

we could appropriate the word "bikeshed" as a verb for this. as in, "The holder bikeshedded the presentation to the holder"

brentzundel avatar Jul 28 '22 22:07 brentzundel

Cant you just use "create", since it is a self evolving thing and not talking about other parties like issuance.

vongohren avatar Aug 16 '22 14:08 vongohren

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

TallTed avatar Aug 16 '22 16:08 TallTed

generate is another possibility

David-Chadwick avatar Aug 17 '22 18:08 David-Chadwick

-1 for Generate VP. Because VP is composed of existing Claims (cough) from VCs. Generate seems more appropriate verb for Issuer.

TallTed avatar Aug 31 '22 19:08 TallTed

@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 :-)

David-Chadwick avatar Aug 31 '22 20:08 David-Chadwick

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.

TallTed avatar Aug 31 '22 20:08 TallTed

I've also seen "derive"

This has always made the most sense to me

logpo avatar Aug 31 '22 23:08 logpo

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.

iherman avatar Sep 01 '22 04:09 iherman

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".

TallTed avatar Sep 01 '22 15:09 TallTed

I am coming around to the idea of using "issue" for both "VC" and "VP".

OR13 avatar Nov 02 '22 15:11 OR13

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.

shigeya avatar Nov 02 '22 15:11 shigeya

-1 to "derive", as it's not intuitive usage of the word in context.

selfissued avatar Nov 02 '22 15:11 selfissued

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"

longpd avatar Nov 02 '22 15:11 longpd

-0.5 to derive for potential confusion with other operations

+1 to "issue" or "create" to create a presentation prior to presenting

mprorock avatar Nov 02 '22 15:11 mprorock

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.

mccown avatar Nov 02 '22 15:11 mccown

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..

iherman avatar Nov 02 '22 16:11 iherman

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.

msporny avatar Jan 18 '23 20:01 msporny

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..

iherman avatar Jan 19 '23 05:01 iherman

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!.


iherman avatar Feb 16 '23 10:02 iherman

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.

msporny avatar Feb 19 '23 20:02 msporny

+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.

PatStLouis avatar Feb 19 '23 23:02 PatStLouis

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

kimdhamilton avatar Feb 22 '23 18:02 kimdhamilton

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.

brownoxford avatar Feb 22 '23 20:02 brownoxford

Here are the results of the poll:

https://www.opavote.com/results/6203261324361728

Screenshot below:

0

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.

msporny avatar Mar 04 '23 18:03 msporny

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.

iherman avatar Jun 07 '23 07:06 iherman

I'd suggest we use "create" to refer to the assembling... And "issue" to refer to the securing.

OR13 avatar Jun 30 '23 01:06 OR13