Submind YouTube summaries
Thumbnail for KSWG did:webs Task Force - 2026/09/15

KSWG did:webs Task Force - 2026/09/15

Watch on YouTube

Video summary

The meeting focused on significant advancements made to the DID Core specification, particularly regarding the evolution of the dossier spec. Daniel presented several Pull Requests (PRs) that address mechanical updates and new functional requirements. The first update was a mechanical PR from Core designed to help specifications utilize the latest features of SpecUpT by adding a dependency on a new version. A second major contribution addressed regulatory filing use cases, introducing new sections to handle joint issuance scenarios where multiple parties must coordinate without tight coupling. This approach utilizes AC/DCs and edges to create a cryptographically verifiable governance structure, allowing for real-world scenarios like judicial courts where parties share a decision but maintain separate key management systems. A third PR introduced the actual operators discussed in the specification, serving as a forcing function to implement requirements derived from the regulatory filing use case. During the discussion, the team clarified that while joint issuance is a major feature of the dossier spec, it was kept separate from the AC/DC or Core specs to avoid over-complicating those existing documents. The group acknowledged that modeling real-world governance structures inherently requires complexity and that simplifying them beyond necessity would render the models useless for actual application. They agreed that while the IETF might eventually split these into smaller specifications, keeping joint issuance within the dossier spec currently provides a more relaxed timeline for maturation without burdening users with unnecessary intricacies in other core specs. The final portion of the meeting covered action items and corrections for the DID Web specification based on recent reviews. Key changes included adding an informative section on interoperability bridges, correcting descriptions of direct and indirect modes, and expanding the permitted syntax for Attestation Identifiers (AIDs) to cover various forms beyond just those derived from inception events. The group also resolved an open question regarding complex nested fractionally weighted thresholds, agreeing to support them in the spec despite concerns about complexity. To balance this, they decided to place detailed examples of these complex structures in an appendix rather than the main body, ensuring that users seeking simple use cases are not overwhelmed while still providing a path for those needing advanced features. The discussion concluded with a consensus on how to handle the tension between simplicity and expressiveness, noting that W3C consumers often prefer simple single-signature credentials and may not engage with complex multi-signature logic unless absolutely necessary. Consequently, the team agreed to provide clear worked examples in an appendix for complex scenarios while keeping the normative sections focused on simpler, widely applicable cases. Several open action items were assigned, including reconciling the Python reference implementation with the normative spec language and investigating how DID Web could leverage the trust test framework. With these corrections and clarifications addressed, the group confirmed that no further substantive issues remained, allowing them to close the meeting and return to their regular schedules.
Read the full video transcript
Hello everybody. I'm just pulling the meeting notes up and then we'll get started. And I am looking for Daniel. We usually hand the first half an hour over to him. And so we'll give him a minute to show up. And if he doesn't, we'll just jump into did webs. There he is. Morning, Daniel. >> Good morning. >> So would you like to take the first half of today for the dossier spec as usual? >> Yeah, sure. >> Okay, go right ahead. I'll get a meeting notes up in the background as you're going. >> Okay. Um, thank you to several people who have um, helped us over the last um, days and weeks because uh, we have several substantive things to talk about on the dossier spec. Let me um get my screen up here um ready to share. So um we had first a kind of a mechanical PR from um core. Um this is related to the specup T uh evolutions. um a few days ago um or raised this nice PR. Well, actually it was only a couple days ago raised this nice PR about um how to help the um the spec use all the latest spec upd uh features. I had done a change how long ago? I don't know a week or two ago. Um and core followed it up to make sure that things were being done right and added a um dependency on a new version of specup T1.9 I think. So um there's that PR and then um here we go. This is the right thing to share. Um well that's uh PR28. Um and then um last time we had this meeting, somebody, it might have been Sam suggested that I talk uh to Kevin about some of the stuff Gly's been doing related to uh regulatory filings. And uh Kevin sent me a bunch of information about how Glyfe wanted to solve a regulatory filing problem um using dossas. And so there's now this is uh authored by me but but um nod to Kevin for helping me find um some of the details here. Uh PR29 is sort of about um a use case for the dossier spec which added a couple of requirements to the u um to the spec that we hadn't been talking about. That's what close the gaps meant. Um, so there's basically a new section at the end in the use cases about um, a regulatory filing with the dossier. Um, and a few other sentences here and there that changed because of that. Um, so that's PR29. Um then I wrote um this one because PR30 because I started implementing um the actual operators that the dossier spec starts uh it talks about and uh I had promised I would do that. There's a draft uh PR against Carrie PI for those operators, but it's just a draft. I'm not asking for anybody to look at it yet, but at least it tracks what I started doing if if you're interested. But it was a useful forcing function and I found a couple of things as I was doing that. Um, and this also contains some things that were forced by PR29, which is why it's stacked on it. Um, so in order to address all of the um requirements that I got from um the regulatory filing uh use case, there were a couple of uh things that I needed to add to the dossier spec, not to carry pie. So that's uh PR30. And then lastly, um we have PR31. um which addresses some more of the things from um these are like loose ends from course specification or course uh PR where as [clears throat] I was processing course PR and doing a review on it. Um I realized there were a couple of other things that we ought to be doing. So um four ways that uh the specification has really moved forward since last month. I think um I would be inclined to just merge KOR's uh mechanical PR right here. Um even during this meeting I've already done a careful review of it and logged my review, but um nobody else has and it hasn't been open that long. So, I think maybe I'll leave it open a little bit longer if anybody wants to um review it. The other three are not just mechanical, and I'd really love um feedback on them from anybody who um is in there and feels interested. Um I think Kevin might be particularly interested in PR29 if he's on the call. I don't know if he is. Um, it's it's a generic regulatory filing use case, not specifically uh his, but I think it's close enough that um it covers what Kevin is interested in. Anyway, um, anybody have any questions or would you like to discuss any of these PRs in more detail? So is the PR30 verification outcomes authority binding self-contained packages and the profile regulatory PR are those just taking the operators that you have a open PR to carry PI for and then pulling them into the dossier spec. >> Well the dossier spec declared these operators um first >> first. Okay, gotcha. Yeah, it basically in order it's so the operator work is partly just pure operator work but it's also um joint issuance. Um so there's a section of the dossier spec that talks about an issuance paradigm where um uh person it's you could compare it to multi-IG issuance. In multi-IG issuance, somebody uh you know creates the event and then asks others in the multi-IG group to join it and um the escrowing process in carry pie is managing whether those signatures accumulate and make a single um valid event um when all of the you know signers have joined um in joint issuance. We're pushing uh some of that complexity off to uh the AC/DC layer. We're essentially saying um everybody who um wants to be a joint issuer of this should endorse the action by uh creating their own AC/DC of it. Um, so there's we're not um trying to manage this through a multi-IG process, but we're rather saying whenever you want, however you want, uh, just go ahead and issue an AC/DC saying that you endorse this joint action and um, then uh, well, there's a couple of ways to do it, but the way that we describe most carefully in the spec is that a kind of like a convenor um, goes goes around and monitors this and gathers up the evidence and says, "Look, we got to our threshold." Um, Sam, >> yeah, if I could if I could add something to that, um, the the multi-IG requires tight coordination between the parties. So a multi-IG group, you have to assume that the the parties involved are working closely together because they're managing one Kell and the security constraints on that Kell and the detectability of key compromise all of those things um you know impose you know uh you know a a tight coordination window on on on managing you know the the that identifier Whereas in joint issuance, the idea is that there are real world governance scenarios where tight coordination just doesn't make sense. It's it's too much of a constraint. And so and so uh with AC/DC's and edges you can you can create a governance structure with schema an ecosystem governance framework that says this is how we're going to govern this thing and we're going to govern it and these are the parties that are going to be the governors and and there's going to and they're going to essentially vote to change you know the the to to make changes and and that's and So they're and and and what they're governing it are documents, you know, AC/DC's that are, you know, it might be it might be uh like one of the examples is I think in is in the spec is like um you know this a judiciary that has you know like five members on a court, right? [snorts] And they're going to make they're going to issue court decisions and they have to have a majority. Um but but they but they they don't all share, you know, this the same key event log, right? So they're so they each have their own key event log. They each have their own uh key key management system, their own key key infrastructure. Um but they need to coordinate together on some on on on the court decisions. And so they so we need a a a cryptographically verifiable governance structure and AC/DC's provide that because of the edges allow you to you know contribute AC/DC's to a to to a uh a graph of ACDC's and and you can evaluate the truth of that graph by evaluating its edges and the truth of that graph is the results in the governance decision. So it's a so it it extends the idea of automated reasoning to a cryptographically verifiable uh construct. So it's not just a graph that you traverse. It's a it's an authenticatable graph that you traverse. And and I don't know if that helps. So, so it it really, you know, expands the uh what what you can do now uh in, you know, in modeling real world government structures. Um, you know, just like delegation, you know, allows you to model chains of authority, you have other other ways other ways that authority is expressed that aren't delegation chains. >> Yeah. Um, I the flexibility of this is um the the first reason why I started pursuing it. I I think that there are absolutely situations where you want um people who don't have the ability to coordinate tightly to nonetheless govern something. And uh so I I see it as a really exciting option. The the thing to note here is that although this is the we call it the dossier spec, joint issuance is a major feature and um the only reason we're not putting it in like the AC/DC spec or the carry uh spec or something is that um it's uh we didn't want to introduce yet another spec or yet another reason to um you have something new that has to mature while the a bunch of other core stuff that people are already eager to get uh is also trying to mature. Let let the specs in their current forms carry the features that they have to carry and um describe this joint issuance concept in a new spec that has a little bit more relaxed um you know timing. So um but that doesn't mean that it's just uh purely about dossas uh joint issuance and dossas are somewhat separable. It's just that dossas need need them or needs it. Would that be a true statement Sam? >> Yeah. Yeah. It just it just when you look at what it when you looked at the operators for dossier they a a set of the dossier applications required during issuance. So, it just made sense to put it here. I mean, down the road, you know, in the IETF, you'd probably separate all of these specs into small specs. So, you know, so you the dossier spec might split up into at least two maybe three specs or, you know, or you know, cuz they because they want things to be smaller and the AC/DC spec would be half a dozen specs and the carry spec would be half a dozen specs. But but you know uh but but uh not putting it in the AC/DC spec is a good move because as it is already people that are complaining about AC/DC's you know say that it's too complex right and and it and it's and they'll go yeah it it we we want simpler stuff and I go well if you if you look at the set of specifications that that are normative references is for a did um that set is is is big and and you have to understand all of those. So so so it's a false it's a false way to think about complexity. Um but it does make it easier to manage um small parts of the specs and to implement the specs in in in part. So, so I I don't disagree with the IETF's approach. I'm just I I'm just sensitive to the fact that people complain that Kerry is in AC/DC's are complicated and we just made them even more complicated by adding um adding joint issuance and dossas. >> Yeah. And the the defense against that charge I would say is two points. Point one is um this is uh modeling real world situations and >> yeah it's the it's the simplicity that is that you need right >> that's that was going to be my point too is therefore um this is loadbearing you there is no other way to do it except acknowledge that the world is this complicated [laughter] >> yeah [clears throat] it's like Einstein's famous quote make things as simple as possible but no simpler right well If if if it's loadbearing to to you know to quote you then you can't you have to have it otherwise the building falls down. >> So so you can't you can't model real world processes with something that's too simple to model them. Right? All models are are are wrong and some models are useful and models that aren't aren't complic complex enough to model to be useful are are are are useless. So, so, so you know, I I get frustrated, you know, you know, I'm letting a little bit of the discussion coming out of the SETI thing and I appreciate your your thoughtful response to that, but it's just like we've been trying for years to model these things and and we don't have the tools to do it because the W3C is not interested. And and their response is, well, it's too complicated. we we need to stick with things that we know and and we we shouldn't be trying things that we don't know. And I'm just like, okay. >> Yeah. So um maybe to put a bow on this part of the conversation, I'll just say part of the outcome of the dossier spec uh should be a wellsp specified behavior that isn't only useful in dossas but is generally useful which is how do you um do joint issuance and um I intend for that to be a mainstream feature. in Carrie PI very quickly. Um, this is part of why I'm uh I started a draft PR on this topic is because I think that's a very useful thing for Carrie PI to have as a a feature. So, um, the the the PR that I started is mostly at this point about operators. It doesn't yet have all the stuff about how you would do a verification of such a thing or or whatever. But eventually um I'll I'll try to contribute all of that. It won't just be writing a spec. It'll be contributing a feature that goes with it. >> Yeah, that'd be great. >> Um Sam, while we have an opportunity, I want to talk about one concept that um I wrestled with in um the PR thus far. the PR that I wrote against the AC/DC spec thus far. >> Okay. >> It came out of um uh uh you'll laugh a dumb conversation I was having with an AI. The AI said, "Well, this is a a joint issuance is completely useless because you have a circularity problem." And I said, "What do you mean?" And the AI said, well, you know, if you have to issue uh a dossier and you use pending status or basically meta data uh AC/DC's uh as placeholders in slots where um somebody will eventually endorse something. So let's go to your Supreme Court use case. Um, when you first create an AC/DC, you a a dossier AC/DC, you say, um, you know, here's the the pending decision of the court. And now, um, we have, uh, I'll take your number, five justices that have to vote on it. So you create an AC/DC um that has five metadata um edges where each of those edges is in pending status waiting for um one of the contributors to make their endorsement or their decline decision. Um and you can setify that. But the endorsement AC/DC uh says that it has to have an edge back to the thing that you're endorsing and that edge has to be a said. So um you have this circularity problem where you have edges that have to point back to um the original AC/DC. How do you solve that problem? Does that [clears throat] make sense? In essence, it's the placeholders have to point back to something by said, and the thing that they're pointing back to is um uh not setifiable until you know what the placeholders contain. So, you've got two >> two ACDCs that you know is a circularity problem. Yeah. So, I'm not I'm not I'm not quite sure I'm pictur picture picturing the the uh because I'm not I'm not I I guess you'd have to show me the example. So, one of the things one one of the things that that gets that sometimes the AI gets confused about is that um I if is that you have a you might have two different points in time. And so >> yes, that was this was what it >> so so the fe the feedback loop is is not is not continuous time. It's discrete time. And so you can point to something at time equals K at time k + one and and they're not and it's not it's not circular because they're because one one one was in an earlier state and the other one was at a latter state. So there's so so they so it still works. Um >> yes, this is what I essentially told it. It comes down to this section of the spec as it's currently written. Um when you write um the dossier and you say, you know, we're going to be embodying a Supreme Court decision here. Um when you first create it, um you have all the endorsements are in a pending status. >> Yeah. It's the meta ACDC. A meta ACDC is a different AC/DC has a different set, >> right? And when you and when and so and so you're you're pointing to the meta one, but then when when it gets issued, you will everything gets updated to new sets at at the at the the point because you're they're placeholders, >> right? >> So it's not circular. >> That's right. That's right. But I I this is a something I wanted the community to hear. I think it's a a good point. So, the way that you issue a dossier is kind of in a series of snapshots. Um, if you're doing joint issuance, that is, you don't have to do joint issuance with dossas, by the way. Like, if you're an investigative reporter or an academic and you're just building a dossier of all your research, you can just do it and and in one go, you just issue the whole thing. But um if you're doing something like the Supreme Court use case then what you do is you create a dossier where all the edges um are meta ACDC's and those meta ACDC's um just represent the possibility of a decision from party X and they're in a pending status. Then as the decisions actually accumulate, they accumulate in the form of justice one issuing an endorsement AC/DC, um, adjustment two, justice 2 issuing a decline ACDC and so forth. And so these meta ACDCs are replaced with concrete ones, uh, concrete status. And each time one of these decisions gets recorded, or if you wanted, you could record three at once or whatever. You don't have to do it one at a time, but each time there's a progression in the status of the AC/DC, you issue a new snapshot of the AC/DC that says, um, you know, this one points back to that old one, but this one now has new state in it because um, you know, slots two and three now have endorsements in them. >> Yeah. And that's why I use the example of discrete time. The the dossier itself is a discrete time state system. So it's a discrete event system. At time k equals 0, everything is pending. Everything's a metadata acdc. All the sets are essentially replaceable. And then at K equals 1, one of the one of the decisions come in and now you have a different state with with the the the origin set is different. And then at K equals 2, K equals 3. And so so the state evolution of the dossier can be mapped precisely because each time you change some some attribute in this in the in the graph, you get diff different sets. Yeah. >> Um that's just a different I just think of things that way because I'm a control engineer, right? So I think of discrete, you know, but you have a feedback loop, right? That's always the problem in discrete time is that you have a feedback loop. And the way feedback works is that is that um the output at K + one is a function of the inputs at K and the state at K minus one. Right? So, so, so you're you're you're you know, you you have three different times that you're tracking to do a feedback loop. >> Yeah. [clears throat] Okay. Well, um I think that's enough uh time uh focused on the dossas. Uh like I said, I'd be grateful of anybody's uh feedback on these PRs. Um if I don't get feedback, I'll probably merge um uh after about a week. Um uh but I would like I would prefer it if I got some feedback especially on my PRs on cores I'm already pretty confident but um so >> yeah I'll try to look at those. >> Okay thanks everybody. Um over to you Kent. >> Great. Thanks Daniel. I will jump in quickly to the did webs portion. It's actually going to be quite short as there were no no work was done on the spec or the implementation since last time. So I'll show the seven items that I summarized from your comments, Sam, so everybody knows what be done next and then if we want to talk over them, we can or we can just give everybody a bunch of time back. So I'll share my screen here. >> Oh, Daniel, will you unshare? >> I'm trying to find the unshare button. I have the share button, but the unshare doesn't let me do anything except share again. And what what's the deal? >> Um, sometimes that happens. You have to find the there's an upper menu bar on one of your screens and then you find that and it says stop share there. I I know the exact problem. You're like, I want to stop sharing. >> I think it's on the this the screen that's being shared, I think, is where the control is not. >> It's usually that control. And it's a like it's a poppy down thing. >> Yeah. Sometimes you have to hit escape to show. Well, I tell you what. I'm just going to close my browser. That ought to um that ought to make it stop sharing. Right. >> There we go. >> It did. There we go. >> One of the reasons why I like Zoom is because you can do this. You can share just a portion of the screen. All right. So, we went through today is September 15th. We just finished the dossier spec section. I will actually mention the antitrust policy notice and I should ask a question. I'll actually say this before the dossier meeting if you want me to Daniel but I didn't think that I didn't know whether or not we had actually pulled that into the car sweet working group. Have we actually made a task force for dossier spec? >> Yes and um the the URL for it is a KSWG URL also. Um, so yes, it's it's all official and hopefully all of that conversation felt antirust aligned. [laughter] >> Usually does. >> Yeah, we did that some time ago. >> Yeah, I'll mention this then at the beginning before I hand it over next time. So, just as a reminder for everybody here, attendees are reminded to adhere to the meeting agenda and not participate in activities prohibited under antitrust and competition laws. Only members of the trust overIP Foundation who have signed the necessary agreements are permitted to participate in this activity beyond an observer role. So anybody is welcome to observe. If you'd like to participate substantively, you need to be a to member. All right. And so we had the dossier spec discussion from Daniel. Thank you. We've got a bunch of PRs that are essentially going to be merged in in a week or two if there are no comments. And so we'll move on to the the data web portion. So we have some open action items from last time. I'll quickly read through those and then we'll get to the announcements which there are none and then reports and discussion and we'll read the open action items at the end and move on. So the action items are I was going to address your comment Sam on version 01013 of the web spec. It what it amounts to is six corrections and one open question that we'll mention in the discussion section. So, seven overall parts and some of the work that remains to be done that has my name on it includes performing a reconciliation between the normative spec language and the Python reference implementation that did say in progress but I haven't worked on it in a month. So, I changed it from in progress to TBD. I do have some work papers that I need to get back to. I've been put on other things at Glyfe and the last little bit plus a little bit of vacation. There's a TBD with Jonathan. It says that he will report to the diff diff recommended methods working group that we are ready to resume the process. This is actually going to be just delayed. I'm going to say delay dash on this because that's waiting for everything else. I'll go ahead and put this at the bottom of our open items list because that's going to be essentially the last thing that we do. All right. And one other thing that's for me is I know Carly brought this up. I have not yet taken a look. So it's still open. So Kent will take a quick look at the trust task framework to see how dead webs might be leveraged for this. Have not had time to get to anything on dead web the last month other than a little bit of the spec reconciliation. So we'll just jump right into reports. So the spec was reviewed by SAM and those review comments need to be factored into the spec. That's where we were last month where we're essentially in the same state today. the implementation and the spec have not had any changes since the last meeting. And so what I'll do is I'll quickly review any uh the the seven changes. Well, there's six corrections and then one open question. So that's why I'm saying seven items. And if anybody has any questions about them, we can discuss them here. Otherwise, we will be done in just a couple of minutes after I'm done reading the list. Okay. Anything before I jump into the list from anybody? Great. I'll jump right into it. All right. So, the review comments and Sam, feel free to stop me or correct me if anything sounds off. One of them was we need to add a explanation of the interoperability bridge as an informative section. Another one was to correct the direct mode and indirect mode descriptions. Let me pull this up to the center of the screen. Third, expand the permitted aid syntax and correct the associated explanatory claims. So the spec currently says that the aid always equals the said which requires every aid to be derived from its inception event. But it actually there are other cases we need to account for including inception event beds with transferable aids, public key derived non-transferable aids and public key derived transferable aids. And we didn't explicitly call each of these out in the spec. We need to do that. >> Yeah. you you have a you you have a um a bo a BNR form for for the aid and and so it's not it's incomplete. So >> so that's what I was calling out. You can you can say and that's that's one of the things I said you could decide that for did webs you're not allowing the other forms but I'm I don't I think there are use cases where you would want the other forms like like if you wanted to emulate did peer then you would want to use um non-transferable aids public key derived non-transferable aids or public key derived transferable aids which are more like did peer constructs but um so so they're not the main use case but um but but you but you can't say that the BNR for an aid according to Carrie is only the in uh said der said derived version of it >> right so just as a side note for me things like that were seemed like a good idea where we can emulate other digital methods with did web s because if we've got the capability and it's just a little bit more to add I think it's a really good idea to add it in just makes us look really good. So yes, we'll make sure to update the BNF form. I've got a little comment in here for that and then I have your review comments as well. Uh anything else on this line item before I move on? Okay, next one is to qualify the rule for divergent carry event streams. Divergent streams should only be considered invalid until a recovery rotation unambiguously reconciles or removes the duplicity. Right now the spec uh the datab spec is a little bit too conservative and it says that they are it declares them invalid and does not if they diverge and does not mention the recovery exception. So we need to clarify that in the event of duplicity a a did web s did can actually become workable again or usable once duplicity is reconciled. We need a deactivation path for non-ransferable aids. We didn't explicitly call that out. The existing did websp spec is favors transferable aids. We need to be explicit about non-transferable aids and this is one of those instances. So we also need an informative W3C VC usage example and I've built those. So I should be able to add that in rather rather straightforwardly. Then there was an open question. We wanted to ask whether we want to have support for complex nested fractionally weighted thresholds in the DBS spec. And right now uh this is a deficiency of the spec. This is that the this deficiency actually helped me realize that we need a proof spec as a separate spec. Right now the did web spec only supports flat weights. So we need to close the gap. I think we should close it now to where we fully support complex nested fractionally weighted thresholds. And so in my mind this question is answered in saying yes we should support complex nested fractionally weighted thresholds. Yeah. And you should you should show how to do that in in the spec [clears throat] because that's not trivial for people to infer, >> right? Yeah. So, we're that's these are essentially what I'll do is I'll say that we talked about this today. We talked about this on uh today and agreed the answer to I mean are there any dissenting voices to having this spec support complex nested fractionally weighted thresholds versus just a simple flat list. >> Okay. >> Um I don't desent. Um but I just want to note um the I would like to descent but I'm not I can't because um this is a feature of the uh aid world uh entirely and and every aid I want to have expressible in did webs. Um uh if we said no then we would um we would be making it um less expressive and did webs than uh the world it's coming from in a way that I think would be hurtful. So you know I'm in favor. Um but I think this might be something that people would complain about. So what I'm tempted to do is can we write it in such a way like we say you know go look at the uh I don't know the the appendix or something so that you can see an example of this more complicated thing so we don't um load the complexity into the body >> of the absolutely yeah I completely empathize with that. Yeah, I agree with that. We can put we can put put the put the complex examples and work through things in an appendix, you know, uh for the the the for that stuff just so but that's why that's why I suggested adding the informative sections because people reading did webs a lot of them are reading it because we're telling them look you don't you have a you have a bridge between the simple did web world and the carry world and they they they want to read the spec to to see what that bridge looks like, >> right? >> And they're going to and they're going to get frustrated and lose interest if they if all of a sudden as they're reading the spec they're having to understand Carrie too much. Right. Right. So So the so so they want to be able to say, "Oh, okay. I I just do this and and I don't have to care that much and and and the did resolver will spit out a did web and and I and I'm good, right? Um so so that's the balance. The balance is understanding that a lot of people reading did websp spec are people who don't really want to know that much about Carrie. >> Yeah. See, I have two thoughts on this and one thought leans towards the people that you just mentioned, Sam, which is they don't want they want to minimize the amount of carry they're forced to ingest. And so we we probably want to have two normative sections on multiig. One where it shows you here's a a or at least two worked examples. One shows you here's a flat list. There's a simple way to do multiig with web or to represent it. the other way so that they can mentally check out or go somewhere else if they don't want to look at the complexity say here's where you do the really cool stuff which is the complex next fraction of the weighted thresholds I think we need a worked example for both maybe it makes sense >> yeah I would I would move the second worked example I would just reference it in the spec and move that to an appendix because >> okay >> bec because basically you can you you know carry is is a normative requirement for did webs so you can refer refer to you know this is in carry but you don't but but you [snorts] know but but that's only for people who you know want that complexity right you you tell people you don't need to have you don't you don't need to support that complexity right if if all you want is a single sig you know did webs it's as it's it's as simple as did key you know >> well actually I want I I I have I might differ with that statement in this regard does a did resolver Does does a verifier that's using did webs need to be able to parse and understand a complex nested fraction weight loaded threshold? And the reason why I would ask that is is that something at the bare minimum that a did resolver has to understand. I I need to think through this maybe that's just a verifier library. Maybe it's not actually a resolver problem because if you have a lot >> if you ask if you ask the resolver to verify the the the kell then it has to be able to do that. >> Yeah. And I guess that's more of a carry thing than a did webs thing. Did webs is more of a representation of it. >> Okay. >> But at some point at some point someone has to verify that the did do matches the key state and that's part of the resolver's job. >> Yeah. Yeah. And the resolver will have to do that. Yeah. Yeah. But the point is is that they don't really care what's under the hood. >> If the resolver if you have an implementation of the resolver that that that they can just download and install and they don't have to look at the details, the the point is they go, "Oh, well, I can get a did [clears throat] web did out of this." Right. >> Yeah. >> Right. and and I didn't have to write code for it because somebody already wrote a resolver that I'll just I'll just run. >> Yeah. I'm just trying to think of what consuming situation where somebody might and we don't have to belabor this point too long is if if somebody that's not a carry consumer, let's say it's a W3C consumer gets a multi-IG that has complex nested fractionally weighted thresholds and and they actually have some business requirement to parse that and understand that. I I wonder if that tips the boundary towards having to understand carry or if we can actually try to provide a whether conditional proof 2022 or something else or >> if they're a W3C person they won't touch that there won't be any application where they would ever ever want to be in a bridge to somebody who's using complence fractionally weighted multisig. It's beyond their their it's beyond all of their tooling to even contemplate what that looks like from a verification perspective. They they want the simple single SIG temporary use uh credential that h that that that the keys expire and the and the thing you expires after 30 days. That those are their use cases. >> Yeah. And so and so we need to we need to feed them something that allows them to to see, oh yeah, that will work. Mhm. >> Um and and as opposed to them going, "Well, you guys were intellectually dishonest because you told me that I could use did WebS, but really I have to do all of these other things to be able to use it or they're confused about all the other things that they have to use and and so they they they you know so so so part of the did websp spec in my opinion is the informative sections are basically uh uh reassuring people that yes you can you you can have a bridge from Carrie to you know to to the did web world and as long as there's a resolver out there that that that you have access to right um uh and you trust the resolver either you run it yourself or you trust somebody running it, then then you have a bridge. >> If they want to implement the resolver, then then they're going to have to then then they're going to have to dig in a little bit more. But most people aren't if if one's implemented, they're not going to implement it. So, >> yeah, I won't take too much time to brainstorm here. I believe I just came up with what seems to be to me a reasonable use case. At the very least, we need to do what you said, Phil, which is make sure that if somebody gives us a DID document that has this complex nested fractionally weighted threshold, we have to be able to verify that the DID document was deterministically generated from a Caesar stream, which is essentially what the uh existing spec says. So, we need to make sure that the very least that that did document verification works. But imagine this scenario. So you're presenting on behalf of somebody and you're forced to interoperate with W3C and you have to present from a multi-IG identifier to a W3C verifier and you are presenting on behalf of somebody. So you have signing authority and you can sign because you're anchoring something to a presentation registry. So you can sign something on behalf of the multisig. Well, they need to at the very least be able to understand, okay, I can parse the nested fractionally weighted threshold expression so that I can ascertain that you have appropriate signing authority for this credential because if it's a W3C credential, you're going to send a signature with it. So, I'll think through this as because we already have a line item here that says add an informative W3C VC usage example. So to make sure that we've actually covered the full needs of the spec, since we're going to add since we agreed to add nested fraction weighted thresholds, then we need an example at least reference from the spec or in in an appendex in an informative section that actually walks people through here's how you would verify a credential being presented by a multi-IG that has one of these complex nested fraction weighted thresholds. It >> I I don't even think it's that complicated of a use case. If anyone wants to resolve the did of the glyph root of trust, they got to be able to resolve one of these, right? >> Okay. >> Right. If you want to look at the did of the glyph of trust of trust is is a flat weighted. It's not a nested. >> Yeah, it's not nested. >> Well, it's supposed to be. It was supposed to be, I think. >> Maybe we never got there, but I thought it was supposed to be. >> Okay. >> Well, it it is weighted multisig, but it's not nested weighted multisig. We added the nested weight later. >> Regardless of that, if you look at the the work that Marcus did on this, which I thought was really good, the conditional proof 2022, uh, a condition of the condition weighted threshold can point to another condition proof 2022. So, it's really just a recursive definition based off of the nested structure and the carry thing. I don't think it's that complicated really. >> Yeah, that's that that's what it seems like. >> I mean, he has an example here of a simple fraction weighted threshold. If you just start nest, you know, just add recursion into there. all based on the nesting structure of the carry threshold. It's really not that complicated. >> It's verbose, but I think Yeah, like you say, I don't think it's that >> Well, of course, it's verbose. It's >> Well, I I agree with you, Phil. It's It's It's not that complicated, right? [laughter] Nothing in Carrie is that complicated. It's just more complicated than what W3C does. and and so their tolerance for complication is pretty is pretty shallow in my opinion. And I I don't think that that's entirely uh entirely honest when they say that, right? It's not not like that. It's not like that. A uh an art uh um an integrity proof or an RDF graph isn't extremely complicated. Yet, they don't bock at that, right? They they don't have a problem throwing that out there and saying yes, right? But they'll they'll b at simple things in carry that aren't that complicated. So, so it's a perception problem. It's it's it's not a it's not a it's a political problem. And and I'm, you know, it's almost embarrassing that we have to we have to mess with that. So, I I agree with you that it's not that complicated. It's more it's it's more the politics of of of of [clears throat] how >> I mean maybe just in the in the in the normative section underneath the existing example of a flat structure, you just put a sentence that says a more complex structure can be developed that supports the carry nested fractionally weighted thresholds because proof 2022 supports referencing other proof 2022s in their condition field and then if you want go ahead in the informative section build one out but um I think that's all you need to do. Yeah, at that point as long as we can point to the reference implementation and like an integration test that does it, that's probably enough. A note like you mentioned and then an integration test under the existing example or complex uh way scheme is possible and supported. Okay. Oh, good. Well, that's a great discussion. I think we've got everything else is somewhat clear at this point. So, thank everybody for contributing to that. That's pretty much everything we had to go over today unless there's anything from anybody else or any open questions. There's a great discussion on the fraction blade thresholds. Okay, so just to review the action items before we close out and give everybody about 8 minutes back or seven. I'm going to address your comments Sam on the version 01013 of the dead web sspec when I'm able to. There are six corrections and one open question that is now closed. So I'm going to say seven corrections. I will add a version two example to the dead web spec. And I'm going to have a carry ACDC version two. We'll per I will perform a reconciliation between normative spec language and the Python reference implementation started just in my workpapers. Jonathan will report to the diff recommended DID methods when we're ready that a working group that we are ready to resume the process. So I'm going to go ahead and put this delayed at the bottom again like we did earlier and I will take a quick look at the trust test framework to see how data web might be leveraged. Those are all the open items. Are there any is there anything we missed that anybody wants to point out? Hearing going once going twice hearing nothing we'll call this meeting over. Thank you everybody for your time and you have seven minutes back to your life. >> All right. See you the next week.