15:11:33 RRSAgent has joined #did 15:11:33 logging to https://www.w3.org/2019/12/03-did-irc 15:11:34 rrsagent, set log public 15:11:34 Meeting: DID Working Group Telco 15:11:34 Chair: burn 15:11:34 Date: 2019-12-03 15:11:34 Agenda: https://lists.w3.org/Archives/Public/public-did-wg/2019Dec/0000.html 15:11:34 ivan has changed the topic to: Meeting Agenda 2019-12-03: https://lists.w3.org/Archives/Public/public-did-wg/2019Dec/0000.html 15:41:08 burn has joined #did 15:54:29 present+ 15:55:31 present+ 15:57:42 TallTed has joined #did 15:58:12 present+ 15:59:41 present+ tzviya 15:59:55 present+ 15:59:55 present+ 16:00:04 brent has joined #did 16:00:06 tzviya has joined #did 16:00:12 present+ 16:00:14 present+ 16:00:27 joel has joined #did 16:00:36 Orie has joined #did 16:00:36 present+ 16:00:42 present+ 16:00:44 markus_sabadello has joined #did 16:01:25 present+ 16:01:28 dezell has joined #did 16:01:31 phila has joined #did 16:01:49 present+ 16:01:53 Can someone TL;DR how to scribe in case I am called on...? 16:02:00 present+ 16:02:13 ahripak has joined #did 16:02:19 daniel has joined #did 16:02:31 +present 16:02:40 present+ 16:02:42 scribe+ 16:02:45 present+ ahripak 16:02:50 Topic: Agenda Review, Introductions, Re-introductions 16:02:55 Justin_R has joined #did 16:02:57 topic: agenda review, intros 16:02:59 s/Can someone TL;DR how to scribe in case I am called on...?// 16:03:01 present+ 16:03:07 jonathan_holt has joined #did 16:03:19 q+ to make small announcement about public keys discussion, during that part of the agenda. 16:03:27 present+ jonathan_holt 16:03:28 burn: agenda reviewed, anything else folks want to add 16:03:31 ack manu 16:03:31 manu, you wanted to make small announcement about public keys discussion, during that part of the agenda. 16:03:34 sumita has joined #did 16:03:39 manu: public keys announcement 16:03:43 q? 16:03:46 burn: anything else? 16:03:56 burn: anyone here for the first time? 16:04:27 present+ 16:04:29 drummond has joined #did 16:04:30 tzviya: this is my first time. I'm with Wiley, I've worked on the VC group, interested in identity management in particular. I work with Benjamin 16:04:37 present+ 16:04:42 mike-lodder has joined #did 16:04:45 burn: thank you, that's great 16:04:48 present+ 16:04:54 burn: anyone else here for the first time? 16:05:18 present+ 16:05:55 q? 16:06:02 present+ 16:06:22 burn: reintroductions, how about Phil, would you be willing? 16:06:31 selfissued has joined #did 16:06:42 present+ 16:06:43 present+ 16:07:08 phila: formerly W3C, now at GS1, barcode folks, supermarkets, cross-border shipments, our interest here is increasing the security and provabulity of our identifiers 16:07:08 Topic: Announcements: Next key format call. Use Cases FPWD published, VCWG Maintenance charter vote 16:07:29 q+ to speak to some PRs for key management 16:07:30 DID Key Management call: https://lists.w3.org/Archives/Member/member-did-wg/2019Dec/0000.html 16:07:35 tplooker has joined #did 16:07:37 q+ 16:07:47 burn: first announcements: key format discussion will be December 4 at Noon ET 16:08:00 ack manu 16:08:00 manu, you wanted to speak to some PRs for key management 16:08:13 agropper has joined #did 16:08:20 manu: during our last public keys call, there were some suggeestions for refinements around the language. I have made those. 16:08:46 present+ 16:09:00 ... I believe the text reflect consensus as of now. My hope is that during the next call we can come to consensus on pulling the PRs in. 16:09:28 ... there may be some additional changes around base58 vs base64url. Please read the updated PRs. 16:09:47 ... If you have objections to them, please raise those objections before the call. 16:10:06 dmitriz has joined #did 16:10:07 ... My hope is that we can pull the PRs in during the call and then shift to other topics. 16:10:11 present+ 16:10:11 ack ChristopherA 16:10:43 ChristopherA: Want everyone to hold the date of MArch 16-20, Buenos Aires, RWoT 16:10:46 DID Use Cases FPWD Note: https://www.w3.org/TR/did-use-cases/ 16:11:03 burn: also, we want to remind everyone our FPWD for Use cases was published. 16:11:26 VCWG Maintenance charter vote: https://www.w3.org/2002/09/wbs/33280/vcwg-2019/ 16:11:43 ... also, the re-starting of the VCWG as a maintainence group. Please remind your AC reps to vote in favor of that group 16:12:02 Topic: F2F: boat tour sponsor, # attendees, topics 16:12:17 burn: we need a sponsor for the boat tour. 16:12:31 ... hopefully after we get a count we can get that. 16:12:47 q+ 16:12:53 ... Microsoft is graciously hosting our location, with meals and snacks 16:13:02 F2F topics/attendance: https://docs.google.com/spreadsheets/d/11haGLiY3AYi8uxIQcfndAixmtXjymNTTFbDQWRYkKrQ/edit#gid=0 16:13:20 ... the chairs put together a draft agenda for F2F topics and attendance 16:13:30 ... if you expect to attend, please add your name 16:13:49 ... also, if you have any special requirements, add those on the attendees tab 16:14:10 ... on the agenda tab, scroll down to the yellow section where you can add potential topics of interest. 16:14:23 ack ivan 16:14:25 ... the chairs will figure out where they go in the agenda itself. 16:14:44 ivan: back to the boat tour, ballpark figure is 20 euros per person 16:14:52 ... if you can sponsor it. 16:15:18 ... pleae put in attendance so I can call the company and let them know soon how many will be there. 16:15:51 burn: quick check on irc, please indicate if you are planning to be there 16:15:52 I will be there 16:15:53 will be there 16:15:55 I will be there 16:15:58 will be there 16:16:00 I will be there 16:16:00 maybe 16:16:04 will be there 16:16:06 q? 16:16:17 planning to be ther 16:16:27 /s/ther/there 16:16:44 burn: one other thing: Mike Jones sent the instructions for getting to the meeting to the mailing list 16:16:52 Topic: Rubric document: when to publish FPWD Note? 16:16:53 ... they are also on the F2F meeting page 16:16:54 highly unlikely to be physically present. will try to join remotely by whatever tech is available. 16:17:17 https://www.w3.org/2019/09/did-wg-charter.html 16:17:31 burn: We also agreed to publish a rubric. The charter says we will publish a first draft in december 16:17:57 gannan has joined #did 16:18:04 ... the chairs feel that is unlikely, especially since this call is scheduled for Christmas day and new year's day (so it will be cancelled). 16:18:17 ... can anyone speak to when they think we might get something together? 16:18:25 Instructions on how to get to the Amsterdam meeting location (in Dutch and English): https://lists.w3.org/Archives/Public/public-did-wg/2019Dec/att-0003/Routebeschrijving_SpacesSchiphol.docx 16:18:30 drummond: I am one of the folks helping work on that. 16:18:54 ... We have made steady progress, January is pretty likely for a FPWD 16:19:37 markus_sabadello: There have been regular calls with a small number of people. It still needs some cleanup before publishing as a note 16:19:56 ... maybe one or two more calls with that DID Rubric group 16:20:04 Current state of DID Rubric work: https://docs.google.com/document/d/1rYdWiwawWmLOWtHRvT0GzYcdewW_OS9M2mAkENLFdtY/ 16:20:08 burn: please add a link to the google doc 16:20:40 ... the rubric is a collection of criteria to help folks determine the level of decentralization of a particular DID method 16:20:51 ... Is it decentralized for your use case 16:21:03 burn: it must be converted into respec 16:21:08 markus_sabadello: I'm happy to do the respec stuff when needed 16:21:35 ... work on a google doc does not cut it. So until the doc is in respec and the doc is in our github repo it doesn't count 16:22:02 q? 16:22:06 ... doing that will create a first document (not a FPWD) please get that in soon. Thanks for the update 16:22:20 Topic: Matrix Parameters 16:22:28 derekmac has joined #did 16:22:31 https://github.com/w3c/did-core/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+matrix 16:22:48 q+ 16:23:06 ack markus_sabadello 16:23:06 burn: turn the call over to markus_sabadello 16:23:21 markus_sabadello: quick intro to matrix parameters 16:23:38 -> https://w3c.github.io/did-core/#generic-did-parameter-names DID parameter names in the core draft 16:23:44 ... matrix parameters are a syntactic construct we can use in DID urls 16:24:07 ... we can accross it as a way to reference specific service endpoints 16:24:40 ... the DID Core spec doesn't tell you exactly which fragment to select 16:25:08 ... the service endpoint can be specified with the matrix parameters, then the query fragemnts can be used by that service endpoint 16:25:29 ... other examples are versioning, version-time, etc. 16:26:03 ... also want to add, we don't want to overuse matrix parameters, because we also have the idea of resolver options (separate from the DID url) 16:26:14 q+ 16:26:22 ... that doesn't need to be a matrix parameter, but could be passed separately to the resolver. 16:26:30 q+ to note other concerns around matrix parameters and general design patterns of when to use them. 16:26:47 ... but they are an interesting construct for adding capabilities to the dereferencing the DID url 16:27:05 q? 16:27:07 ack ivan 16:27:10 ... there are currently a number of matrix parameters in the spec already, more are proposed 16:28:05 ivan: clarification question, from a semantic web background, a url is used for identiciation. so if two different urls have different identifiers they are completely different identifiers. 16:28:24 q+ 16:28:29 ... what do we say? is adding a matrix parameter create a different identifier entirely? 16:28:29 q+ 16:28:33 ack manu 16:28:33 manu, you wanted to note other concerns around matrix parameters and general design patterns of when to use them. 16:28:37 q+ to respond to ivan 16:29:07 q- 16:29:20 manu: I want to bring up some concerns. Matrix parameters, the syntax comes from the early days of the web. They were considered but never really used. 16:29:40 Historical context, circa 1996: https://www.w3.org/DesignIssues/MatrixURIs.html 16:29:51 ... now we are resurrecting them, but haven't really said why. What do regular URLs not allow that matrix parameters do? 16:30:24 q+ 16:30:27 +1 to concern of using matrix params 16:30:31 ... every time a new matrix parameter is recommended, it is concerning because we don't have a good design pattern for when to use it or not. there is still a bit of controversy around when to use them 16:30:34 Strongly stated as the reason we are using them: we want to be able to control what a DID URL identifies in the authority component of the URI so that we can leave the path, query, and fragment components completely free for DID URL authors to use. 16:30:55 ... as far as Ivan's question, we have to treat URLs that vary in matrix parameters as different IDs 16:31:28 ... they point to a very specific instance of a thing at a particular point in time, which may be different from that thing over all of time. just something to keep in mind 16:31:38 ack drummond 16:31:51 burn: I had understood that the editors wanted to go over PRs. I will handle queue 16:32:12 drummond: there is a very specific structural reason for matrix parameters. 16:32:31 s/PRs./PRs, but if this is a general discussion/ 16:32:42 q? 16:32:56 ... the general rule of a URL is the scheme is the authority level for the URL. we wanted the path, query and fragment identifier to be free for the methods. 16:33:26 ... the matrix parameters are for identifying other resources, which is why they are in the authority component. 16:33:50 q+ 16:33:51 q+ to ask drummond and markus if that's the only reason, and if so, can we put that in the spec as THE reason and build the logic from there... 16:33:55 ... to have control over specification, you are aways identifying some other resource with a different identifier. 16:34:14 ack dlongley 16:34:14 dlongley, you wanted to respond to ivan 16:34:20 ... from my standpoint both the motivation and structure are clear. So we should talk about specific matrix parameters 16:34:41 q+ 16:35:08 dlongley: Each of these URLs is a different identifier. vanilla DID is the DID subject, adding a matrix parameter refers to something else, possible the DID subject at a certain time. 16:35:18 q+ to also be clear that I'm not arguing against using them, just that they give me the heebie jeebies. 16:35:20 I was not under the impression that the presence of a matrix param meant that the base DID and the DID with the param are to be seen as two different DIDs 16:35:37 Why is this the case? 16:35:56 @daniel not two different DIDs, but two different URLs 16:35:59 Why can't a matrix param simply aid in some aspect of resolution of the same base DID 16:36:02 ok 16:36:11 ... the original use case for matrix parameters was to allow people to refer to things.. Did Docs have services, suych as the DID subject's social media stream, or some other service. The DID subject or controller may want to change those services over time. 16:36:53 ... the matrix parameters could refer to those services over time, some resource that lives on that server, like facebook or twitter. this would be for creating self-sovereign storage and credential wallets. 16:37:02 ack markus_sabadello 16:37:07 ... there's a lot of contextual information in the communtity 16:37:21 q+ 16:37:44 markus_sabadello: I want to agree with Dave and Drummond on when to use matrix parameters and when to not. You use them when yuou need a way to identify a different resource. 16:37:49 @daniel: one bright line with matrix parameters is that they always identify another resource besides the unadorned DID subject. So they should be used for identification purposes, not for controlling resolution. 16:37:50 q+ 16:38:14 ... for example indicating when something is using a cached copy wouldn't use matrix params. 16:38:15 q- 16:38:26 another way to think about it is like w3id.org ... a perma ID redirection service... 16:38:30 ack ivan 16:38:31 q+ 16:38:42 ... kind of like http headers would be resolver options and also wouldn't be matrix params 16:38:52 ivan: these should be emphasized more in the doc. 16:39:00 drummond: I agree that needs to be added 16:39:02 where the redirection in this case happens via changes to a DID Document's service's endpoint 16:39:08 burn: is that an action on you? 16:39:08 Especially what DOESN’T belong 16:39:14 drummond: Yeahm I guess 16:39:30 ack manu 16:39:30 manu, you wanted to ask drummond and markus if that's the only reason, and if so, can we put that in the spec as THE reason and build the logic from there... and to also be clear 16:39:33 ... that I'm not arguing against using them, just that they give me the heebie jeebies. 16:39:37 ACTION: drummond add more clarity on when matrix params should be used and when not 16:39:40 +1 to Markus' point that matrix parameters correspond to what would go into an HTTP URL and resolution parameters correspond to what would go into HTTP headers. 16:40:23 q- 16:40:29 ack daniel 16:40:30 manu: we need this for DID implementors who don't have our tribal knowledge. We need to clearly define where they came from, why we are using them now, and some rules around when you should use them and when you shouldn't 16:40:33 there is a green NOTE box here that explains when to use them, but i agree that should be emphasized more: https://w3c.github.io/did-core/#generic-did-parameter-names 16:40:44 ack agropper 16:40:57 URL `foo` refers to some resource ... and a DID controller can change the server where that resource lives without the URL having to change. 16:41:13 ^matrix parameter use case 16:41:25 agropper: privacy reltaed question: with a peer did where we have a service enpoint that we don't want to be a point of correlation 16:41:38 ... would the matrix param apply in this context? 16:41:42 q? 16:42:08 q+ 16:42:08 s/reltaed/related/ 16:42:12 ack drummond 16:42:13 manu: I think we don't know yet. It depends on your definition of correlation, etc. 16:42:46 drummond: I think if you apply what we were saying earlier, if it is only about routing or resolution, that doesn't change the resource being identified 16:42:56 ... so you wouldn't use a matrix param 16:42:59 q+ 16:43:03 q+ to note that privacy engineering needs concrete use cases to analyze. 16:43:09 q- 16:43:16 ack ChristopherA 16:43:16 ... maybe if you're saying its an anonymous version of the identifer ... 16:43:39 q+ to note that privacy engineering needs concrete use cases to analyze. 16:43:57 ChristopherA: I wanted to add that it is a privacy concern whether or not the service endpoint recieves the entire DID URL or whether they only receive the content hash. 16:44:08 q+ to note that we need attack models, and then move on to specific PRs. 16:44:15 q+ 16:44:25 ... as you pass this information on, the client doesn't include the full DID information once they've resolved the matriz param. 16:44:59 wrt to services, matrix parameters don't say anything about service endpoints "receiving" information, they just map one URL to another. 16:45:03 s/matriz/matrix/ 16:45:04 ... transitioning or changing services without the identifier changing. There is a privacy concern that implementors will need to keep in mind 16:45:06 ack manu 16:45:06 manu, you wanted to note that privacy engineering needs concrete use cases to analyze. and to note that we need attack models, and then move on to specific PRs. 16:45:40 manu: this is a bit cvart before hte horse. We need use cases and modeling before we can do threat and privacy risk modeling 16:45:51 s/cvart/cart/ 16:45:52 s/cvart/cart/ 16:45:59 https://github.com/w3c/did-core/pull/59 16:46:04 did:example:1234;key=mykey 16:46:20 manu: Let's pick PR 59, relatively easy. suggestion for a "key" matrix parameter 16:46:22 ack markus_sabadello 16:46:25 or issue 70! 16:46:30 and* 16:46:40 markus_sabadello: I agree, let's look at concrete parameters 16:46:44 q+ to say -1 to this PR 16:47:25 -1 agree with dlongley. 16:47:32 q? 16:47:36 ack dlongley 16:47:36 dlongley, you wanted to say -1 to this PR 16:47:37 markus_sabadello: key has been suggested as a way to select a particular key (similar as they way the service endpoint could be identified with a serivce matirx parameter 16:47:50 i/https:/subtopic: Issue #59/ 16:48:04 dlongley: If you want to refer to something that has an id in the document, we already have a way to do that. 16:48:05 Tell me how to pass intermediate state values that can be dropped after anchoring 16:48:09 -1 seems like a use for JsonPath... https://goessner.net/articles/JsonPath/ 16:48:14 example: use did:ex:1234#keys-1 instead of did:ex:1234;key=keys1 16:48:18 ... not in my view what matrix parameters are for. 16:48:26 ... generally for things outside of the DID doc 16:48:38 q+ 16:48:39 ... something in the past, or on a different server (redirect) 16:48:56 ack daniel 16:48:57 +1 ... fragments are for internal processing, matrix params are for processing things on their way to the document 16:49:03 .... I haven't seen a use case that requires a matrix param jsut to refer to a key. 16:49:04 q+ 16:49:18 daniel: I agree. the issue I suggest I don't think is solved. 16:49:19 ack markus_sabadello 16:49:26 ... we have to have a way to do it. 16:49:32 +1 to Justin_R's language. 16:49:36 q+ :) 16:49:44 to clarify: -1 to adding key matrix param, I'd rather see selection in a document built on an existing syntax 16:49:58 +1 to what Orie just said. 16:50:01 ... if there's any other way to do it. I have a intermediary state where some valude must be passed that people can use in lieu of haveing an actual anchor 16:50:02 daniel is talking about https://github.com/w3c/did-core/pull/84 16:50:04 ack markus_sabadello 16:50:04 markus_sabadello, you wanted to say ) 16:50:07 That sounds like something else though 16:50:12 q+ 16:50:38 q+ to talk about why resolution discussion is intertwined here 16:50:44 q+ 16:50:45 markus_sabadello: just one more time. key matrix parameter. One small different form using the fragment. the matrix parameter would be independent of the mime type of the did doc 16:50:45 manu, Chris: if a DID is not anchored in Bitcoin for 10 minutes, how do I pass a resolvable ID to the RP in the meantime 16:50:47 ? 16:50:49 q- later 16:51:22 It is not an acceptable answer to say "just wait 10-20 minutes", when clearly we can just allow passage of some values 16:51:23 Markus is correct that a "key=" matrix parameter would be a primary resource from a SemWeb standpoint. 16:51:29 ... if we use did urls with fragments, those would depend on the media type of the did doc, whereas the matrix parameter would allow you to refer to a key independent of the media type of the did doc. 16:51:35 daniel: add a different matrix parameter... like matrix-unresolved=true or something... we're talking about a specific PR... key one. 16:51:36 q- 16:51:38 ... that said, I support closing this PR 16:51:39 zakim, close the queue 16:51:39 ok, burn, the speaker queue is closed 16:51:42 ack Justin_R 16:51:42 Justin_R, you wanted to talk about why resolution discussion is intertwined here 16:51:43 no 16:51:48 s/daniel: add/daniel, add/ 16:51:50 it is not about a boolean 16:52:06 Justin_R: This is a prime example of why we need to be having the DID resolution and dereferencing conversation here 16:52:07 it is about actually passing the values REQUIRED to resolve the DID 16:52:09 +1 to justin's point. 16:52:09 not some flag 16:52:30 ... matrix parameters are passed to the resolver, which is a black box as far as this group is concerned. 16:52:39 daniel, this is issue #70? 16:52:44 +1 to matrix parameters being passed into the resolution process. That's also different from fragments. 16:52:49 In ION's case, the initial-value is the base64 encoded state of the initial DID document 16:52:55 ... resolution has different mime types, etc. we should bring resolution into this group. 16:52:56 Same in Element 16:52:58 ack dmitriz 16:52:59 +1 to bringing resolution into the scope of the WG 16:53:05 what is your proposal again? 16:53:09 same in all the methods that use an actual decentralized system 16:53:12 dmitriz: plus one ot did resolution. 16:53:24 ... question, why are we giving keys special treatment? 16:53:24 Bringing DID resolution into the WG would require rechartering, as it's a significant increase in scope 16:53:28 Chris: https://github.com/w3c/did-core/issues/70 16:53:34 ... why not a general id parameter 16:53:43 zakim, open the queue 16:53:43 ok, burn, the speaker queue is open 16:53:44 burn: what are the next steps? 16:53:48 +1 to `id` seems reasonable compromise 16:53:55 @selfissued no it is not, there is a phrase in the charter about resolution mechanisms 16:54:09 a generic "id" matrix parameter has been casually talked about, e.g.: https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/draft-documents/did-resolution-v2.md 16:54:14 > Establish a deterministic mapping between DID method identifiers and the resolution process used to resolve that DID method. 16:54:20 manu: I think we need folks to weigh in on the PRs. Now that you have the background, tell us why the PRs should or should not be merged. 16:54:35 Can folks do a call on the initial-values matrix param? 16:54:52 markus_sabadello: That is the goal of today's discussion, to introducte matrix parameters so we can get feedbakc on the PRs 16:54:56 I see a lot of misunderstanding of what at least our proposed param actually is for/does 16:54:56 https://github.com/w3c/did-core/pull/59 16:55:00 https://github.com/w3c/did-core/pull/60 16:55:04 https://github.com/w3c/did-core/pull/61 16:55:06 selfissued: can someone drop a link to the matrix parameters? 16:55:08 https://github.com/w3c/did-core/pull/62 16:55:09 `id` is obviously more general -- but we need a clear use case we can discuss because `id` would be the same as referring to something in the DID Document using `DID#`... we need to be able to analyze the bitcoin use case, etc. to really understand the problem and other potential solutions. 16:55:12 https://github.com/w3c/did-core/pull/84 16:55:35 Not this call 16:55:39 a sidebar call 16:56:00 That's what I was hoping to do, a separate call 16:56:12 ok 16:56:12 burn: from a chair perspective, there's a point of diminishing returns on somewhat inter-related calls. We've continued the key format calls. we wanted to get this conversation started and see where things went 16:56:30 +1 doing one thing at a time via extra calls 16:56:41 ... the chairs are paying attention. what we'd like to see if poeple make some effort to comment on the PRs. 16:57:00 ... that will make if easier to have the discussion 16:57:05 q? 16:57:17 burn: we are at the end, anything else that must be said? 16:57:32 I'm hosting CCG today, see you later 16:57:34 rrsagent, draft minutes 16:57:34 I have made the request to generate https://www.w3.org/2019/12/03-did-minutes.html ivan 16:57:35 zakim, bye 16:57:35 rrsagent, bye 16:57:35 I see 1 open action item saved in https://www.w3.org/2019/12/03-did-actions.rdf : 16:57:35 ACTION: drummond add more clarity on when matrix params should be used and when not [1] 16:57:35 recorded in https://www.w3.org/2019/12/03-did-irc#T16-39-37 16:57:35 leaving. As of this point the attendees have been ivan, burn, chriswinc, tzviya, ChristopherA, TallTed, brent, joel, Orie, dlongley, phila, dezell, present, manu, ahripak, 16:57:35 Zakim has left #did 16:57:38 ... Justin_R, jonathan_holt, rhiaro, drummond, mike-lodder, yancy, daniel, sumita, selfissued, agropper, dmitriz 16:57:40 ... thanks everyone, remeber the key format discussion tomorrow.