06:04:42 RRSAgent has joined #did 06:04:42 logging to https://www.w3.org/2020/01/29-did-irc 06:04:44 RRSAgent, make logs Public 06:04:46 please title this meeting ("meeting: ..."), ivan 06:05:25 Meeting: DID Working Group F2F, 1st day 06:05:35 date: 2020-01-29 06:07:39 RRSAgent, meeting spans midnight 06:09:08 Chair: burn, brent 06:10:04 Agenda: https://docs.google.com/spreadsheets/d/11haGLiY3AYi8uxIQcfndAixmtXjymNTTFbDQWRYkKrQ/edit#gid=0 06:10:34 Meeting slides: https://docs.google.com/presentation/d/1XI5rrEdBUSYd2tW07GfzOjBkvgKmfeKQyh95Ekl-u8o/edit#slide=id.p 06:17:18 Agenda: https://tinyurl.com/didwg-ams2020-agenda 06:17:37 Meeting slides: https://tinyurl.com/didwg-ams2020-slides 06:17:48 ivan has changed the topic to: F2F Meeting slides: https://tinyurl.com/didwg-ams2020-slides 07:04:38 yofukami has joined #did 07:12:10 yoshiaki has joined #did 07:12:40 yofukami has joined #did 07:23:40 SamSmith has joined #did 07:25:27 brent has joined #did 07:25:52 we have a minor webex issue. Webex won't start until 9 this morning. 07:36:59 burn has joined #did 07:37:09 ken has joined #did 07:37:20 tplooker has joined #did 07:38:41 present+ 07:39:43 scribe: manu 07:39:43 present+ 07:39:47 Topic: Welcome 07:39:57 brent is going over logistics. 07:40:18 We are in Spaces, Microsoft Schiphol (thank you Microsoft!) 07:40:45 Dial in information has been sent out to the mailing list. 07:41:37 brent: We need to get dinner organized tonight. About 20 people raised their hands. Christopher will plan dinner. 07:41:57 burn: We will get a plan together for dinner by noon-ish. 07:42:30 brent: IPR Policy - if you are a DID WG member, we look forward to your contributions. If you are observing, please refrain from making substantive contributions. 07:43:11 Eric: I promise not to be substantive. *laughing* 07:43:34 burn: You can provide input on requirements, goals, etc... but not how to solve the problem. 07:44:48 brent: Today's agenda is here -- https://docs.google.com/spreadsheets/d/11haGLiY3AYi8uxIQcfndAixmtXjymNTTFbDQWRYkKrQ/edit#gid=0 07:45:20 brent: We have introductions, thank you to Microsoft for the space, food, etc. 07:45:40 brent: We start the day with level setting, security issues, DID and IoT. Then a break. 07:46:12 brent: We will then talk about encodings and data models. Lunch. Then extensibility, break, then metadata and an open slot at the end of the day. 07:46:29 brent: we can talk about issues/PRs in open slots in agenda. 07:46:33 rrsagent, draft minutes 07:46:33 I have made the request to generate https://www.w3.org/2020/01/29-did-minutes.html manu 07:47:02 gannan has joined #did 07:47:08 markus_sabadello has joined #did 07:47:11 brent: This is a good time to learn how to scribe, please volunteer. 07:47:44 brent: Put your name on one of these boxes on Agenda if you want to scribe. Don't scribe when you're presenting. 07:48:11 brent: The scribing of the meeting is happening in IRC - on #did channel. 07:48:20 selfissued has joined #did 07:48:20 burn: Everyone needs to be on IRC. 07:48:25 present+ 07:48:31 present+ 07:48:37 drummond has joined #did 07:48:42 ewelton has joined #did 07:48:42 present+ 07:48:43 brent: If you have something to say, queue, present+, etc. 07:48:47 JoeAndrieu has joined #did 07:48:56 present+ 07:48:58 Oskar has joined #did 07:49:03 present+ 07:49:09 present+ 07:49:11 present+ 07:49:15 present+ 07:49:16 present+ 07:49:19 present+ 07:49:54 brent: We are going to introduce ourselves - your name, who you work for, single sentence why you're here, what is your favorite programming language and why? 07:51:12 burn: Hi Dan Burnett, my favorite language is Oz - created for teaching, started with small primitives, then built from there - language can do just about anything you can think of, with a small set of primitives. Example on screen shows how easy it is to do multithreading. 07:51:39 present+ 07:52:07 present+ 07:52:44 brent: Hi Brent Zundel, I work for Evernym. I'm here because I love DIDs, and I love the power of Self Sovereign Identity... my favorite language is ML - small functional programming language from Haskell. In grad school, I had to write a parser generator ... everyone else was using C++, had to print out code because professor was a sadist... everyone else had 30-40 pages of code, my ML program was a page and a half. 07:53:24 brent: Hi Ken Ebert, from Sovrin Foundation. I'm here because of focus on privacy. Favorite programming language is used for Carol the robot, great beginning programming language. 07:54:07 tobias: Hi Tobias Looker, from Mattr. Working on decentrlaized identifier tech - excited about new wave of technology for this standard. My favorite language is TypeScript or C# - from a syntax perspective, good static/dynamic balance. 07:54:50 yancy: Hi I'm Yancy Ribbens, I work for no one. I took a compilers class, had to use ML - favorite language is Rust recently - new for me, like type safety and reinvention - how to write memory safe code. 07:55:50 yoshiaki: Hi Yoshiaki Kami, working for a company in Japan. I'm working for European Japanese reference architecture, identifiers are very important. I'm not a programmer, very difficult to choose. 07:56:12 s/Kami/Fukami/ 07:57:00 s/working for a company/working for Data Trading Alliance, an industrial consortiom in Japan/ 07:57:25 ChristopherA: Hi Christopher, I used to be with Blockstream, now with Blockstream Commons. I also do RWoT. I like highly constrained environments, most fun experience is implementing Forth in assembler - 12 words in assembler, rest is made by composing base words. I'd like to do that, but in principles of typed language, believe ML is one of them. 07:59:15 selfissued: Hi Mike Jones at Microsoft. Worked on a lot of different standards in identity space... OAuth, JWT, OpenID Connect - bringing some of that expertise to bear here. Want to make DIDs useful/simple while making things decentralized. I liked Bliss - DEC system DEC10, DEC 20, VAX - Bliss unofficially was an acronym for "Bill's Language for Implementing Systems Software" - gave you full control over bits, bytes, pointers... but in a more typesafe and 07:59:15 principled way. I write C# these days mostly because it's easy. 07:59:43 @@@: Hi my name is @@@, work at Spherity. I'm not a programmer, but spent lots of time in MATLAB. 08:00:11 drummond: Hi I'm Drummond Reed at Evernym, helped get this DID thing going. Not a programmer, except in ABNF, love ABNF. I have written a few things in Basic. 08:00:52 SamSmith: Hi Sam Smith, worked in a lot of different things. Here on behalf of ConsenSys. Happy to be here. Also, worked in space for a while in IoT. Favorite programming language is Python - started using Python in version 1 in production. 08:01:31 Karsten: Hi Karsten from Spherity, physicist. I like DIDs because unknown actors will meet each other to establish trust using DIDs/VCs. I do a lot of C / C++, lots of simulation. 08:01:51 Spelled Carsten 08:02:09 Oskar: Hi Oskar from TNO, Duch Research Institution. I'm technical coordinator for SSI arena focus on interoperability, integration, getting whole ecosystem running. I'm here to liase with all of you. I like Java because I'm an organized guy. 08:03:01 q+ 08:03:01 JoeAndrieu: I'm Joe Andrieu, I'm here on behalf of Legendary Requirements. I do requirements engineering. I like lisp, like LPC (written in Amsterdam). 08:03:06 scribe+ 08:03:42 selfissued: I'd like to retract my favorite programming language, now xml2rfc. :) 08:03:47 *laughing* 08:03:55 s/Duch/Dutch/ 08:04:40 s/Karsten/Carsten/ 08:04:41 manu: Hi, I'm Manu, CEO of Digital Bazaar. One of the editors of the DID Spec, my favorite programming language is @@@ because it started messay and dirty , but turned into something that everyone uses. 08:04:41 Javascript = "the people's language" = true 08:04:55 s/@@@/Javascript/ 08:05:14 MichaelShea: Hi Michael Shea, independent, former programmer many years ago. C and C++ were my favorites - also leading task force for SSI and IoT for Sovrin Foundation. Seeing DIDs and IoT and some activity on mailing list - why I decided it was useful to join. 08:05:19 Entropy has joined #did 08:05:48 The European project eSSIF-Lab (essif-lab.eu) funds start-ups and SMEs to build useful SSI stuff: open-source components, generic SSI functionality and services, and sector-specific SSI applications. Email: oskar.vandeventer@tno.nl 08:05:52 markus_sabadello: Hi Markus Sabadello, founder of Danube Tech. I'm here because everything I'm doing has to do w/ DIDs - foundational for Web. My favorite programming language is Java. 08:05:55 DIDs = "new foundation for the Web itself" = true 08:06:19 Eric: Hi Eric Welton, I'm here because I like to write about what's going on here. I like custom programming languages, fit for purpose. 08:06:45 presenter has joined #did 08:07:00 Oliver: Hi Oliver Terbu, with ConsenSys - favorite programming language i C, C++, and now like TypeScript - like implementations for ReactNative, run on mobile backend. I'm here because DIDs are important, foundational for universal identity 08:07:04 Carsten has joined #did 08:07:18 Yeah Identitywoman! 08:08:39 Kaliya: Hi Kaliya, named IdentityWoman - mainly because only woman in the room (and here we are again). I also work w/ Wireline, interested in DIDs in existing world, less interested in how Web uses DIDs - PKI seems to be a focus, curiosity that I bring in terms of that - haven't registered that much. I've been stewarding and leading in this community - thought there might be contentious things in this group, would like to moderate and help get us to other side. 08:08:39 This is important work. 08:09:02 +1 to Kaliya helping facilitate any embroglios 08:09:16 Kaliya: I don't have a favorite programming language - if programming languages are about how you manifest into the world and create, as a facilitator - for me, Open Space Technology is something powerful that we've used in this community, that would be my favorite. 08:09:32 s/Carol/Karel/ 08:09:55 Ganesh: Hi Ganesh Annan, from Digital Bazaar. I like how DIDs affect security and privacy considerations. Javascript is strongest, but really like Python - it's followed me throughout my career. The versatility of Python is why I love it. 08:11:13 dezell: Hi David Ezell, represent Conexxus, we do standards in convenience retail. You have to have respect for C, Java, Javascript is getting better. Microsoft Macro Assembler was powerful. There is a property of decentralized technology that is important in the convenience store space. 08:12:30 dezell: If you think of some of the specs we write, a central authority is "good enough"... problem is that's a self selecting group, some thing centralized is fine, others don't participate. We are interesetd in decentralized technologies in general. We have a project underway with National Association of Convenience Stores that starts w/ age verification. Why is it important to do this at W3C? Same reason that it was important that it was important to do XML at 08:12:31 W3C. 08:12:37 dezell: I'm here to offer that support. 08:13:30 jricher: Hi Justin Richer, here from Bespoke - here on behalf of SecureKey - been doing a lot of work w/ them. Favorite programming language... did quite a bit in LambdaMoo - use Java the most, Python is great - list comprehensions are beautiful language constructions. 08:14:17 jricher: I'm here because I want these technologies to succeed so I have more diverse tools to apply to projects. I have a lot of experience in standards space, like to bridge engineers w/ architects - I move between those spaces. 08:14:34 Juan: Hi Juan, work with Karsten at Spherity. I like C++, Python - don't have strong opinions. 08:15:43 Eugene: Hi Eugene, work with Jolocom - in Berlin. We work with Verifiable Credentials, excited to see where this space is going. As implementers, we want to be aware of discussions. I'm curious about some of the discussions we're about to have today. I am a victim of Javascript/Typescript - enjoy Rust, Go - don't know them enough to say I like them. 08:15:44 nicole has joined #did 08:16:09 Charles: Hi Charles from Jolocom, easier to get a feeling for things in person. I like TypeScript - Typescript is easy. 08:16:33 Joachim: Hi Joachim, here from Jolocom, learning about different perspectives on topic of DID. Looking forward to learn more. 08:17:57 burn: Hi, Dan Burnett from ConsenSys - got involved before DIDs... walking by when Manu was presenting Verifiable Credentials, stopped and listened, and thought this is the right way to approach identity. Takes focus off of consolidation, definition, I believe that Verifiable Credentials and Decentralized Identifiers, not identity, are two technologies that can help solve these problems in a way that avoids consolidation. 08:18:25 brent: We have next slide, as we discuss things, if there is something you want to talk about, add it to the slide. 08:18:25 q+ 08:18:42 q- 08:20:05 Justin_R has joined #did 08:20:09 burn: I want to remind us all why we are here. 08:20:40 ... The mission of the working group is to standardize the DID URI scheme, the DID data model, and (reading the slide) 08:21:00 ... In scope (slide 12) 08:21:07 mshea has joined #did 08:21:23 JoeAndrieu_ has joined #did 08:21:41 burn: the item about use cases is to talk about future uses for access management 08:22:01 ... we will produce a note that is a refined use cases document 08:22:10 ... the resolution spec is not in scope 08:22:17 ... out of scope (slide 13) 08:22:52 ... we will not define browser APIs, specific DID methods, or attempt to solve identity on the web. 08:23:06 ... not an accident that none of our specs sayt we are solving identity. 08:23:21 ... any questions 08:23:32 ... deliverables (slide 14) 08:23:36 JoeAndrieu has joined #did 08:23:52 ... some links (slide 15) 08:24:04 ... summary of our w3c process 08:24:07 oliver has joined #did 08:24:11 present+ oliver 08:24:12 ... (slide 16) 08:24:26 ... working drafts don't imply consensus 08:24:34 ... it does not mean we agree. 08:24:54 ... there is a point at which we believe it is technically complete, this is when we get to CR. 08:25:07 ... then we need at least 2 implementations of each feature 08:25:19 ... then we go to PR 08:25:29 ... slide 17 (nice process picture) 08:25:49 ... we also have a timeline 08:26:32 ... our first public working draft was last year. 08:26:43 ... we got a use cases and requriements note out 08:26:57 ... we will talk about the rubric this meeting 08:27:14 ... we backwards calculated the other dates 08:28:32 ... (slide 18) has dates for each step in getting to CR and PR 08:28:47 ... we need multiple CRs (I didn't say that) 08:29:01 ... we need our first CR my November 2020. 08:29:09 ... we need a feature freeze in May 2020 08:29:21 ... its easy to think we have time. 08:29:26 ... we don't 08:29:48 ... After CR, there can't be any substantive changes 08:30:06 ... all this to say, this is why the chairs will be pushing to feature freeze. 08:30:19 ... we don't want to recharter to get our first spec out. 08:31:06 ... for this meeting: the primary goal is to get agreement on the JSON/JSON-LD/Abstract data model question 08:31:20 ... we cover background and necessary things day one. 08:31:30 ... so that tomorrow we can get to a decision 08:31:49 ... assuming we get that done, we can cover the other goals (slide 19) 08:32:11 ... there are aspects of the metadata discussion that may be pertinant to our main goal 08:32:20 ... any questions? 08:32:27 JoeAndrieu: metadata is today? 08:32:43 burn: this afternoon, so we have it in mind when we make the big decision 08:32:54 ivan has joined #did 08:32:57 ... for those of you who have slides, get them in 08:33:04 present+ 08:33:14 zakim, who is here? 08:33:14 Present: burn, tplooker, selfissued, gannan, drummond, manu, brent, ken, yancy, Oskar, ewelton, yoshiaki, ChristopherA, JoeAndrieu, oliver, ivan 08:33:17 On IRC I see ivan, oliver, JoeAndrieu, mshea, Justin_R, nicole, Carsten, presenter, Oskar, ewelton, drummond, selfissued, markus_sabadello, gannan, tplooker, ken, burn, brent, 08:33:17 ... SamSmith, yofukami, yoshiaki, RRSAgent, Zakim, deiu, llorllale, rhiaro, ChristopherA, bigbluehat, jfishback, Travis, hadleybeeman, wayne, dlehn, manu, dlongley, yancy 08:33:17 ... is there anything in the agenda to talk about did resolution and what we're doing? 08:33:35 JoeAndrieu: we should talk about the boundary between the two 08:33:37 present+ 08:33:55 burn: look at the agenda, if you don't see a place where your comments will fit, let us know 08:34:07 ... we're trying to get knowledge without going into a rathole 08:34:20 ... any other rquestions? 08:34:48 burn: a story I want to tell 08:35:12 ... (standing) My technical background is in computer speech recognition. 08:35:31 ... I had to decide whether to continue with that or to continue with standards. 08:35:40 ... I jumped into WebRTC with both feet. 08:35:50 ... it has spawned better work in W3C and IETF 08:36:03 ... but, something very bad happened 08:36:31 ... we started working on a standard. One company that didn't participate started promulgating a competiting standard. 08:36:39 ... that did not result in what they wanted. 08:36:48 ... it resulted in horrendous confusion 08:37:04 ... companies looking to deploy, came in and saw the battle. 08:37:11 ... investment dried up. 08:37:19 ... conflict reults in everybody losing 08:37:35 ... it is important that we come together to write A standard 08:37:47 ... that's what matters (even if there are different formats) 08:37:58 ... we will talk about extensibility and interoperability 08:38:11 ... if you're frustrated, talk more with htose you disagree with 08:38:20 q+ to talk about what happened w/ RDFa/Microformats/Microdata/JSON-LD over the past decade. 08:38:22 ... don't leave, that will damage the industry 08:38:40 ... others have chimed in with similar stories 08:38:52 ... any quyestions? 08:39:08 q- 08:39:36 ewelton: I was asked to look at DIDs, because a company I worked for wanted to determine if they had cooled down enough to actually use 08:39:54 scribe: manu 08:39:58 q+ 08:40:02 q? 08:40:11 ack selfissued 08:40:17 ack ChristopherA 08:41:10 Eugeniu_Rusu has joined #did 08:41:25 ChristopherA: A little more history - co-author of SSL/TLS and led group that made TLS the international standard that it is today. We had these conflicts then - one of the big breakthroughs was - we found where we could have all of the important stuff in common, and then very few things we could go in radical different direction. The design allowed for more, that helped us break through impasse. 08:42:16 charles has joined #did 08:42:19 jonathan_holt has joined #did 08:42:19 ChristopherA: We got 80% in common, how you get up to certain part of protocol, then had ciphersuites - you had to specify those, and as separate RFCs. If we tried to just pick a few, it would've failed. I think that's a pattern in standards design - coming up with 20% agreement, then more until 80%. 08:42:27 nicole has joined #did 08:42:57 present+ jonathan_holt 08:43:19 burn: This is the standards process, this is normal. This is completely normal to disagree at beginning, standards process is writing down when you agree, then keep building on that stuff. Often end up w/ what Christopher said. I can provide my input on interop for standards (over a beer). Standards are useful for companies because it reduces the development time. 08:43:28 Topic: security 08:44:36 brent: Two weeks ago, Dr. Sam Smith provided a deep dive into security concerns wrt. spec. I did my best to summarize, might have oversimplified... summary is that each DID Method has a different solution for verification and control of a DID. Different protocols, infrastructure, this is the big concern. We need to keep this in mind while moving forward. 08:45:01 brent: We are designing an architecture that could have a lot of badness - what other concerns around architecture concerns should we have as we have in mind. 08:45:24 MichaelShea: When you say verification of control, what do you mean? 08:46:02 brent: Well, resolution we need to make that's secure, code on computer is secure, DID Document stored on ledger, what are ledger guarantees? Is it peer or key did, is it self-certifying? etc. 08:46:11 q+ to note a few other security concerns. 08:46:22 present+ SamSmith 08:46:30 q? 08:46:35 q+ 08:46:36 q+ to what extent do we try to solve security vs. qualify security and mark as rubrics? 08:46:44 manu: implementation complexity is also somehting 08:46:56 Eugeniu_Rusu_ has joined #did 08:46:58 q+ to mentioned conflation of control & authentication 08:47:00 ... we want a secure system, so we make sure we do things in a limited way 08:47:05 q+ 08:47:10 ... so they can be implemented in the right way. 08:47:19 ... this limits implementation at the edges. 08:47:19 guests+ Michael_Shea 08:47:32 ack manu 08:47:32 manu, you wanted to note a few other security concerns. 08:47:42 ... we don't know where this tech is going. we are going to enable someflexibility. 08:47:54 ... this may allow implementors to shoot themselves in the foot 08:48:09 ack ChristopherA 08:48:13 ack ChristopherA 08:48:40 scribe+ 08:49:04 ChristopherA: I'd like to speak for innovation in cryptography and cryptographic systems - especially over last decade and last 2-3 years, we're going way beyond crypto of today. Most of this stuff is coming from crypto communities... cryptographic circuits, multisignatures, zero knowledge proofs, scriptless scripts - cambrian explosion right now. 08:49:57 q+ 08:50:04 ack ewelton 08:50:04 ewelton, you wanted to what extent do we try to solve security vs. qualify security and mark as rubrics? 08:50:06 ChristopherA: JOSE was a disaster when it came out, everything is a disaster when it comes out, but it's roots are in 1980s single signature technologies - we're able to go beyond that. I'm not saying don't support more proven types of approaches, but don't lock out emerging technologies, because we could lose it all if folks go w/ new emerging technologies. 08:50:29 Eric: Is the goal for security to try to solve a meta process vs. identify characteristics concerns and address them as rubrics. 08:50:39 q? 08:50:44 ack JoeAndrieu 08:50:44 JoeAndrieu, you wanted to mentioned conflation of control & authentication 08:50:50 oliver has joined #did 08:51:06 ivan_ has joined #did 08:51:10 yoshiaki has joined #did 08:51:13 present+ oliver 08:51:21 q? 08:51:25 q+ 08:51:32 JoeAndrieu: It's going to be vital for us to distinguish in conversations and spec, proof of control over DID Document and authenticating as the DID. People conflate those two, different use cases, analyze them differently. DID Control is method specific, two different surface areas - let's talk about them as different things. 08:51:37 ack ken 08:52:12 q+ 08:52:22 ack SamSmith 08:52:25 Ken: Even though ZKPs are strong in Sovrin ecosystem, we're upgrading those now - if we lock ourselves in, we will lock out the future and not be able to migrate forward. We need some sort of rubric to test minimum security levels. We do want to shut out insecure systems. 08:53:11 q+ 08:53:28 SamSmith: I've been thinking about this problem for a while, one of the things that might be helpful is to step back and think about how we layer security - cryptographic agility, how we address infrastructure differences, if we layer this right, we can get best of both worlds. If we layer it wrong, we'll bifurcate the trust map and make the rest of history a never ending retreat/fallback positions and security patches. 08:53:49 q? 08:53:51 SamSmith: My biggest concern is that we're failing badly from a security design perspective - we've maximized ability for people to exploit. 08:53:53 ack ivan_ 08:53:57 ken has joined #did 08:54:26 q? 08:54:26 Ivan: More a question coming from a non-expert... I haven't seen anything in document for biometrics / FaceID - is this ok, do we want to have bridges for that? What do we do there. 08:54:33 ack drummond 08:54:37 q+ to comment on biometrics 08:55:11 peacekeeper has joined #did 08:55:40 drummond: I wanted to reinforce what sam said, first on extensibility - no way people in room will know right security practices 5 years from now... we need to allow for extensibility and innovation - many of problems on how to deploy securely is something we want to consider, but these are not in scope. Let's make sure we get layering right, but let's not inhibit innovation. 08:55:47 ack selfissued 08:55:48 drummond: Let's not block innovation. 08:56:37 selfissued: I wanted to second Chris' point about cryptographic agility and innovation, we don't know what algorithms are needed for what use cases in future. We don't know what'll become compromised next week. Any long term standard in security must ensure innovation in 20% for systems that update at their own pace. 08:56:46 ack JoeAndrieu 08:56:46 JoeAndrieu, you wanted to comment on biometrics 08:56:53 markus_sabadello has joined #did 08:57:00 q+ 08:57:24 q+ 08:58:01 JoeAndrieu: Wanted to respond to Ivan - in part on use cases work - there is a huge amount of concern around privacy and biometrics - there is conflation around DID Method and biometrics - no one has proposed biometrics yet, but design allows for it, but want to move biometrics to the edge, like a phone, don't put them in DID Document. The ultimate mechanism is cryptographic, keys secured biometrically. 08:58:10 Ivan: We may want to put that in the document. 08:58:29 ack markus_sabadello 08:59:14 ack oliver 08:59:14 markus: The way the spec and DID Method specs, DIDs inherit underlying DID methods - facebook method only as secure as facebook. Is that a feature? Or do we want stronger security properties? 08:59:48 Oliver: We have to limit the decentralized extensibility model to uphold certain amount of security properties... isn't W3C DID Method registry already a registry for such features? 08:59:53 q+ security of key loss & recovery needs attention 08:59:57 q+ to speak to DID Method Registry. 09:00:50 Oliver: Imagine you extend DID Method in a way that changes security mechanism for basic DID Method - that's a problem that needs to be solved, we should have an IANA registry, limit scope of extensibility to certain scope, like authoritative keys. 09:00:54 ack manu 09:00:54 manu, you wanted to speak to DID Method Registry. 09:02:10 manu: We could extend DID Method Registry, we'll talk about that. We do want to limit DID Methods from overriding how security primitives in DID Core work. 09:02:36 q+ 09:02:40 brent: What should we do about these issues? We could require DID Method sto follow common practice, how do we layer security, security considerations, bad practices, rubric? 09:02:42 ack selfissued 09:02:46 q+ 09:02:56 q+ to talk about best practices for key management 09:03:29 q+ request clarification on the term "layer" - used now several times 09:03:40 selfissued: I did something dangerous on flight here and read every word of DID spec, one of the things I read was that there were places where spec imposes requirements on DID Methods. Security considerations, privacy considerations. I agree with Manu's suggestion that methods shouldn't change core functionality - impose requirements on DID Methods, even though we're not doing a protocol spec, data model spec. 09:03:43 ack ken 09:03:47 q+ ewelton 09:04:06 Ken: We'll need some sort of rubric to evaluate. 09:04:12 q+ to not trust humans to do this. 09:04:17 juan_caballero has joined #did 09:04:38 Ken: The number of DID Methods is growing, we're over 40 now, we will need a rubric. 09:04:38 ack JoeAndrieu 09:04:38 JoeAndrieu, you wanted to talk about best practices for key management 09:05:02 JoeAndrieu: I want to endorse the idea of a rubric, we've been working on one about decentralization - doesn't address security, doesn't support privacy. 09:05:35 q+ 09:05:56 ack ewelton 09:05:58 JoeAndrieu: We need to clarify securtity related to key management, and security assuming keys are well managed. Best we can do w/ key management to point to external references... if keys are compromised, everything is off. We should separate those two things. 09:05:59 SamSmith has joined #did 09:06:01 q+ 09:06:06 ewelton: About layer/layering - what does that mean? 09:06:10 ack manu 09:06:10 manu, you wanted to not trust humans to do this. 09:07:47 manu: Not to argue ... Concerned with how much we are asking humans to do (bad for security). DID core spec has normative language around DID methods. Humans have to read and understand this in approving DID methods, which may ultimately fail. These rubric docs will be very complex human-readable docs. Headed towards 50-90 items that an expert has to check for each and every DID method. 09:08:22 present+ phila 09:08:28 ... some have argued decentralized extensibility is bad. My argument somewhat agrees with this, unfortunately. We need to consider this. 09:08:30 ack yancy 09:09:15 ack SamSmith 09:09:19 yancy: The best way to harden a system is to reduce the attack surface - that means we should focus on bare minimum essentials are - segues into thing slike matrix parameters, what are use cases, we should minimize feature sets to helps us be as secure as possible. 09:10:33 q+ 09:11:24 SamSmith: First bullet, make DID Methods follow same thing to establish control authority - maybe we can do a trust spanning layer hour glass approach - standard set of config data, looks like events - we say it's too late to put the genie back in the bottle - that's bad for security, but look at ecosystem, if we design DID Method the right way, all other DID Methods will die and we'll be left w/ 1-2 DID Methods, layered security model - roots of trust, ability 09:11:24 for that config to change the establishment mechanism, we get all we need. If you have too much extensibility, you get OpenSSL OpenVPN - too much agility to do something wrong. 09:11:40 SamSmith: If we built ideal DID Method, and that wins in market, that's great. 09:12:32 Markus: Building ideal DID Method, with ideal properties - what if other DID methods that were not as good, keep going, like did:web - the point of the decentralization rubric is not to come up with the one best thing. Maybe security rubric could have the same. KERI-based ones are more secure than DNS based ones? 09:13:09 brent: First one doesn't seem to be possible... which of these others? Where do we want to go - add things to security considerations. 09:13:33 q+ 09:13:38 brent: Do we want to do a rubric to start? Expand test suite to look for specific security considerations? DID Method can algorithmically done? What does the group want to do? 09:13:43 q+ 09:13:45 q+ to suggest a few plans of action. 09:13:46 q+ to ask for clarification on what we can do? 09:13:47 ack markus_sabadello 09:13:49 ack markus_sabadello 09:13:53 ack ChristopherA 09:14:04 Zakim, close the queue 09:14:04 ok, brent, the speaker queue is closed 09:14:35 q? 09:14:54 q+ 09:14:55 ack JoeAndrieu 09:14:58 ChristopherA: I am concerned that there has to be a common practice - I have a demo of multisig control authority that can't be implemented - it's self-sovereign multisig - I have a Tor baesd connection to a node I control, 3 keys, can do multisig, but not with what we have right now. I don't think there'll be a common practice. 09:15:09 ack manu 09:15:09 manu, you wanted to suggest a few plans of action. 09:15:57 q- 09:16:13 manu: we need to write much of this down into security section, until it gets large enough to deserve its own doc. +1 to joe's comment about a rubric. Don't like security rubric, because it needs to be firm guidance. 09:16:21 ack gannan 09:16:21 gannan, you wanted to ask for clarification on what we can do? 09:16:28 JoeAndrieu: I think we need to do a rubric, it's going to take a lot longer than people realize, but we can't provide direct guidance. 09:16:49 gannan: Establishing common practice, sounds like protocol issue - what can we state about this stuff? 09:16:54 manu: we need to give guidance, which can't happen in a rubric 09:17:02 brent: We can normatively require DID Methods to implement themselves in a certain way. 09:17:12 Zakim, open the queue 09:17:12 ok, brent, the speaker queue is open 09:17:18 Topic: DIDs and IoT 09:18:27 SamSmith: IoT Characteristics - large number of devices, 80 billion by 2025 - by and large, IPv6 - probably see Internet switch over next 5 years... 5G is almost 100% IPv6... rest of world using IPv6. 09:18:55 dezell has joined #did 09:19:24 SamSmith: This is a driving function, there will be way more IoT devices, need identifiers, than everything that we do combined, these devices are limited resources - example, IETF CoAP - UDP alternative, DTLS/CBOR solution - two major groups, industrial Internet of Things - commercial vs. home. 09:20:35 SamSmith: Differences between two are significant - many of these devices are industrial IoT. This building we're in HVAC, security systems, IoT things - what tends to happen is integration is happening in the cloud - all device families are siloed, HVAC vendor, window treatments, have non interop devices - only way they can talk together, operationally integrate w/ the cloud - that's a challenging problem, they can't talk to each other in same building. 09:21:15 SamSmith: Data integration, not just talking to each other, - future is, there is not enough cloud compute capability to manage those sorts of things, zettabytes - future, has to be done on the edge. Strong driver for DIDs to have ability to authenticate in edge, do operational integration in edge. 09:22:08 SamSmith: Two types of devices - direct IP enabled devices, home automation - indirect IP enabled - some non IP stack, IP gateway device, bluetooth, zigbee, non-IP stack devices might talk to gateway - tends to happen more in commercial IoT makes it cost effective to have a gateway. 09:22:23 SamSmith: In general, authenticated control is more important than confidentiality. 09:23:30 SamSmith: CoAP based system, gateway - diagram explanation 09:24:02 SamSmith: The biggest issue for IoT is security - IoT devices are in public building, someone can pull device, mess with it, may not know. 09:24:36 SamSmith: That is an overarching concern, problem w/ IoT is most devices have default credentials. 90% of installers don't change default passwords. 09:24:43 ChristopherA: They are no longer going to allow that. 09:25:36 SamSmith: Some devices only have LAN access, some have unencrypted data, anything we do as identifier standard that requires WAN access, no LAN version, just won't work. 09:26:04 SamSmith: Edge vs. Cloud integration - future will be edge, devices are not self-sovereign in any way. Edge integration, that would have to change. 09:26:40 SamSmith: IoT provisioning - typical provisioning method, some sort of on device label - limited physical security. 09:27:18 SamSmith: number sticker, scratch off ID, barcodes, QRCodes - anything more complex is going to fail. 09:27:46 SamSmith: puts an upper limit to fully support IoT, how complex can provisioning be? Bootstrapping identifier, not going to be adoptable if it's heavyweight. 09:29:07 q? 09:29:20 SamSmith: If you can do a self-contained boostrap, you can simplify the system. Some devices are using contextual information, looking at nearby devices, won't authenticate them - different location, most cases, IoT devices have low value, no need for persistent identifier - self-certifying identifiers, you don't need anything - if something has been hacked, throw it away, reprovision. 09:29:38 SamSmith: Rarely do these things communicate pairwise - getout of lan onto gateway. 09:31:53 SamSmith: Future is non-siloed edge integration, sensors with authorized tlemetry, actuators... there is already an alternatiev standards tack IETF/TCG - Device ID - Implicit Identifier. Implicit identity, self certifying id created on first power up. This one is private, manufacturer doesn'nt know private key, on power up, genreates key on boot up. Any tampering creates new DID. 09:33:13 SamSmith: This is a CBOR/JSON CWT spec. 09:33:41 SamSmith: IoT Interop - oBIX, XML based legacy 1990s... 09:34:12 SamSmith: numerous walled garden standards, numerous consortia - in Europe, IoT EPI - big tent approach, mostly architecture, not implementation, 09:34:55 SamSmith: Project Haystacks getting the most adoption, uses tag model - key-value pair w/ registered set of tags, simple model, easy portability - broad adoption - winning over industry consortia 09:35:44 SamSmith: Interesting thing - Haystacks achieved broad industry adoption via tagged semantic model, brix project, haystacks tag ontology as overly to enable some RDF models to sit on top of haystacks. Doesn't encumber underlying encodings whie allowing any RDF standard encoding to apply to this model. 09:36:02 SamSmith: That's the end... 09:36:14 q+ to note Web of Things 09:36:26 q+ to second Manu 09:36:36 SamSmith: Are we going to integrate w/ IoT? Constrained encodings, CBOR... 09:36:36 ack manu 09:36:36 manu, you wanted to note Web of Things 09:36:48 q+ to ask about filament 09:36:55 manu: great info, thanks. we are clearly missing this big sector. 09:37:03 q+ 09:37:08 ... how do we liaise with them. Have we missed the boat? 09:37:25 ... sounds compatible with did:key. 09:37:31 SamSmith: yes. 09:37:39 manu: we need to reach out and share that. 09:37:52 ... w3c has web of things working group that is connected here. 09:38:02 SamSmith: haystack tag ontology group is using W3C stuff. 09:38:23 ... they do an overlay using W3C standards 09:38:23 q? 09:38:30 manu: WoT uses JSON-LD 09:38:32 Not to complain, but is there audio on the webex? 09:38:51 ... need to see what they needed in WoT to make everything work 09:39:09 SamSmith: defined dictionary with meta-semantic model 09:39:32 ... for large factory automation projects, worth overhead to map to semantic model for benefit of data analytics 09:39:42 ... in most cases simple tags are enough. 09:39:56 ack dezell 09:39:56 dezell, you wanted to second Manu 09:39:59 ... for big buildings with thousands of devices the semantic overlay is helpful 09:40:48 q? 09:41:15 That WG has a 7am ET call? Wow, that is 4am PT. 09:41:21 zakim, close the queue 09:41:21 ok, brent, the speaker queue is closed 09:41:33 dezell: Second the shout out to Web of Things - deeply embedded in company projects, security meeting is 8am ET - rough hour, think this group should engage with them. This aspect is important part of DIDs. Was present on PSIG review of PR for Web of Things - security folks had two issues, one was the presence of "id:" in thing description, could be subject to replay attack, or recognition of endpoint if you didn't know it was... Security section in document, 09:41:33 security section is non-normative, was a big issue in their work. 09:41:39 ack JoeAndrieu 09:41:39 JoeAndrieu, you wanted to ask about filament 09:41:54 JoeAndrieu: Has anyone looked at Filament? Jeremy Miller, XMPP? 09:42:26 SamSmith: Looked at filament, lots of industry specific protocols, Nest guys (filament) -- Jeremy Miller, Telehash used for IoT stuff. Hundreds of them 09:42:48 Fun fact: earliest DID method we know of was implemented using Telehash :) 09:43:08 ack ChristopherA 09:45:27 ChristopherA: There is a great connection in crypto security industry around problems w/ security - verification w/ hardware crypto, as an example, box we did w/ Blockchain commons - paper display on one side, you can route to my mac via Onion, key ops w/ QRCodes - also do this w/ VPS, keys are completely split - device can't sign anything by itself. The thing it talks to contributes signature - VC is only valid once it reaches threshold of attestment. 09:45:27 Multisignature - VC proof would say you have to have at least two of 10 instruments for it to be valid... and approval of the cloud device. 09:45:52 ChristopherA: These are the things we're doing in crypcurrency space, I want to see this stuff - there is a mesh there w/ IoT, but we're doing more sophisticaed crypto. 09:46:00 rrsagent, draft mintues 09:46:00 I'm logging. I don't understand 'draft mintues', manu. Try /msg RRSAgent help 09:46:08 rrsagent, draft minutes 09:46:08 I have made the request to generate https://www.w3.org/2020/01/29-did-minutes.html manu 09:46:49 i/I want to remind us all/scribe: brent/ 09:47:02 rrsagent, draft minutes 09:47:02 I have made the request to generate https://www.w3.org/2020/01/29-did-minutes.html manu 09:55:46 identitywoman has joined #DID 09:55:52 present+ 09:56:02 gannan has joined #did 10:11:53 rrsagent, draft minutes 10:11:53 I have made the request to generate https://www.w3.org/2020/01/29-did-minutes.html ivan_ 10:12:41 gannan has joined #did 10:12:42 ken has joined #did 10:12:54 q? 10:13:04 charles has joined #did 10:13:04 scribe+ JoeAndrieu 10:13:41 nicole has joined #did 10:13:56 zakim, who is here? 10:13:56 Present: burn, tplooker, selfissued, gannan, drummond, manu, brent, ken, yancy, Oskar, ewelton, yoshiaki, ChristopherA, JoeAndrieu, oliver, ivan, markus_sabadello, jonathan_holt, 10:14:00 ... SamSmith, phila, identitywoman 10:14:00 On IRC I see nicole, charles, ken, gannan, dezell, SamSmith, juan_caballero, yoshiaki, ivan_, Eugeniu_Rusu_, jonathan_holt, JoeAndrieu, Carsten, presenter, Oskar, ewelton, 10:14:00 ... tplooker, burn, brent, yofukami, RRSAgent, Zakim, deiu, llorllale, rhiaro, ChristopherA, bigbluehat, jfishback, Travis, hadleybeeman, wayne, dlehn, manu, dlongley, yancy 10:14:18 oliver has joined #did 10:14:20 Justin_R has joined #did 10:14:20 present+ oliver 10:14:27 markus_sabadello has joined #did 10:14:30 Yo 10:14:38 markuse_sabadello: Yo 10:14:40 identitywoman has joined #DID 10:14:47 mshea has joined #did 10:15:01 ... Not going to go into the hard details about how interop and everything works. 10:15:08 phila has joined #did 10:15:15 ... we want to look at some of the formats and syntaxes that have been discussed 10:15:45 present+ 10:15:49 ... found nine : JON-LD, JSON, IPLD, CBOR, XML, PDF, ASN.1, YAML, XDI 10:16:04 ... please add to slide if you know of others (but don't delete) 10:16:13 ... Let's start with JSON-LD 10:16:23 ... Primary format in the spec. Been there since the beginning 10:16:27 charles has joined #did 10:16:34 ... based on semantic web principles and RDF graph model 10:16:56 ... linked data / RDF has a background connected to decentralization on the web. 10:17:19 ... Ivan's paper: the web is about linking. linked data is trying to do the same thing for data. 10:17:33 ... Some may remember FOAF: where you can point to other identifiers who are my friends 10:18:01 ... for these JSON-LD is great. permissionless extensibility. compability with a bunch of things 10:18:20 ... Also a lot of interest in JSON (pure JSON) 10:18:25 q? 10:18:52 ... ubiquitous support, familiar to developers. no external network dependencies, comapability with a bunch of things (JOSE, OIDC, DIDComm) 10:19:03 s/comapability/compatability/ 10:19:07 q+ to speak to "JSON Benefits" - some of which are the same for JSON-LD - clarification -- slide 43 10:19:30 ... Another is IPLD 10:19:35 q? 10:19:43 zakim, open the queue 10:19:43 ok, burn, the speaker queue is open 10:19:43 cool! Thanks! 10:19:46 ... content-addressable, distributed storage, location- & protocol- independent 10:19:56 ... censorship resistant 10:20:24 ... CBOR has also been mentioned. Also used in IPLD 10:20:42 ... very compact. great for IoT. easy to map to JSON 10:21:00 ... might be possible to do JSON-LD in CBOR 10:21:08 ... but also maybe pure JSON in CBOR 10:21:22 ... So what do we mean by data model, syntax, serialization, etc. 10:21:40 ... XML: obviously the best for everything 10:22:02 ... good for data-types, namespaces, lots of tooling 10:22:06 q+ to speak to "JSON Benefits" - some of which are the same for JSON-LD - clarification -- slide 43 10:22:15 q+ to comment on XML 10:22:15 ... PDF has been proposed. Express a DID Document as PDF. 10:22:20 q+ to note about JSON-LD subset (and other subsets) 10:22:37 ... not so much as human readable PDF, but rather embedding a DID Document in a machine readable form inside a DID Document 10:22:53 ... These are some of the formats, some of the discussions we have had in the community on this topic 10:23:25 ... We can't have this discussion in isolation. We can't just compare these two directly. 10:23:35 ... There are dependencies on the intentions for DIDs 10:23:53 ... What's the purpose of the DID Document? 10:24:12 ... Did document describes the sbuject -> JSON-LD preference 10:24:20 q+ to disagree about purpose alignment 10:24:32 q+ 10:24:46 ... if DID Document contains meta-dataa for interacting with the subject -> JSON Preference 10:25:08 ... Similarly, do we think DIDs are part of the web? 10:25:24 ... are DID Documents resources on the web -> JSON-LD Preference 10:25:42 ... if DID Documents are mor like DNS records -> JSON preference 10:25:55 ... -> likely affinity between world view and technical approach 10:26:19 ... Some DID Methods don't care the format of the DID Document. 10:26:42 ... But for example, did:sov doesn't have native support for any of the proposals. they store it on its own format. 10:27:12 ... the ethereum smart contract based DIDs tend to treat the Document as virtual, serializing as necessary 10:27:46 ... did:key is currently JSON-LD, but it is so simple and constrained, you may not actually be using any of the features of JSON-LD and might be better suited for "pure JSON" 10:27:52 q+ to remind that when we started, DID document was a physical presentation of information needed to work with the DID, with no requirement that it be stored anywhere, only provided as needed 10:28:12 ... other dependencies include support for public key formats 10:28:41 ... We just added JWK support, but do we really want a JWK public key inside an XML or CBOR DID Document? 10:29:02 ... How would we do that? It would be more natural to do everything in the chosen format 10:29:38 ... Fragments in DID URLs: dereferencing fragments is not defined by the DID core spec, but rather on the mime-type 10:29:49 q+ 10:29:52 ... so if we have multiple encodings, that might change the semantics fragment identifiers 10:30:12 q+ 10:30:14 ... Let's discuss: interop, extensibiltiy, resolver behavior 10:30:15 q+ 10:30:18 q+ 10:30:25 q+ 10:30:34 zakim, close the queue 10:30:34 ok, burn, the speaker queue is closed 10:30:37 ack manu 10:30:37 manu, you wanted to speak to "JSON Benefits" - some of which are the same for JSON-LD - clarification -- slide 43 and to note about JSON-LD subset (and other subsets) 10:30:42 manu: two things 10:31:05 ... One. I don't know if people knew to the group. VC spec and DID core spec, the goal was to use a subset between all these formats. 10:31:18 ... so, we strove to use the minimal subset you can represent in JSON, CBOR, and JSON-LD 10:31:33 ... so, even those the VC spec says it's JSON-LD, it is actually a very limited subset 10:31:57 ... So, we don't necessarily have network dependencies (because we are using a subset of JSON-LD) 10:32:09 ... specifically, one should not go out to the network in run-time 10:32:16 ... for things you don't understand 10:32:26 ack burn 10:32:26 burn, you wanted to comment on XML and to remind that when we started, DID document was a physical presentation of information needed to work with the DID, with no requirement that 10:32:29 ... it be stored anywhere, only provided as needed 10:32:34 ... On the other hand, in some cases, you go out to the network regardless of format 10:32:54 burn: still a good portion of the world that uses XML 10:33:01 drummond has joined #did 10:33:07 present+ 10:33:08 ... it's not crazy to assume that maybe there will be an XML representation 10:33:09 q? 10:33:29 ... Second, when we started, the DID Document was a physical representation, but it is not required that it ever be stored anywhere. 10:33:49 ... this is an explicit requirement: the document is not the thing, it's the information in the document that matters 10:33:53 q? 10:33:57 ack JoeAndrieu 10:33:57 JoeAndrieu, you wanted to disagree about purpose alignment 10:34:25 JoeAndrieu: Markus, you had suggested that if the metal model for a DID Document is how to interact with the subject, you might go to JSON. I'm flipped, I don't see that at all. 10:34:31 ack tplooker 10:34:33 JoeAndrieu: real quick. Markus suggested the mental model for a DID doc is how to interact with the subject, the format is JSON. I'm not seeing that 10:34:36 JoeAndrieu: Don't think I need to spend more time on that, but I don't see the affinity. 10:35:13 tobias: If we make all of these encodings first class options, then we have content negotiation as a huge upfront requirement for everyone using the tech 10:35:29 ... but we need to know what level we are supporting these alternatives 10:36:05 ... What is a DID Document? A lot of time... is it a rendering of events into the current state? Or is it the actual thing the decentralized system actually represents 10:36:20 ack oliver 10:37:00 ack SamSmith 10:37:00 oliver: re: fragment semantics: we are writing specifications for the did data model and did -resolution and it doesn't seem to be a problem 10:37:16 SamSmith: I think there is still confusion about what the purpose of a DID Document is. 10:37:24 ... the first thing you need to do is establish control authority? 10:37:42 ... the way methods are being written its not clear where we are on this question 10:37:51 +1 to sam's point on information models 10:37:52 ... I'm not talking about hte data model, but the information model 10:38:19 ... if you think about what happens with a URL: before you go to a given server, you have to resolve the authority 10:38:34 ... Are we going to standardize that establishment of control authority 10:38:40 q+ to talk about authority 10:38:45 ack ChristopherA 10:39:08 ack ken 10:39:11 ChristopherA: some people already touched on my issues 10:39:39 ken: concur with Markus: there's a difference between our internal representations and what are present to the outside. 10:39:58 ... we expect to be able to publish multiple serializations for interoperability 10:40:20 ChristopherA: One of the problems I'm seeing is that we are not talking about who the audience is for the DID document 10:40:41 ... If I'm a consumer of the app, I really don't care out rotation happens. I'll defer that to a resolver. 10:40:55 ... however if I am writing a resolver, then I do care about those things 10:41:07 ack Justin_R 10:41:08 ... I'm a little worried we aren't thinking about these differences 10:41:19 Justin_R: +1 to that 10:41:22 s/out rotation/how rotation/ 10:41:27 ... we need to be honest about what the DID Document structure is 10:41:38 q? 10:41:40 ... we need to be very careful about what is expressed AND expressable in a DID Document 10:41:49 ... that gets to the core of what I see in the debate 10:41:50 zakim, open the queue 10:41:50 ok, burn, the speaker queue is open 10:41:53 q+ JoeAndrieu 10:41:59 zakim, close the queue 10:41:59 ok, burn, the speaker queue is closed 10:42:10 ... What I'm seeing is "use JSON-LD" but turn off all the stuff that makes JSON-LD special 10:42:27 ... so can we count on that extensibility? or Should we assume it is turned off? 10:42:51 ... Or on the JSON side, can we be sure we only have strings, numbers, etc.? 10:43:22 ... Given Markus's big list is great. (NO to ASN.1 but glad its considered) 10:43:27 q? 10:43:38 ... we need to get to the lowest common denominator 10:44:05 ... if this working group wants to be able to depend on LD structures to understand that a field is a particular type, etc., a date 10:44:25 ack JoeAndrieu 10:44:28 ... instead we have JSON-LD docs that aren't really JSON-LD 10:44:37 ... and vice-versa 10:44:51 ... [I mean JSON docs that aren't really JSON] 10:45:22 Topic: Different Encodings: Model Incompatibilities 10:45:30 manu: Things to be aware of as we go into the discussion. 10:45:43 ... Different encodings: Model incompatibilities 10:46:06 ... Four categories: primitives, structure, canonical form, extensibility 10:46:36 ... [nice concise definitions of those four] 10:47:13 ... A bunch of primitives that are or are not supported in different models 10:47:55 ... Integers as keys (including negatives), BigNums, Byte Strings, ordered sets and unordered sets 10:48:04 ... Does order matter? Where? When? 10:48:16 ... tagged values and tagged types. "This is an IP address" 10:48:34 ... number representations in different platforms matter. 10:49:04 ... JSON states numbers can be infinite, but reality is different. Typically 32 or 64 bit, depending on platforms 10:49:15 ... In short: this is not a simple choice 10:49:22 ... Data Model structures: three kinds 10:49:35 ... 1 Flat Structure (flat name-value pairs) 10:49:51 ... 2 Tree structure (most formats allow this). 10:50:11 ... but the question is does the structure imply anything semantically. Typically yes, but what? 10:50:32 ... Do certain names mean something? "id" in JSON-LD does. In JSON it doesn't. 10:50:55 ... Can you have arbitrary references to other entries in the document? 10:51:27 ... Because of that referenceability wrt public keys, we are almost certainly using a graph structure not a tree structure 10:51:40 zakim, open the queue 10:51:40 ok, burn, the speaker queue is open 10:51:42 q? 10:51:44 ... 3. Graph structure? 10:51:45 technically, CBOR does specify a 'canonical form' in the RFC see: https://tools.ietf.org/html/rfc7049#section-3.9 10:51:50 ... Canonical Forms 10:52:03 ... CBOR does not have a canonical form 10:52:33 ... One has to be defined by the protocol. CBOR doesn't haven't it implicitly. Rather the spec gives guidance on how to do it. 10:53:16 ... JSON does not have a canonical form, but there are schemes for doing it (JCS), but has corner cases. 10:53:40 ... JSON-LD does have a canonical form 10:53:49 ... that form is not a standard yet, but there is work happening in that direction. 10:54:07 ... if we care about digital signatures, then we care about canonical forms 10:54:12 ... Extensibility: 10:54:36 ... If we use @context from JSON-LD and the JSON encoding doesn't, then we have two completely different models for extensibility 10:54:40 selfissued has joined #did 10:54:46 present+ 10:54:55 q+ 10:54:59 ... If JSON-Only uses registry, do JSON-LD implementations have to pay attention to it? 10:55:09 q+ to pitch dagCBOR as a deterministic representation in IPLD 10:55:12 ... How do you know if your implementation is up to date with the current registry? 10:55:38 ... This comes down to: do we want a canonical form, how do we sign it without introducing security problems 10:55:48 ... buckets! 10:56:05 q+ 10:56:31 ... That means put extensions in a particular property, but then there is a question about what others should do if they find a bucket they don't understand. 10:56:38 ... these are not the only things 10:56:41 q+ 10:56:46 ... what else are there? 10:56:59 q+ 10:57:00 q+ 10:57:03 Q+ 10:57:04 q+ 10:57:05 zakim, close the queue 10:57:05 ok, burn, the speaker queue is closed 10:57:08 q+ 10:57:20 ack selfissued 10:57:27 selfissued: Two responses 10:57:48 ... in passing, Manu, you promulgated the assumption that canonicalization is necessary to sign. It is not. 10:58:06 ... Canonicalization is one way to do it. But JWT signs without canonicalization. 10:58:20 ... so we don't need to deal with that hairball 10:58:22 We have a mismatch of definitions... I agree with Mike that you can do it. 10:58:30 ... Different point: CBOR v JSON 10:58:53 ack jonathan_holt 10:58:53 jonathan_holt, you wanted to pitch dagCBOR as a deterministic representation in IPLD 10:59:05 ... Occam's razor suggests that we make the CBOR one exactly the JSON representation applying a standard translation to CBOR and not doing CBOR specific things 10:59:24 q- 10:59:34 just to plug IPLD.... pass 11:00:04 q? 11:00:06 ack oliver 11:00:36 -1 to version fields 11:00:39 oliver: staying up to date with JSON & registries is a hard problem to solve. but we could maybe deal with that with a version field 11:01:06 ack ChristopherA 11:01:32 ChristopherA: first, to respond to you have to have the entire JSON thing along with it. 11:01:58 ... that means that signature chains mean an explosion of sizes. so JSON not so great for multi-sig 11:02:07 ... I'm one of those people who likes JSON-LD for a different reason. 11:02:28 ... A lot of us came to JSON-LD because of the open world model and graphs, into JSON-LD from RDF 11:02:51 ... I came into JSON-LD because I can do a merkle-tree of the quads. I can do that with JSON-LD, but not with JSON. 11:03:27 ... I have a bunch of statements in JSON-LD, with each independently provable. 11:03:58 ... It's the simplest form of data minimization you can do. In contrast to issuing separate claims for every distinct assertion. 11:04:08 ... You just can't do that in some of these other stacks. 11:04:10 q? 11:04:30 ... We could separate from the JSON-LD thing from the canonicalization. 11:05:05 ... Just give me a merkle-tree. and I'll verify it 11:05:22 ack SamSmith 11:05:41 SamSmith: There are lots of standards that use much simpler data models and they work practically, and well 11:05:50 q+ to talk about "simpler" and other use cases. 11:06:04 ... there is a sense that if we don't have the ideal level of extensibility and all of these features, then we have the impreseion that will be a problem. 11:06:14 ... the real world is less about the ideal and more about practical adoption 11:06:29 ... sometimes that is more important to us as a standards organization 11:06:43 ... I spent ten years pushing superior tech that failed in the marketplace 11:06:58 ... concern is that we tend to err on the side of being ideologues instead of what will work in the marketplace 11:07:09 ... we should temper our conversations with a sense of adoptability 11:07:28 q+ 11:07:30 ack markus_sabadello 11:07:32 burn: everyone gets to say everything without censorship 11:07:35 ... for now 11:07:48 q? 11:07:56 markus_sabadello: I liked Oliver's comments about registries and versions 11:08:17 ack drummond 11:08:21 ... Perhaps there is some way that a registry and JSON_LD context could be kept in sync 11:08:38 Drummond: I want to reinforce something Sam said. 11:08:50 ... I posted the first issue that we should look at an abstract data model 11:09:01 ... all the discussion has made me even more passionate than ever 11:09:21 ... I define that as the core data model. This is what we absolutely have to figure out and agree on. 11:09:39 ... pure encoding is not the clear differentiator. 11:09:54 ... They are all actually graph models with different complexity 11:10:24 ... What we are solving is so low level... if we solve that ONE problem well, DIDs will be enormously successful, with NO extensibility at all 11:10:50 ... this is not to say extensibility isn't good, but that we must not fumble the ball 11:10:58 burn: lunch is coming up. 11:11:17 ... I know we haven't had enough time for discussion. We will have more time as we go. 11:11:24 zakim, open the queue 11:11:24 ok, burn, the speaker queue is open 11:11:34 ... Please keep comments short to keep the conversation flowing. 11:11:45 Topic: Abstract Data Modeling Options 11:11:54 ... So far, we've just been talking about potential incompatibilities 11:12:02 ... So I'm going to talk abstractly about abstract data models 11:12:09 ... What are we modeling? 11:12:20 ... Data processing (processing of a DID Doc) 11:12:24 ... Data Storage 11:12:32 ... Data transmission 11:12:54 ... The processing we are talking about is various computer languages. We HAVE to be agnostic there. 11:13:18 ... For storage, we'll likely store them in databases, but that's not really what we are standardizing here 11:13:29 ... Schema definitions my help. 11:13:54 ... For transmission, note we don't have to use the same format as we do for storage 11:14:09 ... Suggestion is that the transmission format is what we are modeling here 11:14:30 ... Other than PDF, most of us are talking about transmission. 11:14:43 ... This matters because it affects how you do modeling 11:15:05 ... Why do people use JSON? 11:15:18 ... It basically was an alternative to XML for transmission 11:15:43 ... I've done tones of XML. JSON is effectively a wire format for messages transmission and exchange. 11:15:53 ... By that, I mean a specific serialization 11:16:17 chaals has joined #did 11:16:24 ... Alternatives to JSON for serialization of Data: CSV, XML, YAML, CBOR 11:16:46 ... Argument: we should not be picking one, we should be using an abstract data model that works with any of these serialization 11:16:58 ... What level are we defining? 11:17:21 ... Spec was designed to be an abstract (exchange data model) 11:17:27 ... could deifnine at different levels 11:17:55 ... A Conceptual data model defins semantic roles and relationship without getting into syntax 11:18:13 ... typically uses a graphical representation that simplify an overview 11:18:29 ... Examples: object role model (ORM, very high level) 11:18:45 ... or Entity Relationship Model(express, UML, IDEFIX) 11:19:11 ... A structural level presents roles and relationship as fields (sometimes with syntactic requirements) 11:19:57 ... if we choose a modeling language that also allows us to model ties to procedures is that implementers could then take that model and extend it, using that modeling language to provide the computation support they need. 11:20:01 oliver has joined #did 11:20:10 present+ oliver 11:20:13 ... All of that is out of scope, but if we use such a language, it might help downstream adoption 11:20:57 ... Bunch of examples of favorite structural modeling languages 11:21:09 ... Are we modeling a transmission model? 11:21:23 ... and are we modeling a conceptual or structural model? 11:21:46 ... suggestion we should probably go to a structural model, with a format that has a graphical representation 11:21:57 ... it's just so nice for explaining to people what we are doing. 11:22:16 q+ to note that we are modeling a transmission format that is structural - we do abstract data model today, folks might not realize it. 11:22:33 ... Examble structural formats: EXPRESS, Protobuf, UML, IDEF1X 11:22:58 [see slides for details] 11:24:51 q? 11:24:59 q+ 11:25:43 q+ to ask about available tools for specs 11:26:05 ... those are the examples. we don't have to pick from just one of these. 11:26:10 q- later 11:26:22 ... this was to help us understand what our choices are as we consider abstract data models 11:26:46 ... This is a UML diagram that was complete and correct. 11:26:58 ... Some of the terms have changed, but it was accurate at the time.k 11:27:13 ... This avoids the bias of any particular syntax. 11:27:53 ... But we couldn't get anyone to write a specific syntax EXCEPT JSON-LD, so we got rid of the UML and moved forward with JSON-LD. 11:28:08 q+ to talk about transmission formats 11:28:08 q? 11:28:13 ... We'd love to have this for DIDs, we just need people to step up and produce them. 11:28:16 q- later 11:28:19 q+ 11:28:23 zakim, close the queue 11:28:23 ok, burn, the speaker queue is closed 11:28:29 q- later 11:28:31 ack dezell 11:28:37 ken has joined #did 11:28:47 ... dezell: I'm wondering why JSON Schema didn't make the list. 11:29:08 ... it is the underlying spec for [something] . I'm a UML fan, but the value comes out in a tooling 11:29:27 ... the graphs turn into real code. 11:29:35 q? 11:29:37 ack ivan 11:29:37 ivan, you wanted to ask about available tools for specs 11:30:03 ivan: JSON Schema is a moving target. They keep coming up with new versions. Stability is a problem. 11:30:26 ... we have had discussions with the JSON Schema people. They keep saying "sure a real standard would be great". 11:30:51 ... We have editors who have to create documents. Which are the ones that have good tools for editors? 11:31:11 ack Justin_R 11:31:11 Justin_R, you wanted to talk about transmission formats 11:31:48 Justin_R: big +1 to transmission and structural format coverage. There are assumptions that get glazed over 11:32:06 ... if we really are an abstract data format, then our data format need to actual exist and be serializable 11:32:22 ... what we have been doing a bad job at is realizing what those costs and weights are for other people 11:32:39 ack drummond 11:32:44 ... We often look at these as how easy it is for us in the group, without awareness of what it means for others. 11:33:04 ack manu 11:33:04 manu, you wanted to note that we are modeling a transmission format that is structural - we do abstract data model today, folks might not realize it. 11:33:08 drummond: as one who is passionate about abstract data models, I will volunteer, if we do UML 11:33:25 manu: Agree that we are doing a transmission and structural format 11:33:50 ... I had thought we were ALREADY doing a data model spec. I don't think there is much debate to be had at this level. 11:34:07 ... We can argue details, but there doesn't seem to be anything controversial here. 11:34:08 q+ 11:34:34 burn: right, but there are lots of people who may not have realized that we are making an abstract data model and what that means to our collaboration 11:35:16 I'd like to reference the XMLInfoset spec: https://www.w3.org/TR/xml-infoset/. It's purpose was to decouple XML syntax from the information content. Probably worth a look. 11:35:33 manu: the diagrams in the VC spec were removed because of feedback from implementers 11:35:50 burn: yes. I'm not saying we should have ONLY visual representations 11:36:08 ... we are chartered to define a data model AND one or more specific data realizations 11:36:16 q? 11:36:23 burn: LUNCH! 11:36:38 rrsagent, draft minutes 11:36:38 I have made the request to generate https://www.w3.org/2020/01/29-did-minutes.html ivan 11:51:03 charles has joined #did 12:19:53 gannan has joined #did 12:25:10 ken has joined #did 12:28:26 brent has joined #did 12:29:02 scribe+ 12:29:46 nicole has joined #did 12:30:47 ivan has joined #did 12:32:02 q? 12:32:13 Zoom Link for audio: https://zoom.us/j/5593214233 12:32:40 phila has joined #did 12:32:43 chaals has joined #did 12:32:54 Justin_R has joined #did 12:33:00 Brent: Who's going to dinner? 12:33:17 tplooker has joined #did 12:33:28 ... 21 people. 12:33:30 present+ 12:34:27 ChristopherA: Who would like to eat in Amsterdam? 12:34:41 ... OK. I'll find a place that works. 12:34:51 ... by the break. 12:35:29 mshea has joined #did 12:35:39 drummond has joined #did 12:35:41 present+ 12:35:46 Topic: DID Doc Extensibility via Registries 12:36:03 self_issued: What to registries accomplish? 12:36:14 ... They prevent name collisions. 12:36:38 ... And provide authoritative links to where to find definitions. 12:37:04 juan_caballero has joined #did 12:37:05 ... Idenitifiers can use names with the same meaning. 12:37:08 https://tools.ietf.org/html/rfc7518 12:37:31 ... Samples are IANA web token claim registry. 12:37:40 (JWA spec mentioned in ref to prev slide) 12:37:53 ... See https://www.iana.org/assignments/jwt/jwt.xhtml 12:38:12 ... (Explain sample) 12:38:13 gannan has joined #did 12:38:46 ... Claims for specific use cases are included. 12:38:50 zakim, open the queue 12:38:50 ok, burn, the speaker queue is open 12:38:52 q? 12:39:54 Chunming has joined #did 12:39:57 ... Specifications are required to add to IANA JSON Web Token Claims pending expert review. 12:40:21 ... Second example: https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms 12:41:14 ... How to add to a registry? 12:42:00 ... This is a decentralized method of publishing definitions. 12:42:07 q+ to talk about how registries like this get enforced 12:42:29 q+ to note about IETF registries being a decentralized extensibility mechanism. 12:42:38 ...The DID spec prohibits redefinition of terms. 12:43:00 ... Registries can help us avoid conflicts. 12:43:05 q? 12:43:12 ack Justin_R 12:43:12 Justin_R, you wanted to talk about how registries like this get enforced 12:43:20 q+ 12:43:22 samsmith has joined #did 12:43:23 q+ 12:43:28 selfissued has joined #did 12:43:29 q+ 12:43:40 present+ 12:43:43 Eugeniu_Rusu has joined #did 12:43:51 Justin_R: An important note when looking at the suite of JOSE fields. It creates a source for enumeration of fields. 12:44:09 q+ 12:44:33 ... I think this is strongly needed so that implementors can follow the directions in the documentation. 12:44:37 chaals has joined #did 12:44:53 ... The registry tells the implementor what they have to do. 12:45:22 ... When I see that field, I know what library to point at it. 12:45:42 to clarify, I believe we really need this for DID methods 12:45:48 q? 12:46:05 self-issued: Claiming there is no registry does a disservice to implementors. 12:46:13 q+ 12:46:18 ... From a normative standpoint. 12:46:25 q- 12:46:28 ... I think that is a mistake. 12:46:43 ... I filed an issue on that topic. 12:46:44 Carsten has joined #did 12:47:15 I want to point out to everyone that this mapping is explicitly in the WG charter 12:47:17 ... Especially with indentifiers that are not human readable. 12:47:38 ack manu 12:47:38 manu, you wanted to note about IETF registries being a decentralized extensibility mechanism. 12:47:42 q+ on not all "levels" of a registry entry need normative and conformance testable defines. Right now all entries in DID Registry are "provisional" 12:47:46 ... A more normal practice is to use human readable names. 12:48:39 manu: Depending on the definition of decentralized, registries have high process when there is disagreement. 12:48:51 q? 12:49:07 oliver has joined #did 12:49:08 ... Disagreement can be legit or political. 12:49:10 present+ oliver 12:49:58 self-issued: Fair enough. Usually there are directions to the reviewers to guide their actions. 12:49:58 ack markus_sabadello 12:49:59 q+ to distinguish registry for methods v registry for properties 12:50:31 markus_sabadello: Mike, do you think the registry approach will work with high volumes of additions? 12:50:36 q? 12:51:02 zakim, close the queue 12:51:02 ok, brent, the speaker queue is closed 12:51:05 ... Right now these are handled by JSON-LD definitions. 12:51:29 ... With 1000s being added I wonder if a registry can handle it. 12:51:42 ... Would it make sense for service types? 12:52:17 q+ to intentional versus emergent interop 12:52:23 So there is a bar to entry for adding to a registry - not necessarily a bad thing 12:52:29 self-issued: I would hope that service types would be registered. If not, how do implementors find out what the interoperabiliity is supposed to be? 12:52:55 ack drummond 12:52:56 q? 12:53:20 ... The registry says these are the service definitions that digital-bazaar created, or ChristopherA created. 12:53:33 drummond: I put the original text in. Sorry 12:53:35 registries require explicit, intentional interoperability - but an open-world model will allow opportunistic, emergent interoperability 12:53:52 ... I never expected we would have over 40 methods. 12:54:08 ... It has grown beyond expectations. 12:54:33 ... Point 2 Registries are a method, but not the only method. 12:54:59 ... The core features are in the spec. The extensions are not. 12:55:01 q? 12:55:06 ack samsmith 12:55:11 ... Both methods can work together. 12:55:46 samsmith: We have an informal method name. The rest can be defined within the method spec. 12:56:00 ... The model can name space to avoid collisions. 12:56:09 q+ 12:56:21 ... Namespaces are good; we should have more of them! 12:56:32 ack selfissued 12:56:48 self-issued: RFC7515 12:56:58 ... Search for collision. 12:57:27 ... JWS spec discussion of names. Public names are registered. 12:58:02 ... Collisions resistant names use some natural prefixes to prevent collision. 12:58:39 ... Using my domain name as the prefix helps me define my own "namespace" 12:58:51 q? 12:59:04 ... There are other collision resistant names that are longer and not registered. 12:59:16 as an aside, OIDs are a valid URIs 12:59:23 q- 12:59:23 ... You lose the definition if it is not registered. 12:59:27 ack ChristopherA 12:59:27 ChristopherA, you wanted to comment on not all "levels" of a registry entry need normative and conformance testable defines. Right now all entries in DID Registry are "provisional" 13:00:29 ChristopherA: An early proposal involved a whole block chain to register all the names. 13:00:36 ... It was too complicated. 13:01:21 ... A five level staging system involved documentation, implementation, live-system, etc. 13:01:36 ... It was censorship-resistant. 13:01:38 +1 to the levels and measures, this is what the normative teeth would apply to 13:02:07 ... I suspect that only a few will make it all the way through. 13:02:34 ... It's probably out of scope for this group to set up all and run a registry long-term. 13:02:39 ack JoeAndrieu 13:02:39 JoeAndrieu, you wanted to distinguish registry for methods v registry for properties 13:03:05 JoeAndrieu: With an eye to compromise, I think there is a difference between method and property name spaces. 13:03:14 ... They should be treated differently. 13:03:15 +1 to them being separable, though I'd add they might have the same solution 13:03:31 Topic: Extensibility via JSON-LD 13:03:31 zakim, open the queue 13:03:31 ok, brent, the speaker queue is open 13:03:34 provisional, conformance/test available, reference implementation available, live test available, poc available, in production, deprecated 13:03:39 Topic: DID Doc Extensibility using JSON-LD 13:03:51 manu: Why might we want to do this? 13:04:10 ... Add method-specific properties. 13:04:44 ... Add new service types. 13:05:13 ... Add cryptographic methods. 13:05:50 ... Or merge data with Verifiable Credentials. 13:05:50 q+ to talk about GS1 link types as potential service types (touches on registers convo) 13:07:08 ... To extend a DID Doc with JSON-LD you define a vocabulary, create a context, and append it to an @context property. 13:07:45 q+ on To manu's point, at one point we going to make a DID document, in whole, or partially, a Verifiable Credential. In my prototype, the proof type for my version of these VCs was singed by "SatoshiSignatureProof2009" 13:07:46 ... A simple single feature would take about an hor. 13:07:48 q+ to ask about cross domain ontologies like dbpedia.org, which is a DAG not a tree structure and classes may have multiple superclasses and handles translation between languages via aliases 13:07:58 s/hor/hour/ 13:08:03 q+ to manu's point, at one point we going to make a DID document, in whole, or partially, a Verifiable Credential. In my prototype, the proof type for my version of these VCs was singed by "SatoshiSignatureProof2009" 13:08:32 ... Using the new context is very simple. 13:08:38 q+ to point out that innovation is going to come from more than just method implementers 13:08:39 q? 13:08:53 ... There is no formal mechanism, unlike a registry. 13:09:25 ... 13:09:49 ... For JSON-only developers, you need to update your schema and validation. 13:10:34 ... Security may require some restrictions to JSON-LD extensions. 13:10:56 ... Decentralized extensibility can reduce peer reviews. 13:11:12 ... Sometimes JSON-LD is too complex for a use case. 13:12:07 ... Benefits include reduced roadblocks from the workgroup or registry. 13:12:33 ... Property conflicts are eliminated. 13:13:19 ... This method of extensibility is compatible with VC data model. 13:13:37 ... That's it. 13:13:48 ack phila 13:13:48 phila, you wanted to talk about GS1 link types as potential service types (touches on registers convo) 13:14:02 phila: I'm with GS1. 13:14:17 q? 13:14:22 ... A benefit is that it prevents the reinvention of the wheel. 13:14:23 mshea has joined #did 13:14:27 q+ 13:14:35 ... We have a bunch of service types. 13:14:49 ack on 13:14:49 on, you wanted to manu's point, at one point we going to make a DID document, in whole, or partially, a Verifiable Credential. In my prototype, the proof type for my version of 13:14:52 ... these VCs was singed by "SatoshiSignatureProof2009" 13:15:01 q+ to comment on extensibility biases and restricted scope 13:15:15 ... I'd like the existent context we have to be useful to others. 13:15:38 ack jonathan_holt 13:15:38 jonathan_holt, you wanted to ask about cross domain ontologies like dbpedia.org, which is a DAG not a tree structure and classes may have multiple superclasses and handles 13:15:41 ... translation between languages via aliases 13:16:04 jonathan_holt: I am concerned about cross-domain ontologies. 13:17:04 q+ to answer 13:17:05 q? 13:17:12 ack ChristopherA 13:17:12 ChristopherA, you wanted to manu's point, at one point we going to make a DID document, in whole, or partially, a Verifiable Credential. In my prototype, the proof type for my 13:17:12 ... Having a single domain be the authoritative source for the context is a potential security issue. 13:17:15 ... version of these VCs was singed by "SatoshiSignatureProof2009" 13:17:28 ChristopherA: Both DID docs and claims are about the subject. 13:17:52 ... We had our DID doc be a VC that was self-signed. 13:18:19 ... A second signature was base on a sitoshi's signature. 13:18:38 s/sitoshi's/satoshi's/ 13:19:19 ... Extensibility could be provided by VCs. 13:19:19 ack JoeAndrieu 13:19:19 JoeAndrieu, you wanted to point out that innovation is going to come from more than just method implementers 13:19:49 JoeAndrieu: The method name space should be considered separately from the property name space. 13:20:20 ... We will have differences of meaning regarding a property with the same name. 13:20:58 ... I want less in the did document. 13:21:13 ... I don't want all the service endpoints in the did doc. 13:21:19 ack markus_sabadello 13:21:38 ... If we can reduce the amount of data in the did doc, fewer extensions will be needed. 13:21:55 q to ask what types of extensibility do we actually need 13:22:02 q+ to ask what types of extensibility do we actually need 13:22:07 markus_sabadello: Earlier we wanted to avoid registering did methods. 13:22:26 ... It brings us back to the definition of the purpose of the did doc. 13:22:41 q? 13:22:46 q+ 13:22:59 ... Is it a minimal document for the did and small service endpoint 13:23:23 ... Or is it a represent of "me" more completely? 13:23:56 q? 13:23:58 ... What happens when the registry potentially gets compromised? 13:24:09 present+ 13:24:39 ack ewelton 13:24:39 ewelton, you wanted to comment on extensibility biases and restricted scope 13:24:43 ... Compromising the semantic meaning of properties is also a risk. 13:24:49 audio still bad? 13:25:02 ewelton: What can the did doc represent? 13:25:08 markus has a soft voice, eric is speaking pretty clearly and loudly, tho 13:25:16 good audio: https://zoom.us/j/5593214233 13:25:25 ... We mostly agree on the core fields, but what about the fields beyond that? 13:25:43 q? 13:25:46 ... We can give guidance on how extensibility works. 13:26:10 ... A set of VCs might be a better way to extend the data in the did doc? 13:26:39 ... This group has very few women or Asians in it and will reflect our biases. 13:27:03 ... I am more in favor of the open world model. 13:27:11 ack manu 13:27:12 manu, you wanted to answer 13:27:22 q+ 13:27:27 zakim, close the queue 13:27:27 ok, brent, the speaker queue is closed 13:27:47 manu: Responding to "http" for contexts. There are other methods. 13:28:06 q+ 13:28:37 ... re: "I'm concerned about centralization of semantic meaning." Some thought (20 years) has gone into this. 13:28:39 https://wiki.dbpedia.org/ 13:28:51 ... Schema.org is an example. 13:29:08 IdentityWoman has joined #DID 13:29:14 ... You can disagree and put up your own definition. 13:29:23 q? 13:29:57 jonathan_holt: I am struck by the one source of truth and reliance on http protocols. 13:30:25 ... A centralized model vs. a decentaralized model. 13:30:30 I love the "turtles all the way down" analogy - we always need to keep that in mind with DID documents 13:30:57 q+ 13:31:10 zakim, open the queue 13:31:10 ok, brent, the speaker queue is open 13:31:17 q+ 13:31:22 brent: Can we discuss the remaining queue after break? 13:31:25 q+ 13:31:29 q+ 13:31:59 Topic: Break 13:32:41 In my defence, burn, I was on a boat when you asked about the boat trip :-) I'd like to be 'in' 13:43:33 charles has left #did 13:47:22 Justin_R has joined #did 13:47:31 ken has joined #did 13:47:41 drummond has joined #did 13:47:42 present+ 13:47:45 q? 13:48:14 juan_caballero has joined #did 13:48:18 charles has joined #did 13:48:22 mxshea has joined #did 14:03:21 q? 14:03:38 Topic: continued Extensibility discussion 14:03:54 selfissued has joined #did 14:04:13 ack ivan 14:04:13 ivan, you wanted to ask what types of extensibility do we actually need 14:05:29 scribe+ yancy 14:05:53 ivan: look at dbpedia as the machine readable version of all the media wikipedia has put together 14:06:09 metadata* 14:06:11 ... if I'm on the linked data world, my data can be combined and put into dbpedia 14:06:27 ... there are a large number of these databases 14:06:32 ... public domain etc 14:06:40 ... you can tthink of it in smaller terms 14:06:41 q? 14:06:42 yofukami has joined #did 14:06:59 ... som vc credentials and all the way of combining data in one credential is what it's all about 14:07:18 ... if we have that, and this is a usecase for us, then json-ld can be used for that 14:07:28 ... we need to decide on the use-cases 14:07:43 oliver has joined #did 14:07:47 mike: does combine mean both from my databases into another 14:07:48 present+ oliver 14:07:49 q+ 14:08:17 ivan: imagine this is one big datanase and tyou have a query with all the details 14:08:18 q+ 14:08:31 ... just daying that this is a possible use case 14:08:39 s/daying/saying 14:08:42 q+ to mention Veres One, DIDs referring to other DIDs, and merging with Verifiable Credentials. 14:08:43 q+ 14:08:52 ack drummond 14:09:08 q+ drummond 14:09:14 q+ to talk about similar activities 14:09:26 ack samsmith 14:09:34 sam: my suggestion is that we two types of docs that we discuss extensibility for 14:09:48 ... this is for the presentation I gave to the wg a week ago 14:10:01 ... there are two activities that happened when accessing a did 14:10:04 s/for/from/ 14:10:08 ... there are two roots of trust 14:10:23 ... cryptographic and infrastructure 14:10:38 ... infrastucture is a blockkchain 14:10:59 ... and you're dependanct on the distrubuted consouious 14:11:18 ... cryptagraphic is one that's signed 14:11:34 ... it's a self-cert 14:11:52 dezell has joined #did 14:11:59 ... some people provide proof in a DID doc 14:12:17 ... that type of establishment doesn't need any extensive amount of extensibility 14:12:24 ... once you've establehed it 14:12:39 ... they are no longer a security vector 14:12:54 ... common authorizations can have a line drawn 14:13:03 ... can draw at establish auth 14:13:11 ... or above service authorization 14:13:51 ... arguments for open world or infinite become valid in that case 14:14:12 ... I think that's the porblem is that we need to make seperation of concerns 14:14:15 ack selfissued 14:14:42 selfissued: people seem concerned about having qa fixed set of people deciding whats part of the record 14:14:51 ... this wg is part of such a group 14:14:57 ... we seem to be ok doing that 14:14:58 s/qa/a/ 14:15:12 ack manu 14:15:12 manu, you wanted to mention Veres One, DIDs referring to other DIDs, and merging with Verifiable Credentials. 14:15:45 manu: I think that before we had a discussion about a layer that's pre-diddocument 14:15:55 q+ to say merging DID Docs with VCs is probably a terrible idea. 14:15:58 q+ to support sams position and combine it with markus' 14:16:01 ... I think the part you're concerned about is what happens before the did doc is crated 14:16:09 ... I think we should seperat them 14:16:10 q- 14:16:22 ... bu I don't know if this group should sepearte them 14:17:03 ... I want to point out that its under the extensibiity discussion 14:17:22 sam: some extensibility could go into that document 14:17:30 ... then you auth an encryption 14:17:42 ... if you look at in terms of iot... 14:17:57 manu: there are a lot of other uses cases that come up 14:18:09 ... veris one stores did docs 14:18:18 ... the ledger is built aroun the mechanizm 14:18:25 mechanism 14:18:26 s/veris/veres/ 14:18:53 ... we merge data sources on a regular basis 14:19:05 ... there are many times when json-ld is usefull 14:19:25 q? 14:19:36 ... we also have usecases where some diddocs refer to other diddocs 14:19:47 ... in some cases they are associated 14:20:11 ... there are use cases that are not yours that are feeding into the desire to have more complex use cases 14:20:13 ack markus_sabadello 14:20:15 q+ 14:20:31 markus_sabadello: json-ld context is a type of registry 14:20:41 ... that's not so different then a registry 14:20:51 ... it's just ayone can run there own registry 14:21:06 ack burn 14:21:46 burn: from rfc 3968 14:21:57 ... basically there is resolution and de-referencing 14:22:12 ... slide 93 14:22:44 ... in the process of doing resolution we realized there are these things you neede to do 14:23:00 ... but there's no requirement that they need to be stored that way 14:23:11 ... the did doc was just an idea about this stuff 14:23:20 ... and gradually stuff started to be added 14:23:34 ... orginally this was just a way to give information that was asked for 14:23:49 ... we may have chaned our minds, but this was the original way it worked 14:23:59 ... that's why some of us say the format doesn't matter 14:24:11 q- 14:24:28 ack JoeAndrieu 14:24:33 ... in order to understand the de-ref you need to understand a resource 14:24:44 Joe: I like the seperation of authority 14:24:49 .. and what does that mean 14:25:02 sam: I think it's a problem with how identifiers are used 14:25:25 q+ to say merging DID Docs with VCs is probably a terrible idea. 14:25:33 Joe: I know this will make you said but to answer the question I think the link is an anti-pattern 14:25:42 ... what I care about is I like json-ld 14:25:48 q- 14:25:54 ... if ytou need linked then of course you go jsonld 14:26:21 ... I need somone to inovated with a service type and a goup of white males that get to decide the future 14:26:28 ... and it needs to be not white mails 14:26:34 ack drummond 14:26:35 s/mails/males 14:26:49 drummond: slide 93 14:27:03 ... consolidates a bunch of things we've been talking about 14:27:06 ... the core is the core 14:27:15 ... jus like molten is the earth 14:27:16 q+ 14:27:23 ... to add you need to version teh spec\ 14:27:34 ... they don't need to use them all but cant becahnged 14:27:46 ... next degree is the centralzied base 14:28:15 ... I think we could have one tha't both namespaces and key type sercvices 14:28:30 ... the point there is it's extension through centralized coordination 14:28:50 ... but we know how to do collision free namespaces 14:29:01 ... do we have any choice? 14:29:18 manu: i'm opposed 14:29:35 q? 14:29:36 drummond: there's a lot of details there and a lot are really good 14:30:02 s/teh spec\/the spec/ 14:30:04 q+ 14:30:20 ack phila 14:30:20 phila, you wanted to talk about similar activities 14:30:39 phila: my carrier in standards begin with a massive failure 14:30:49 ... because i was telling people how todo stuff 14:30:57 s/becahnged/be changed/ 14:31:00 ... the one im working is successfull 14:31:15 ... extensibility is what makes your standered usefull 14:31:24 ... it has a layer of validation 14:31:26 s/centralzied/centralized/ 14:31:34 ... we are going to bolt in on to what we already got 14:31:44 ... because I need extensibility and flexibility 14:31:48 ack ewelton 14:31:48 ewelton, you wanted to support sams position and combine it with markus' 14:31:56 s/my carrier in/my career in/ 14:31:59 ewelton: I like the levels that sam dreew 14:32:27 ... there is this idea of what was said that we have methods that have a mechanism and we wan t a core data model that does that 14:32:37 q+ to bring up technical concerns, we're still a bit too meta. 14:32:41 s/standered usefull/standard useful/ 14:32:42 ... but then markus said is this a did document of myself\ 14:32:53 ... so everyhthiong is forming a nice structrue 14:33:04 ... and it gives a better definition of the trust mechanics 14:33:12 ... and we need it to be crisp[ 14:33:21 ... and how can we formalize it into a discussion 14:33:30 s/sam dreew/sam drew/ 14:33:33 ack brent 14:33:33 brent, you wanted to say merging DID Docs with VCs is probably a terrible idea. 14:33:36 ... so how can we capture and strucutre that 14:33:49 ack tplooker 14:33:49 brent: merging did docs and vc is bad 14:34:07 tplooker: if we look at the presentation, jose outlines a bunch of registries 14:34:20 ... and created a rpocess to create that core registry over time 14:34:29 ... and manu drew a process to open claims 14:34:42 ... and openid tokens can be created with new claims 14:34:51 s/did document of myself\/did document of myself/ 14:35:12 s/crisp[/crisp/ 14:35:17 q? 14:35:20 ... I want to start creating new claims beyond the did spec that will never be createed 14:35:33 ... or Im happy for them to be symantically unambigous 14:35:46 ... are we expecting to updated teh core data-=model 14:35:59 ... and they updated the context in an editor manor 14:36:04 ack ChristopherA 14:36:04 q+ 14:36:29 christopherA: one of your points is theres a distinctiojn about people that just want tthe keys 14:36:37 ... and don't care about the establishment 14:36:47 ... vs those that care about rotaibilty 14:36:52 ... and drummonds thing 14:37:04 s/distinctiojn/distinction/ 14:37:06 ... one side is in the direction of how to rotate 14:37:13 s/tthe/the/ 14:37:18 ... and the other direction is how to record teh simplest stupidest client 14:37:21 ack manu 14:37:21 manu, you wanted to bring up technical concerns, we're still a bit too meta. 14:37:31 manu: I like what im hearing 14:37:35 ... but it's too much meta 14:37:38 q? 14:37:43 ... we need to get to some discussion 14:37:50 ... nothing wrong with the disagram 14:38:00 ... I'm just using this as an example 14:38:13 ... so that green there the registtry extensiton 14:38:26 ... but does the greeen thing make it impossible? 14:38:28 q+ 14:38:39 q+ on (to respond manu's question of getting more technical) Why does endpoints (for features other than key material) have to be in DID document? 14:38:41 ... bu with the green stuff do you require a json-ld context 14:38:44 +q 14:38:54 ... if that's not true we havn't solved anytihng 14:39:03 ... is that open to the josn-ld folks 14:39:24 zakim, freeze the queue 14:39:24 I don't understand 'freeze the queue', brent 14:39:29 ... it's those kind of specifics, in my head befiore adding to the spec 14:39:31 zakim, close the queue 14:39:31 ok, brent, the speaker queue is closed 14:39:33 q? 14:39:42 s/befiore/before 14:39:48 ack ivan 14:39:56 ivan: first of all, I will answer 14:40:02 s/josn-ld/JSON-LD/ 14:40:05 ... mainly with some changes coming up 14:40:23 ... in will be possible without complication the working group goes to a maintance working group[ 14:40:31 ... and I know tehre may be version issues 14:40:42 s/group[/group/ 14:40:44 ... but if we don't change to structure it will be probably possible 14:40:53 ... but what you where saying is interesting 14:41:04 ... because there is a parallel 14:41:14 .... tehre should be a way to have a spec 14:41:25 s/tehre/there/ 14:41:25 .... that has a data exchange modle in teh document 14:41:35 ... we have json-ld as possible 14:41:36 s/modle/model/ 14:41:44 s/teh/the/ 14:41:45 ... the jsonld would refer only to one single element 14:42:04 ... if someone wants to make use fo tink linked data facility 14:42:08 ... if no so what 14:42:20 ... I can see something come out of this by expecting both sides 14:42:33 ... if it is an informatl registry then all bets are off 14:42:43 q+ 14:42:44 ... but something like that might be possible\ 14:42:46 ack tplooker 14:42:46 q+ 14:43:02 tplooker: if you treat the green rign as the expanding core over time 14:43:12 ... and others that will never be agreed on 14:43:19 ... tehen that sorts everythign 14:43:26 (in drummond's diagram) on slide 93 14:43:28 ... an you update that context att the ctner 14:43:37 ... and because for example 14:43:40 s/tehen/then/ 14:43:51 ... if an open-id connect provider and they dont' publisha spec 14:44:03 ... its just informal by starting to emit things 14:44:08 ack ChristopherA 14:44:08 ChristopherA, you wanted to comment on (to respond manu's question of getting more technical) Why does endpoints (for features other than key material) have to be in DID document? 14:44:10 ... so I don't know how it relates 14:44:18 Christophera: 14:44:20 q? 14:44:35 still havent' figured otu why did stuff needs to be in an endpoint 14:44:45 ... why am I putting them allin this dag 14:44:54 ... progessive thing to get to the key that they want 14:45:00 ... they need to prove to me 14:45:16 ack samsmith 14:45:18 ... in bitcoin we are trying to get to a point where no pub keys are revealed 14:45:31 sam: they have a combination that uses a tag based registry 14:45:41 ... and its'a symantic overlay 14:45:45 zakim, open the queue 14:45:45 ok, brent, the speaker queue is open 14:45:48 ... and you get the best of both worlds 14:45:54 Topic: Metadata 14:46:06 props to yancy (but keep going) 14:46:42 gannon: I had the pleasure of reading the long issue 14:46:47 ... as well as teh rfc logs 14:46:55 ... slide 95 is background 14:47:09 s/teh/the/ 14:47:18 ... just want to say dan you've touch on the things i'm taling about 14:47:40 ... see slide 97 14:48:06 ... slide 98 did doc explained 14:48:37 ... the way Ilook at that is theres an object and graph model that relates to that did 14:48:48 q? 14:48:49 ... slide 99 14:49:00 q? 14:49:08 ... it is the output of calling DID resolve on some did 14:49:19 ... and we did that to give full intention to that did method 14:49:31 ... slide 100 14:50:16 ... we can not make assumptions of how its rooted in a database 14:50:35 ... a did doc is not a file in a falesystem 14:50:45 ... so when thinkg about did document created 14:50:52 ... slide 102 14:51:03 ... this can be though of as the same way as a date header 14:51:09 q+ 14:51:13 ... the date that's put on the header and response 14:51:27 ... I thikn that's the way we're supposed the think about it 14:51:34 ... slived 103 14:51:55 ... slide 104 14:51:59 oliver has joined #did 14:52:00 present+ oliver 14:52:03 q+ 14:52:05 q+ 14:52:08 s/slived/slide/ 14:52:17 q+ 14:52:19 ack ivan 14:52:28 ivan: I know it will sound like bike shedding 14:52:30 q+ 14:52:35 q+ to ask about how to define time universally? 14:52:44 ... isn't it time to use something besides a DID document 14:53:06 ... the effect of using a did document leads to the discission we're having now 14:53:21 chrisphera: 14:53:24 there is some history 14:53:32 ... thhere was a DDO 14:53:42 ... then we started calling it a DID document 14:53:45 q? 14:53:50 ... in my world it needs to be created 14:53:52 ack oliver 14:53:57 s/thhere/there/ 14:54:00 oliver: if you read teh date field of http 14:54:04 q+ to say this "thing" has an identifier, and there is information about that identifier... not information about the information. 14:54:11 ... wouldn't this break the proof of the did document 14:54:22 ... if they protected it with the proof 14:54:36 ack drummond 14:54:53 drummond: I want to make the point that you said antything in the did doc must describe the subject 14:55:03 ... thre's inforation about the did subject 14:55:10 ... should we seperate that 14:55:16 ... create date and update date 14:55:34 ... are we taling about when the tea pot was made and broken or not 14:55:41 ... how do we seprate that 14:55:48 q? 14:56:00 ack jonathan_holt 14:56:00 jonathan_holt, you wanted to ask about how to define time universally? 14:56:01 q+ to update your face 14:56:02 Joe: couple things 14:56:07 q+ jonathan_holt 14:56:12 ... need bare witness 14:56:21 ... it couldbe a bout a group which I'm a member 14:56:21 ack JoeAndrieu 14:56:28 q+ to suggest the spec states that it is inappropriate to seek metadata about the DID-doc 14:56:35 q+ to ask if DID subject is, officially, the URI resource for the DID scheme 14:56:36 ... I don't like arbitrailty sucking everything up because i'm not my did 14:56:42 s/bare/bear/ 14:56:46 ... is the controller in charge?\ 14:56:57 ... then that' metadat 14:57:06 ... the reason I said on that update date 14:57:23 ... if a controller wants to update the date abd it took 3 days for bitcoin to get tthe tranasaction 14:57:28 q? 14:57:30 .... did the did conterller say it 14:57:34 +1 to Joe 14:57:40 markus: I wanted to say somethin similar 14:57:45 ... in the resolution spec 14:57:47 ack markus_sabadello 14:57:55 ... in the resoltuoin there is teh resolultion result 14:58:09 ... to me whats in the did doc can be different for each resolution process 14:58:10 q+ to suggest the spec states that it is inappropriate to seek metadata about the DID-doc, but can seek metadata about the resolver 14:58:21 s/resoltuoin/resolution/ 14:58:21 ... the metadat about the persoin may be different 14:58:31 ... changes only when the controller updtes it 14:58:41 ... the second thing i wnated to say about created 14:58:55 ... I disagree with what gannon said 14:59:06 ... I thikng the did document is createx when the did is created 14:59:16 ... it may not be stored as a file 14:59:28 ... and the resolver retrives it and constructs it 14:59:37 ack jonathan_holt 14:59:45 +1 to markus' comments 14:59:47 jonathan_holt: 14:59:49 q+ to ask whether separating discussion into 'did info' vs. 'did doc' would help 14:59:55 ... I think time is relative 15:00:05 ... the time may be relavant 15:00:11 ... was an issue with eth classic 15:00:22 ... by jumping ahead in the timestamp 15:00:26 ack manu 15:00:26 manu, you wanted to say this "thing" has an identifier, and there is information about that identifier... not information about the information. 15:00:27 ... and that should be considered 15:00:35 manu: wanted to +1 drummond 15:00:43 ... there are two thihngs were talking about 15:00:56 ... I think it's interesting that joe and I disagree 15:01:05 ... I don't think it has any affect on the decision 15:01:28 ... and I think markus is write that your framing of whats a crated date is spot on 15:01:34 q+ to use 'did info' and 'did prez' instead 15:01:41 .... that did doc that this group is creating 15:01:46 ... it has an identifier 15:01:59 ... that I think by and large has information asserted by the did 15:02:12 ... and it becomes obvious 15:02:27 ... markus example is outside since teh contrller didin't make that assertion 15:02:40 q? 15:02:42 ... this is info asserted by the controller 15:02:48 q+ 15:02:52 ack Justin_R 15:02:52 Justin_R, you wanted to update your face 15:02:56 ... and there is a clean break about what's data and metadata 15:03:10 justin_r: what I observe here 15:03:21 ... is that people want to make statemenets about two things 15:03:32 ... the document and info that got the document here 15:03:41 ... and we don't have a clear way to express that 15:03:49 ... and people are getting upset about that 15:03:56 ... like the created_at 15:04:03 q+ to talk about result of process vs. asserted info 15:04:05 +1 to Justin_R's categorization of the data/metadata 15:04:46 ... this is something that is something that needs to fit with the resolution process 15:04:47 q+ 15:04:55 ... we might be able to define thingss about the did doc 15:05:05 ... and however that comes back is up to the method 15:05:07 ack phila 15:05:07 phila, you wanted to suggest the spec states that it is inappropriate to seek metadata about the DID-doc and to suggest the spec states that it is inappropriate to seek metadata 15:05:10 ... about the DID-doc, but can seek metadata about the resolver 15:05:14 ... and theres' lots with response headers 15:05:26 phila: I like the thing about how the did doc isnt' real 15:05:35 ... and so I wonder if we can state in the spec 15:05:46 ... and say it's not appropriate 15:05:57 ... and if you need software that depends on that it's wrong 15:06:18 ... nobody has asked us about the did doc unless you ask you get redirected to the service 15:06:27 ... nobody asked about metada about that 15:06:52 q? 15:07:02 ack burn 15:07:02 burn, you wanted to ask if DID subject is, officially, the URI resource for the DID scheme and to ask whether separating discussion into 'did info' vs. 'did doc' would help and to 15:07:02 ... I think this idea that the did doc that only treats it in that way 15:07:05 ... use 'did info' and 'did prez' instead and to talk about result of process vs. asserted info 15:07:19 burn: just going to say 15:07:32 ... wonder if the did subject is the uri resource 15:07:36 q+ about URI resource 15:07:44 ... keep goin back to rfc 3986 15:07:58 ... the resource doen't need to be real 15:08:11 ... so did subject and resource doesn't need to be the same thing 15:08:26 ... I like the idea of being clearer about sepering process 15:08:28 q+ to what is the purpose of a DIDdoc, what security/trust issue does it address? 15:08:33 ... from informatio 15:08:46 ... was looking a did info a nd did presentation 15:08:57 ... clearly thrers' different levels 15:09:01 ack drummond 15:09:12 drummon: first point I want to respinod to dan 15:09:22 q+ to talk about URI as resource 15:09:25 ... we do say in the spec the did identifies the did subject 15:09:33 ... bucket 1 15:09:42 ... not sure how the did subject could 15:09:53 ... threre's a metapoint about identfying the did subject 15:10:06 burn: a did has a resouvce and that could be anything 15:10:31 to clarify my statement from earlier for the notes, I actually mentioned three things: data in the document, data about the document, and data about how the document got there 15:10:36 s/resouvce/resource/ 15:10:39 q? 15:11:10 drummond: I wante adress what just says by syaing I agree with him 15:11:16 q+ 15:11:16 ... metadat describes data 15:11:24 ... its really just a graph 15:11:34 ... you put a node in the graph of the document 15:11:45 ... and under it we put al metadata about the document 15:11:53 ... its not rocket science 15:12:04 ack markus_sabadello 15:12:05 +1 to drummond 15:12:09 ... we're not even sure we're talking about the did subject 15:12:21 q 15:12:24 markus: with regard to the resouce 15:12:34 q+ to talk about making it rain 15:12:40 .... sometimes we treat the did as an identifier 15:12:50 ... and sometimes we treat as a subject. 15:13:09 q+ to say we're having trouble with metadata because we have trouble with data. 15:13:24 ... final thing I wanted to say is that I agree that it's inline with architecture tor return meta-data 15:13:32 ... I just don't like did resolution response 15:13:39 acl Oskar 15:13:44 ack Oskar 15:13:44 Oskar, you wanted to what is the purpose of a DIDdoc, what security/trust issue does it address? 15:13:45 .. which sounds like client server protocol 15:13:50 +1 to DID Resolution Result 15:13:56 Oskar: some of this is confusing 15:14:04 ... what is the purpose fo a did document 15:14:06 Time in blockchains is relative: i.e. The `timestamp` of bitcoin block #180966 is 2012–05–20 23:02:53 15:14:06 The `timestamp` of bitcoin block #180967 is 2012–05–20 23:02:13. 15:14:18 q? 15:14:28 jusin_r: a lot of people are already deploying 15:14:40 s/jusin_r/justin_r/ 15:14:42 ... and coming in to the group we realize there are no defintions 15:14:50 q+ to answer what is the purpose of a DID document 15:14:59 ack JoeAndrieu 15:14:59 JoeAndrieu, you wanted to talk about URI as resource 15:15:22 ... I think there are 3 different resources 15:15:29 ... the uri as a subject 15:15:35 ... once you treate as url 15:15:42 ... you're not getting back a subject 15:15:56 ack tplooker 15:16:03 ... if theres a service end-point, you only get back what's seralized and returned 15:16:15 tplooker: if you put a reolver into jus a uri 15:16:28 ... is that did itself considered a URL? 15:16:45 ... which in my mind is an assertions about the subject by the did controller 15:17:17 JoeA: I think you should get back the whole document 15:17:17 ack burn 15:17:17 burn, you wanted to talk about making it rain 15:17:24 burn: you may not agree with me 15:17:31 ... want to atalk about making it rain 15:17:40 ... and if somene else asks what it identifies 15:17:48 ... it identifies a subject 15:17:58 ... the did subject might be the sku 15:18:09 ... so what is the resouce that I'm manipulationg? 15:18:18 ... there might be a did for the sku 15:18:43 q+ to talk about the use of dids in conversation as a subject 15:18:51 ... I would draw a distinction between the did subnject and the resource 15:18:54 q+ to note we're dangerously close to HTTP Range 14 and we really shouldn't go there. 15:19:17 q+ to say someone should define these things and we should put them in the spec. I think we have enough to give that a shot. 15:19:28 ... if the did subject is me, and you want to call me it's dan 15:19:35 ... I don't have a phone in my brain 15:19:52 ack brent 15:19:52 brent, you wanted to say we're having trouble with metadata because we have trouble with data. 15:19:53 ... and youll call some number that i'm going to answer 15:20:22 brent: we are having trouble defining the metadata about the data 15:20:36 ... we need to figure that out before we talk about metada 15:20:45 ... we need to come to some agreement 15:20:45 ack drummond 15:20:45 drummond, you wanted to answer what is the purpose of a DID document 15:20:47 maybe look at items in DID doc and list where they come from - 15:21:03 drummond: id love to have time to draw anothr diagram 15:21:11 ... there are two dots 15:21:12 asserted by DID controller, resolution process, etc. 15:21:19 ... the did is the label on that arc 15:21:31 ... the did subject is whatever that dot is on that arrow 15:21:42 ... and for any controller they define what that dot is 15:21:59 q? 15:21:59 ... and if dan says its pointing at the sky, it's whatever dan thinkgs the sky is 15:22:14 q+ to mention informal knowledge 15:22:18 ... in someway it gives us the ability to describe what we thingk something is 15:22:31 ... the first dot is teh did controller\ 15:22:41 ... there dot one 15:22:53 ... point two is JoeA as usual is right 15:23:03 ... I want to clarify what he's correct about 15:23:13 ... when markus and I collaborated 15:23:14 tzviya has joined #did 15:23:28 ... and if we get to it we have a proposal of how to clarify that 15:23:39 ... the did document is never the subject 15:24:11 ... from a web representation, because it's metada, we have this thing markus pointed out 15:24:18 ... it's a resouce on the web 15:24:35 ... the DID itself is a uri and not a URL 15:24:55 q+ to argue against / 15:24:57 ... if you want to identify the did document you add one character. or proposal is to add forward slash 15:25:09 ack ewelton 15:25:09 ewelton, you wanted to talk about the use of dids in conversation as a subject 15:25:19 ewelton: +1 to all that 15:25:29 ... the thought I had was the did could be anyting 15:25:33 q+ 15:25:35 q+ 15:25:43 q- 15:25:53 q+ to About / 15:25:53 ... and if I create a document outside of did land that describes teh seating chart, that's how it will be in the did document 15:26:03 Eugeniu_Rusu_ has joined #did 15:26:03 ... I may want you to add information about it 15:26:11 ... and I don't need heavy crypto 15:26:14 q+ 15:26:17 ... and I say if I created a did 15:26:37 ... I would have control over that and I don't need to establish authrority over that 15:26:43 ... it's more like a uuid 15:26:48 ... a lightweight di 15:26:54 s/di/did 15:26:57 ack manu 15:26:57 manu, you wanted to note we're dangerously close to HTTP Range 14 and we really shouldn't go there. and to say someone should define these things and we should put them in the 15:27:00 ... spec. I think we have enough to give that a shot. 15:27:04 manu: im concerned this is range 14 15:27:19 ... http14 is a discussion onging for 20 years 15:27:38 ... there is no correct answer and thousands of engineers haven't found an answser 15:27:41 -> https://en.wikipedia.org/wiki/HTTPRange-14 HTTP Range 14 in Wikipedia 15:27:42 s/http14/range 14/ 15:27:50 the Wikipedia page on HTTPRange14 is highly recommended 15:27:50 ... the way you escape is someone produces some defintions 15:28:09 ... and if its' good enough for a few members, then we move on 15:28:10 q? 15:28:17 ... you should read about it 15:28:25 markus_sabadello2 has joined #did 15:28:31 issue #14. https://www.w3.org/2001/tag/group/track/issues/14 15:28:54 ivan: if you have a url against a resouce, and the resouce is a book, what exectly are you referring to 15:28:57 q+ 15:28:57 Last year we spent several weeks discussing DIDs and httpRange-14 during the DID Resolution calls. A summary is here: https://docs.google.com/document/d/1gSUP9DEp7IO8jyNDsVnC-7Ed6PjbMRxl89nGYUoWoeI/ 15:29:06 q 15:29:14 q+ 15:29:39 q 15:29:46 ack JoeAndrieu 15:29:46 JoeAndrieu, you wanted to mention informal knowledge 15:30:01 JoeAndrieu: I think we have a proposal 15:30:08 ... I think it resolves what we mean 15:30:16 ... but lets get the proposal 15:30:23 -> HTTP Range 14 discussion https://en.wikipedia.org/wiki/HTTPRange-14 15:30:34 ... I want to touch on how we instantiate identity as attributes 15:31:00 ... what clicked for me is there's a problem around formal vs informal identity 15:31:13 ... whatever the controller defined may not know what it is yet 15:31:24 ... I don't need a legal form of identification 15:31:30 ack phila 15:31:30 phila, you wanted to argue against / 15:31:32 "Tim's argument that HTTP URIs (without "#") should be understood as referring to documents, not cars" 15:31:33 ... i'm just trying to figure it out 15:31:50 phila: dont do the slash thing 15:32:04 ... a query I want the did doc or don't 15:32:09 ack drummond 15:32:14 ... especially if it's just one char 15:32:36 drummond: what we did want to do to address manus point 15:32:48 ... and we spent 15 years working on the symantic web problem 15:33:01 ... we hadn't said there's a huge case for a type that's abstract 15:33:09 ... and realized there is a did 15:33:21 q+ to note developers are going to screw this up :( 15:33:25 s/symantic web/semantic web/ 15:33:32 ... and a defintion can evolve over time and that we pull symantic naming over dids 15:33:49 ... and fantastic we can get to more sophistaicated ways about symantics 15:34:02 q+ 15:34:10 sophisticated 15:34:32 ... if there are addional buckets, we can agree on the metadata 15:34:32 ack ChristopherA 15:34:32 ChristopherA, you wanted to About / 15:34:36 q+ 15:34:52 christophera: hopefully dids will never be seen by a user 15:35:15 ... but another chanallange where i've dealt with the slash at the end 15:35:31 ... that will translate to xml 15:35:47 ... the pattern we've seen has been challanging 15:36:00 s/chanallange/challenge/ 15:36:04 s/challanging/challenging 15:36:06 ack tplooker 15:36:18 tplooker: was going to make the point about what the difference would be 15:36:28 ... trying to tease out the details to the developer 15:36:41 ... and to resolve it you need to add a slash 15:36:57 ... would not give merit by confusing the developer 15:36:58 ack gannan 15:37:08 gannon: want to make sure this issue moves forward] 15:37:37 ... feels like there's some precuruser about what gets put in a did document 15:37:59 q+ 15:38:07 ... and if theres agreement I take input and try to bring it back to the group to resolve 15:38:08 ack samsmith 15:38:08 q+ to say registration is a meta-data bucket 15:38:10 +1 to Ganesh's proposal of how to move forward 15:38:15 +1 15:38:19 +1 15:38:21 sam: I used a functional description 15:38:37 ... we have established did documents 15:38:53 ... then you go to binding of identify and you have circular definition 15:39:07 ... you first have to verify the did document has not been tampered with 15:39:16 q+ to ask group to look at where each element and potential element of a DID doc comes from 15:39:20 ... and we don't have a clear understanding of what a did document is 15:39:35 ... anthing in my locus of controll is in my locus of controll 15:39:53 ... any infomration that I put information in 15:40:13 ... when I see these discussions about metatdat I want to pull my hair out 15:40:15 ack manu 15:40:15 manu, you wanted to note developers are going to screw this up :( 15:40:21 1. A DID is an identifier that identifies a resource. 15:40:21 2. Dereferencing the DID gives you a DID Document. 15:40:21 3. A DID document is the resource that is associated with a decentralized identifier (DID). 15:40:21 4. A DID document contains information asserted about the DID by the controller of the DID. 15:40:22 5. Any information that isn't asserted by the controller of the DID (i.e. metadata about the DID Document) is placed elsewhere. 15:40:26 ... because we don't have a way to know if its been tampered with 15:40:46 oliver has joined #did 15:40:48 manu: not syaing this is the right language but we should go through that on github 15:41:31 q+ 15:41:32 no to number 3 15:41:34 q+ to say #1 is wrong 15:41:46 we MUST NOT make the DID document the resource 15:42:05 q? 15:42:18 ack markus_sabadello 15:42:21 q+ to respond to Manu's list, in particular item 4 15:42:26 q+ to ask if 4 is really correct? Isn't it about the resource the DID identifies 15:42:27 markus: I wanted to say a few more things about the slash 15:42:57 ... some times we treat is and identifer for the document 15:43:08 ... when we use a fragment 15:43:09 For the minutes, manu confirmed that #2 meant to say "Resolution" instead of "Dereferencing" 15:43:16 ... some of this is reflected here 15:43:29 ... the first one makes it sound like and identifer for the subject 15:43:40 ...3 sound more like indifier for did document 15:43:53 ... are we ok with someimes we use for both 15:44:09 ... usually theres a very strong reaction 15:44:11 Drummond is NOT okay with conflating the resource that is the DID subject and the resource that is the DID document 15:44:15 ack ken 15:44:18 ... one for subject one for did doc 15:44:27 q+ to say a tool is sometimes defined by how it is used (hammer) 15:44:31 ken: I think it's useful to talk about what types 15:44:40 ... are there other types 15:44:55 q+ to say absolutely not to #3 15:44:58 ack burn 15:44:58 burn, you wanted to ask group to look at where each element and potential element of a DID doc comes from and to say absolutely not to #3 15:45:02 q 15:45:14 burn: along the lines of what ganon says 15:45:23 ... look at them and see where they come from 15:45:31 ... and what we want is the bukets 15:45:43 s/bukets/buckets/ 15:45:44 ... start with the buckets and say how does that get there 15:45:50 q+ 15:46:02 ... unless we look att the specifics were never going to reach a decision 15:46:08 ...im with markus 15:46:15 ...the document is not the resouce 15:46:15 q+ to note that we can take this to a PR now and probably make progress... maybe. 15:46:24 ...its information about the processing 15:46:28 Drummond wants to argue passionately that the root of the DID document is the DID subject, and that all direct properties of the root describe the DID subject. To describe any other "bucket", add another property to the DID document that we define in the spec represents another resource (e.g., the DID document), and then have subproperties of that describe that resource. 15:46:37 ...im willing to say its about the subject 15:46:40 ack JoeAndrieu 15:46:40 JoeAndrieu, you wanted to say registration is a meta-data bucket and to say #1 is wrong and to say a tool is sometimes defined by how it is used (hammer) 15:46:48 JoeA: 1 and 3 are wrong 15:46:57 zakim, close the queue 15:46:57 ok, brent, the speaker queue is closed 15:47:04 ...human is not a resouce teh way the web thinks about resouce 15:47:15 ...so I think the way you use a tool can define that tool 15:47:23 s/teh/the/ 15:47:25 ...a hammer could be a tool or a weapon 15:47:56 ...it echos what I said earler that we don't have clear distinctions 15:47:57 jonatha__ has joined #did 15:48:08 ... if you auth it doesn't mean you control the document 15:48:24 q 15:48:28 Drummond also reminds himself to talk about a third role in addition to "DID subject" and "DID controller", which is "key controller" 15:48:42 sam: we have a circular definition 15:48:47 ack drummond 15:48:59 drummond: discovered a new extensibility section 15:49:39 ... want to put in a plea to keep the did subject as just the resouce identified by the did 15:49:51 ... the uri url urn distinction 15:50:03 ... we need to identify the way things are on the web 15:50:20 Disagree STRONGLY with Joe. Don't confuse the group by suggesting that return of an artifact somehow just makes it the resource. This may be theoretically interesting to say, but it just turns the DID into a normal URL that references a file called the DID doc. 15:50:20 ...where it gets tricky is they way you want to identify things 15:50:28 q+ to (concern to limit purpose as minimal to authentication OR control authority — I could maybe argue that maybe there needs to be 2 did documents, one for each) 15:50:40 ...then at least we can take a point and say what is identifying is the subject or any other bucket 15:50:58 ...if you look in the abstract data model, and the root of the tree is a subject 15:51:10 q? 15:51:12 ...we are going to establish properties 15:51:51 ...theres a did subject, controller and a third role 15:52:06 ...someone could auth using data that's not the subject or controller 15:52:12 ...and I call it the third roll 15:52:19 ...the key controller 15:52:23 s/third roll/third role/ 15:52:34 ack ChristopherA 15:52:34 ChristopherA, you wanted to respond to Manu's list, in particular item 4 15:52:47 christopherA: 15:53:12 ... so I really want to limit the purpose to as minimal as necessary 15:53:25 ...we use a backslash for one and forward for the other 15:53:43 ... I get more territory for other stuff of developers putting in PII 15:53:59 ...you want to do teh min for the buisness purpose 15:54:23 ...if its a control app that allows ocap to work 15:54:25 q+ 15:54:30 ack phila 15:54:30 phila, you wanted to ask if 4 is really correct? Isn't it about the resource the DID identifies 15:54:31 ...that very first step is all I want 15:54:52 phila: #4 contains info about the did, and surely it's about the did subject 15:55:06 ... we need to be clear about what we're describing 15:55:16 ...that's what range 14 ended up with 15:55:30 ...and whne you resovle tahat you end up with a 303 15:55:48 ... you need to be more explicit about that 15:55:57 ... I think drummond came up with 3 15:55:58 suggested fix for 4: A DID document contains information asserted by the controller of the DID. separately, we have the issue of limiting the data in the doc 15:55:59 q+ to argue for semantic ambiguity when it comes to HTTP Range 14 15:55:59 ack markus_sabadello 15:56:07 ... and drummond came up witha 4th 15:56:11 q+ 15:56:24 ivan: if I have a did that I established for myself,c and I use it 15:56:36 ... to make assertations about my name 15:56:48 ...no that did is only referring to me and never anytrhing else 15:57:03 ...that identifier will have it's own life, for example like on the web 15:57:07 ack manu 15:57:07 manu, you wanted to note that we can take this to a PR now and probably make progress... maybe. 15:57:20 maun: that was the discussion I was hoping for 15:57:28 ... no chair tossing yet 15:57:31 s/maun:/manu:/ 15:57:44 ... at least we can have a discussion about that 15:57:58 ... want to discuss semantic ambiguity 15:58:19 ...developers always screw it up, they only copy the base. 15:58:29 ...we have it working well 15:58:41 brent: this WG is awesome 15:58:57 ... we've talked about a lot of things to do 15:59:40 ... this last 1.25 hours has made us look at different things. back when we talked about DDOs we looked back and decided that want right 16:00:04 ...lets get a PR that gets a refinement about what we did 16:00:19 zakim, end meeting 16:00:19 As of this point the attendees have been burn, tplooker, selfissued, gannan, drummond, manu, brent, ken, yancy, Oskar, ewelton, yoshiaki, ChristopherA, JoeAndrieu, oliver, ivan, 16:00:23 ... markus_sabadello, jonathan_holt, SamSmith, phila, identitywoman, rhiaro 16:00:23 RRSAgent, please draft minutes 16:00:23 I have made the request to generate https://www.w3.org/2020/01/29-did-minutes.html Zakim 16:00:25 I am happy to have been of service, ivan; please remember to excuse RRSAgent. Goodbye 16:00:29 Zakim has left #did 16:01:28 rrsagent, bye 16:01:28 I see no action items