14:48:27 RRSAgent has joined #did 14:48:31 logging to https://www.w3.org/2025/03/13-did-irc 14:48:33 rrsagent, draft minutes 14:48:35 I have made the request to generate https://www.w3.org/2025/03/13-did-minutes.html Wip 14:48:43 rrsagent, make logs public 14:48:55 Meeting: Decentralized Identifier Working Group 14:49:00 Chair: Will Abramson 14:49:04 Agenda: https://lists.w3.org/Archives/Public/public-did-wg/2025Mar/0004.html 14:58:34 present+ 15:00:31 present+ 15:00:49 present+ 15:01:12 markus_sabadello has joined #did 15:03:23 ChristopherA has joined #did 15:03:29 present+ 15:03:43 manu has joined #did 15:03:55 present+ 15:04:05 JoeAndrieu has joined #did 15:04:12 scribe+ 15:04:15 present+ 15:04:27 Wip: welcome 15:04:46 ... DID Resolution architecture is our topic today 15:05:05 Topic: DIDWG Chair Update 15:05:28 pchampin: Gabe has had to step down. 15:05:50 ... Dan Burnett has been helping, but also needs to step down. We are looking for another chair. Otto has agreed to help. 15:05:57 ... This should be official in a couple days 15:06:14 ottomorac: Thank you. I'm here to help out. 15:06:19 \o/ Woo! Welcome Otto, great to have you here -- wonderful to have you as the new Co-Chair of the DID WG! 15:06:29 Thanks Otto!! 15:06:45 Wip: Thanks, Otto. 15:06:45 q? 15:07:01 Topic: Global Digital Collaboration around Wallets 15:07:14 ... brief announcement: the OWF is in touch with W3C to host conference around wallets 15:07:39 ... Nothing formally announced, but perhaps the first or second of July in Geneva. 15:07:45 ... Currently in planning. 15:08:05 link to that event? I'm a L0 15:08:06 ... I think we should be in that conversation. I was surprised that wallets was more about credentials than keys. 15:08:11 q+ 15:08:14 ack manu 15:08:27 manu: I'm interested in what the event is going to be about. 15:08:46 ... There's been a push in the EU against DIDs by some of the folks in the EUDI initiatives. 15:08:59 q+ 15:09:10 ... It would be good for some of us to show up, but at the same time, It's not clear how closely the OWF is associated with EUDI or not. 15:09:18 q+ 15:09:33 smccown has joined #did 15:09:33 ack ivan 15:09:46 ivan: I was part of some of the discussion with EU folks. More on VCs than DID. 15:10:00 ... the discussions were very useful. We could give them good arguments for why VCs should be used. 15:10:17 ... They seem to be much more positive with VCs now 15:10:49 ... The event in Geneva grew out of a panel that was held in Davos where director of W3C was present and talked about W3C technologies VCs and DIDs, etc. 15:10:51 bigbluehat has joined #did 15:11:09 s/director of W3C/Seth Dobbs, CEO of W3C/ 15:11:14 ... The goals appear to be a bit vague, but its more like bringing together all possible partners together to see where the work should go 15:11:34 ... It's more a general architecture than about DIDs or VCs. 15:11:54 ... This is not a W3C event. We were invited. 15:11:57 ... Seems that W3C is the main promoter in terms of privacy. 15:12:14 ... At least in Davos, privacy was discussed 15:12:38 ... For the time being its worth being present 15:12:38 JennieM has joined #did 15:12:38 ack ChristopherA 15:12:49 ChristopherA: I have the same reservations that Manu has. 15:13:02 ... Plus there is an entire class of participants, e.g., in the hardware level 15:13:13 ... who are totally not represented. I have some concerns there. 15:13:19 ... Joe, maybe you can find the document 15:13:48 ... A RWOT SICPA paper comparing wallet flows for blockchains with financial, compared to similar flows for identity wallets. 15:14:00 ... I don't know that I can go. 15:14:13 Topic: Overview of the DID Resolution Architecture Section 15:14:19 present+ 15:14:28 present+ 15:14:31 wip: What changes should we consider? 15:15:14 markus_sabadello: we are defining resolution function in Section 4 15:15:27 ... we are about to remove the resolveRepresentation function 15:15:37 ... We've already talked quite a bit about options and metadata and algorithm 15:15:55 ... This is described as an abstract function. No particular protocol 15:16:19 ... We define inputs and outputs, but how it is implemented and deployed 15:16:46 ... DID resolvers could come in different forms. Remotely overy HTTP, or just a local library that doesn't communicate with any external systems. 15:17:08 ... Section 7 is about DID Resolution Architecture to discuss this 15:17:37 ... The way the section is now, it's divided into two sections, method architectures and resolver architectures. 15:17:53 ... The section on method architectures tries to cover how a resolver reads information from the VDR 15:18:13 ... When you invoke a resolver, it reads data according to the DID method spec. This section covers how that is done. 15:18:38 ...For example, no assumption should be made that a blockchain is being used or that interaction with remote networks are required. 15:19:16 ... We discuss verifiable read and unverifiable read. Depending on the DID method, this could be done in a way that has some sort of cryptographic verifiability or not. 15:19:53 ... For example, a resolver resolving a bitcoin method might do that by using an explorer api (and not really know if the answer is correct) 15:20:02 (I found the link to the RWOT paper on wallet architectures "What’s in Your Wallet?" https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/topics-and-advance-readings/whats-wallet.md 15:20:06 ... Or it could run its own bitcoin node with full cryptographic verifiability 15:20:32 ... What is verifiable and what are the trust characteristics. 15:20:47 ... Then the Resolver Architecture section talks about the other side of the resolver. 15:20:58 ... How a client using a resolver interacts with the resolver. 15:21:12 ... Similar considerations about local and remote bindiing. 15:21:27 ... Not about how the resolver gets the DID document, but about how the client invokes the resolver. 15:21:40 ... This binding could just be a local library that's a resolver. 15:21:58 ... Or you could use a remote service. 15:22:16 ... We discuss a bunch of considerations when using those architecutres 15:22:46 ... Then additional considerations about proxies, with resolvers calling other resolvers. 15:23:07 ... And subsection about different parts of the process handled by different resolvers 15:23:40 q+ 15:24:13 ... There are several issues addressing different topics for this area 15:24:32 ... What kinds of things do we want in the spec? 15:24:39 Thanks Markus great overview! 15:24:52 wip: This section already exists. Has a bunch of issue tags that need help. 15:25:08 ... ChristopherA can you share your ideas in these issues? 15:25:09 ack ChristopherA 15:25:35 ChristopherA: There is a lot more richness going on than what is even in this simplified proxy model 15:25:43 ... You have some complicated relationships. 15:26:20 ... You might trust code in the browser. Or there might be a "trust zone" or SSH-capable FIDO keys, an airgapped connection to a hardware device where they don't trust the bluetooth chip. 15:26:51 ... There's also richness at the other end: the resolver that you speak to may be able to do a measure of trust, not just in that particular resolver, but also what that resolver can do. 15:27:12 ... like with BTCR where there are multiple phases ... you might have initial resolver that does initial work 15:27:32 ... but then when you want the other parts, you might need to talk to another resolver with more capability 15:27:58 ... For example, most bitocin nodes are pruned, but you can run a full now (and need to for full history) 15:28:19 ... Also you might want to check via multiple explorers, even randomized to make sure you aren't relying on any particular one. 15:28:40 ... This allows "broad internet consensus" to help 15:28:55 wip: Thanks, Christopher 15:28:56 q+ 15:28:57 TallTed has joined #did 15:29:06 ack markus_sabadello 15:29:08 ... What actual things should we add to the diagram? 15:29:25 Or should we jump into issue 79? 15:29:52 ... I read this section before the call. It's definitely a work in progress, but those flags... some are really good 15:30:25 ... Some things that came out: the best case is a local resolver running verifiable reads on specific methods, clear that each method's "reads" are going to have different levels of confidence. 15:30:54 ... Markus? 15:31:02 q+ 15:31:13 markus_sabadello: Thanks, Christopher. A lot of what you said is possible on a high level with the language we have already. 15:31:41 Here is 6-year old diagram: https://github.com/WebOfTrustInfo/rwot9-prague/raw/master/topics-and-advance-readings/media/ExpandedDecentralizedIdentityNetworkComponents.png 15:31:44 ... For example, "browsers have certain trusted ways of executing code", I think that is what these subsections are trying to explain. 15:31:54 ... Local/remote binding, verified/unverified read 15:32:07 present+ 15:32:11 ... Points about multiple resolvers are all ways of making the read operation more verifiable 15:32:19 present+ 15:32:22 q? 15:32:25 ... We could add these as examples. They'd fit right in. 15:32:27 ack manu 15:33:01 q+ 15:33:05 manu: Looking at #79. There are valid concerns. And noting Markus's concerns. But I don't know if the current text doesn't strike the right balance. 15:33:20 ... the sections Markus put in are good, because they establish what people should be thinking about 15:33:44 ... Also +1 to Christopher's point, we don't want to lock down too far in version 1.0 15:34:02 ... Maybe there are statements in there locking things down prematurely. I'd support fixing that. 15:34:19 ... Also, this might be something more for security considerations rather than where it is now. 15:34:30 q+ 15:34:38 ... but sometimes it's better to have something in the considerations that you don't want to get lost 15:34:58 ... I'd rather us write more than less as long as it doesn't lock anything in normatively 15:35:17 q+ 15:35:19 ack ChristopherA 15:35:19 ... Some people complain about verbose specifications, but this is a core part of the ecosystem and we should give it the amount of text that explains it clearly 15:35:29 https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/topics-and-advance-readings/media/ExpandedDecentralizedIdentityNetworkComponents.png 15:35:36 ChristopherA; I don't think we want to have something as complex as this image (in chat) 15:36:01 ... My point is that "it's a lot richer" and we need to convey that to people A variety of things going on here that they may not be aware of. 15:36:08 s/ChristopherA; I don't/ChristopherA: I don't/ 15:36:08 q+ to mention threat modeling 15:36:35 ... A lot of newer homomorphic and zk proofs are partially done in hardware. 15:37:02 ... In the diagram, there's a big dotted line that isn't actually a network connection, it's a secure multi-party computation going on, not a web connection in the classic sense. 15:37:20 ... What's the right minimal amount explain this complexity and richness. 15:37:23 this diagram --> https://raw.githubusercontent.com/WebOfTrustInfo/rwot9-prague/refs/heads/master/topics-and-advance-readings/media/ExpandedDecentralizedIdentityNetworkComponents.png 15:37:33 ... This is all applicable to revocation, which could happen because of a quorum 15:37:34 ack Wip 15:37:49 scribe+ 15:38:22 wip: we should try not to put things in boxes 15:38:41 ... I agree with Manu, some of this does go in Security considerations, or at least in there as well. 15:38:57 ack markus_sabadello 15:38:57 ... maybe even if those sections just flag ot read the other section 15:39:16 markus_sabadello: regarding the richness, the current diagrams are completely generic 15:39:19 q+ 15:39:28 ... I tried to make them so they apply theoretically to all did methods 15:39:51 ... Should work for did:key where everything is local, as well as did:btcr or did:btc1 where there is more complexity. 15:40:02 ... I like the idea of some examples 15:40:15 ... We could do some more specific versions of the different architectures 15:40:43 ack JoeAndrieu 15:40:43 JoeAndrieu, you wanted to mention threat modeling 15:40:45 ... We can illustrate these differences a bit more as they apply to certain DID methods 15:41:00 JoeAndrieu: What we're nuzzling towards is doing some threat modelling. 15:41:37 JoeAndrieu: If we do those architecture diagrams with some of the sensibilities in the security group, which are still sort of nascent, Adam Shostack starts with data flow diagrams, analyze threats for that architecture, show difference in the threats that emerge because of different architectures. 15:41:43 q+ 15:41:46 ack ottomorac 15:41:50 JoeAndrieu: Not quite ready to kick that off right now, but that might be where we should be going. 15:42:08 ottomorac: I was wondering: we have this diagram with Chris that shows some architectures. 15:42:23 ack markus_sabadello 15:42:23 ... do we have some examples of different architectures that we could study or describe in the spec? 15:43:01 markus_sabadello: I wanted to ask some of the open issues we have about authentication, ... , selective disclosure. 15:43:11 (related to this specific issue is also https://github.com/w3c/did-resolution/issues/28) 15:43:23 ... so far we've been talking about trust, but there are also additional features under consideration 15:43:33 ... should we specify that resolvers can have authentications? 15:43:48 ... Or there should be ways to selectively disclose parts of a DID document 15:43:57 q+ 15:44:01 subtopic: https://github.com/w3c/did-resolution/issues/79 15:44:20 wip: I agree with Markus, which of these features do we want to add to the resolution spec 15:44:21 ack ChristopherA 15:44:51 ChristopherA: To add a little richness. There was a mention of how a client trusts a resolver, but there are also situations where a resolver must be able to trust the client. 15:45:17 ... For example, a resolver might be able to do basic resolution, but elide specific data about specific keys 15:45:30 ... In a public API you just get the key you need, just what you need 15:45:46 q+ 15:45:57 ... but then you might need to authenticate to resolver service or some kind of OCAP authorization from issuer or holder to reveal the elided information 15:46:03 ack Wip 15:46:04 ... The trust CAN go both ways 15:46:29 wip: I think all of these topics are important, but as I read it, I agree some of these are too big 15:46:46 ... e.g., DID Resolution enables extensions, so are these really not possible or just not yet extended? 15:46:53 https://github.com/w3c/did-resolution/issues/38 15:46:56 Maybe a "future work" session? 15:47:05 ... One thing we might want to add to the spec would be #38 about authorization and authentication 15:47:19 q? 15:47:24 trust in the resolver is interesting for sure 15:47:32 its almost the same as trusting the issuer 15:47:39 a fuzzy question to tackle 15:47:50 q+ 15:48:00 wip: this has been an interesting discussion. Are there issues we should be creating? Like adding examples of different architectures. 15:48:06 ... Maybe one for threat modeling. 15:48:11 ack markus_sabadello 15:48:49 markus_sabadello: I think what Christopher said, I think we should mention/explain is what a client is and how to deal with elided v public components of a DID document. 15:49:07 q+ 15:49:12 ... we should talk about it as a possibility, but are we ready to build it into the algorithm. 15:49:31 ... That feels like a lot of work, so maybe we start in Security considerations that these are possibilities 15:50:03 ... But it is a pretty fundamental question, saying effectively that the result of the resolution process depends on who the client is and what the client is providing. 15:50:22 ... We had always been saying we have the DID you get the DID document, no variations. 15:50:22 ack ChristopherA 15:50:47 ChristopherA: I wanted to pop up a level. Tactically, we have a limited scope to do a 1.0 spec. We're focused on the resolver. 15:51:19 ... We could just do the minimal viable thing. But part of why I'm motivated to talk about these broader issues is a response to what is going on with EUDI wallet and mDL and things of that nature. 15:51:37 ... we have offered to the world a technology that has superior capabilities to centralized solutions 15:52:04 ... Somehow conveying that we should use elision with committed, but unrevealed endpoints, and the ability to work with different kinds of hardware, etc. 15:52:29 ... When someone says DIDs doesn't offer anything to overcome XYZ, we can say, yeah, but you don't do ABC 15:52:30 Should the did resolution categories maybe follow the did methods beings standardized? 15:52:31 q+ 15:52:42 ack Wip 15:52:47 after all those would be gaining notoriety in the community... 15:53:02 q+ to speak against variations on DID document 15:53:12 q+ 15:53:12 scribe+ 15:53:20 wip: Maybe there's a type that can still resolve to a DID document compatible to the API 15:53:22 ack JoeAndrieu 15:53:22 JoeAndrieu, you wanted to speak against variations on DID document 15:53:44 JoeAndrieu: Standardizing that you might get back different DID Docs on who you are opens the door to widespread late publishing problems. 15:54:18 q+ 15:54:19 JoeAndrieu: They might not be able to verify that they're working w/ a particular DID... we've seen use cases where results of the entire DID Document withheld, but to have variations on it introduces a challenging security context. 15:54:20 ack manu 15:54:33 Manu: yes a light +1 to what Joe said... 15:54:38 manu: Yeah, a light +1 to what Joe said. I think we should explore the space. I have the same concerns. 15:54:45 scribe- 15:55:09 q+ 15:55:16 manu: As editor, reminding folks, we can't add new features. 15:55:23 q+ to challenge the features comment 15:55:24 ack ChristopherA 15:55:31 zakim, close the queue 15:55:31 ok, Wip, the speaker queue is closed 15:55:47 ChristopherA: I agree with the concerns if it's just the elided document. 15:55:56 ... but there is a way to demonstrate they are "the same" 15:56:20 +1 I also think it might be possible. Needs experimentation though 15:56:20 ... It's just the commitments are made, but when you get the more detailed document, you see all the commitments revealed 15:56:31 ... So they are one document and they can have one trust point. 15:56:35 ack ottomorac 15:56:38 +1 to finding a middle ground 15:57:01 otto: the other thing I'm wondering. Given we are standarding DID methods, that is itself an endorsement 15:57:19 q+ to say we are not supposed to be endorsing particular methods 15:57:31 ack JoeAndrieu 15:57:31 JoeAndrieu, you wanted to challenge the features comment 15:58:44 https://github.com/w3c/did/issues/337 15:59:11 RRSAgent, make minutes 15:59:13 I have made the request to generate https://www.w3.org/2025/03/13-did-minutes.html pchampin 16:00:02 m2gbot, link issues with transcript 16:00:03 comment created: https://github.com/w3c/did-resolution/issues/79#issuecomment-2721775537 17:31:11 ottomorac has joined #did 18:02:39 Zakim has left #did 18:04:35 bkardell_ has joined #did 19:49:19 jyasskin has joined #did 22:43:48 dlehn1 has joined #did