- From: CCG Minutes Bot <minutes@w3c-ccg.org>
- Date: Thu, 02 Feb 2023 20:39:41 +0000
Thanks to Our Robot Overlords for scribing this week! The transcript for the call is now available here: https://w3c-ccg.github.io/meetings/2023-01-31/ Full text of the discussion follows for W3C archival purposes. Audio of the meeting is available at the following location: https://w3c-ccg.github.io/meetings/2023-01-31/audio.ogg ---------------------------------------------------------------- W3C CCG Weekly Teleconference Transcript for 2023-01-31 Agenda: https://www.w3.org/Search/Mail/Public/advanced_search?hdr-1-name=subject&hdr-1-query=%5BAGENDA&period_month=Jan&period_year=2023&index-grp=Public__FULL&index-type=t&type-index=public-credentials&resultsperpage=20&sortby=date Organizer: Mike Prorock, Kimberly Linson, Harrison Tang Scribe: Our Robot Overlords Present: Harrison Tang, Wolf McNally, Greg Bernstein, Christopher Allen, Sandy Aggarwal, Kaliya Young, Gregory Natran, Ryan Grant, John Kuo, Jennie Meier, Kazue Sako, Shannon Appelcline, Orie Steele, Bob Wyman, Stuart Freeman, Kimberly Linson, David Waite, Mahmoud Alkhraishi, Kerri Lemoie, Manu Sporny, BrentZ, Adrian Gropper, Kazue, David I. Lehn, Kayode Ezike, julien fraichot, Matthieu Collé, Paul Dietrich GS1, Erica Connell, Bryan Luisana, Joe Andrieu, Will, Dmitri Zagidulin, Jeff O - HumanOS, Geun-Hyung Kim, Chris Kelly, Juan Caballero, Jon St. John, Keith Kowal, TallTed // Ted Thibodeau (he/him) (OpenLinkSw.com), SB, Steve Magennis, Michel Plante, Dan Pape, Mike Prorock, Rebecca Busacca, Territorium, David Chadwick, Markus Sabadello, Chandi Cumaranatunge <christophera> Good morning (I'm PST)! <stuart_freeman> I occasionally have to leave and re-join to get audio working <manu_sporny> Recording needs to be turned on? Our Robot Overlords are scribing. Harrison_Tang: You're in the queue any questions. Harrison_Tang: Thanks a lot. Harrison_Tang: Right so yeah just a quick note on the IP anyone can participate in these calls however all substantive contributions their ccg work items must be members of the CG with full IP our agreements sign and make sure you have the w3c account and the w3c community contributor license agreement are those links are also in the emails that sent out and if you have any questions please feel. Harrison_Tang: feel free to email me or any of the cultures. Harrison_Tang: A quick call notes meeting minutes and audio recordings are published a few days after this meeting and they can be found in the GitHub account we use the GT chat to Q speakers doing the cause was to take minutes so I think you plus to add yourself to the Q where Q - to remove. Harrison_Tang: now any. Harrison_Tang: Shouldn't or reintroduction if you're new to the ccg or you haven't been active for a while but you want to reintroduce yourself please feel free to unmute. <christophera> (I'll hold off until presentation) Harrison_Tang: How do I sorry I don't put your name. Harrison_Tang: Thank you welcome welcome pets week. Juan Caballero: :+1: Harrison_Tang: Anyone else I want you to introduce or reintroduce yourself please feel free to just unmute or for typing cubed plus. Wolf_McNally: I know I'm presenting but I'll just briefly introduce myself I'm wolf McNally I'm the lead researcher with blockchain Commons and I've been working in technology my whole life and I'm in my late 50s now so and you know I consider myself to be a creative technologist I worked in a lot of different projects of the years I just don't love iPhone app development as well as you know kind of more abstract things and you know excited to be here this is my first time. Harrison_Tang: Thank you all thank you for taking the time to please end the swamp. Harrison_Tang: Any other introductions were reintroduction. Shannon_Appelcline: I am Shannon Apple Kline and I'm with blockchain Commons also I'm a technical writer there. Harrison_Tang: Welcome Shannon thank you for taking the time to join us. Harrison_Tang: All right any announcements or reminders. Kaliya Young: Hi we've got the APAC digital identity I'm conference coming up March 1 2 3 in Bangkok Thailand that's awful Biometrics Workshop has been changed to be only one day March 16th and of course regular IW has registration open and that event happens in Mountain View California and it's April 16 to 20. Harrison_Tang: Cool thank you Clea on you. Manu Sporny: We lost the window um yeah two announcements the first is that the World Wide Web consortiums new public interest nonprofit organization has been launched so for those of you that may have been aware over the last year they have tried to migrate from a kind of hosted organization hosted by MIT in the US or Sim and Europe they hung in China and. Manu Sporny: KO in Japan. <manu_sporny> W3C's new public-interest non-profit organization has been launched: https://www.w3.org/2023/01/pressrelease-w3c-le-launched.html.en Manu Sporny: Move into their Global nonprofit the press release just went out and putting that in the chat Channel just announcing the new transition it won't affect any of our work but this is kind of the end of a rough ride last year and you know things things resulted in the good thing happening so that's the first item. Manu Sporny: The next item is. <bumblefudge> minor announcement for people attending ETH Denver: there will be two identity-adjacent events the day before eth denver, if you haven't booked travel yet! <bumblefudge> 1.) https://twitter.com/SpruceID/status/1617592922551222272 (already sold out?) <bumblefudge> 2.) https://walletcon.com Manu Sporny: That the verifiable credentials face-to-face meeting is coming up in Miami that is in the middle of February the week of February 13th if you are not a it's w3c member only accept that invited experts are invited to participate in if you want to be an observer in person at the meeting you can also ask the chairs. Manu Sporny: As well it's looking to be what is it around 25 24 people participating most people in person some people remote that's it. Harrison_Tang: Thank you Manya. Harrison_Tang: Any other announcements or reminders. Juan Caballero: I dropped some stuff in the chat just might. Harrison_Tang: Cool did you mind actually just share it because a lot of times the chat log is quite busy yeah. Kaliya Young: https://apacdigitalid.org/ Juan Caballero: Oh yeah right sorry and let some people don't call in from phones I was just announcing two small side events at East End about identity if anyone is thinking about he's Denver links links are in the chat. Harrison_Tang: Sounds good thank you thanks a lot. Harrison_Tang: Let me check the queue. Kaliya Young: https://www.thoughtfulbiometrics.org/ Harrison_Tang: Any other Chris please. Chris_Kelly_(DIF): Hi Chris Kelly from decentralized Identity Foundation if here just to let people know we have hired a new full-time executive director and tomorrow is her first day so keep an eye out for those announcements tomorrow. Harrison_Tang: Thank you thank you Chris. Harrison_Tang: Hi bubble funds you have other announcement. Juan Caballero: Oh no sorry humanist I was just Emoji the Nuit. Harrison_Tang: Got it thank you thanks a lot any other announcements were reminders. Harrison_Tang: Comments on the work items. Manu Sporny: Yeah just a quick the call for adoption for the Eds a crypto sweet happens tomorrow in the verifiable credentials working group so if you are supportive of those crypto sweets please support by either sending an email into the mailing list or showing up on the call and showing your support this is the crypto Suite that is used across the nation wide. Manu Sporny: I'd digital age verification. Manu Sporny: G true age National Association convenience store it is also the crypto sweet that we lost a large number of organizations use to demonstrate demonstrate interoperability during the jobs for the future plugfest to so there's a lot of usage of it in as we move it into the verify the credentials of working group it's good to show up and show your support of that Crypt is sweet that's it. Harrison_Tang: Thank you money. Harrison_Tang: And other announcements reminders or comments on the work items. Harrison_Tang: All right let's get to the main agenda so this week we're very pleased to have Christopher wolves and Shannon from botching comments to a present on the supporting divisions on with gordian envelopes obviously a lot of you guys know Christopher he was the former w3c ccg culture and the co-author of Transport layer security so he has quite a bit of knowledge to say the least about. <rgrant> also one of the coauthors of did:btcr! Harrison_Tang: The standards and protocols silda very very pleased and very very honor to have him present on Korean envelope and hope everyone has read the high voltage High over overview high level overview or the intro video that send out in the links know if you want to go over those things and also the today's our presentation slide please just refer to the email that's sent out or email me and I can send those information to you. Harrison_Tang: you thank you so without further ado. <christophera> Gordian Envelope Intro: https://www.blockchaincommons.com/introduction/Envelope-Intro/ Harrison_Tang: Come on Christopher Wall for Jenna thanks a lot. Christopher Allen: Thank you very much I'm going to let Wolf start off with a brief recap well. Wolf_McNally: Yeah so if you've actually let me see if I can just share my screen here. Wolf_McNally: Okay here we go so I just have a few slides as Harrison mentioned they're available as a PDF as well and this will recapitulate a little bit of what's in our introduction but though there's some new material here as well so if you've seen I hope it'll be worth your time you can all see my screen now is that correct. Wolf_McNally: Okay great so yeah so just a little bit about blockchain comments and of course Christopher can speak to the mission in much more detail this is the website and I'll urge you to visit watching comments not calm generally speaking we're community that brings together stakeholders to build open interoperable and securing compassion infrastructure and we designed a centralized Solutions where everyone wins we're a non-profit so we want people to be able to control their own digital Destiny so all the work we do is open source we do. <christophera> /c/non-profit/not-for-profit Wolf_McNally: Reference library as we do full apps but they're all open source so and so I definitely recommend you check out our GitHub account and the website is good starting place for that so jumping into Guardian envelopes we started with the metaphor of an envelope because it's actually a very interesting and very deep one surprisingly because when you think about envelopes they're used to hold many kinds of things plain text you can put encrypted text in an envelope you can redact text in an envelope. Wolf_McNally: you can. <bumblefudge> redact??? Wolf_McNally: Signed things in envelope you can put a small amount of deer like that QR code or huge amount of data into an envelope an envelope itself is also a document can be having there's on things on the outside that identify the sender identify the receiver control who has access to the contents of it reveal part of the content without without revealing the whole thing so envelopes are a great starting place to think about digital documents and what we realized when we thought about the structure. Wolf_McNally: You're on the envelopes could containers was obelisks themselves we realized it had a hierarchical nested kind of structure a document is basically a subject and a set of information about that subject but the subject itself could be rich in hoods it could be a document itself and so can be the information so in fact you know starting from this point we realized you know it could be envelopes all the way down arbitrarily because it's digital so my starting point for thinking about designing the envelope. Wolf_McNally: sure was a very simple couple of structures. Wolf_McNally: The pseudocode this is Swift but you know it may as well be Sealcoat I'm gonna emphasize as you look at this is not the actual envelope structure I'll show that in a moment it's not much more complex but this is a good start with starting think about it there's an envelope is a subject in a set of assertions about that subject the envelope itself is a subject is not the subject itself is an envelope so it's a nested recursive structure as well as the assertions are consists of a predicate and object which are themselves envelopes so already your by recognizing here the the cement. Wolf_McNally: triple idea that we have a subject that we have predicate object predicate object about that subject so those are triples but it gets more interesting than that. <kaliya_identity_woman> slides are not showing? <mahmoud_alkhraishi> i can see them <mprorock> showing on my side Wolf_McNally: If we just want to represent a triple this is what I call envelope notation this is a simple triple Alice knows Bob where we have the subject and we have an array which is the set of predicates and objects that form the assertions of on that subject so here is a much closer representation of the actual specified and implemented envelope that we currently have It's actually an enumerated type it's got seven cases and this allows us to do more complex things for example a bear subject will. Wolf_McNally: callous a bare assertion knows Bob as well as alighted in encrypted and that's. Wolf_McNally: Going to talk. <christophera> (sometimes in jitsi you need to hit play) Wolf_McNally: Today is envelopes capability to to elide and encrypt various parts of the varietal various elements of the envelope because remember an envelope is basically nested envelopes so you'll sometimes hear me use the term element kind of interchangeably so let's take a closer look at this particular symmetric triple the interesting thing about what falls out of the structure is that there are basically five positions in the structure which we can transform. Wolf_McNally: and I want to go through each of those positions you can kind of get start to get the idea. Wolf_McNally: Of the structure the first position is the subject of self and on the left hand side where you see the duplicate their I'm going to elide each of these five positions on the right hand side I'm going to be adding an assertion for each of those five positions so if we start with the first position that's the subject in this case that's Alice so in this case we're on the left hand side we're a lighting Alice and when we align something we're just leaving the the digest in place so we actually have envelopes are a tree a Merkle Tree in fact we're. Wolf_McNally: there's a root digestive which represents the whole envelope and then. <orie> Merkle Trees! Wolf_McNally: There's a digest for just the subject in this case we're just leaving that digest in place and Route a lighting the actual data and you'll hear me use the term Elysian or Allied it's often thought of as redaction as we thought about this we realize that reduction is like a use case of Illusion illusion is to emit data redaction is to deliberate with hold data and there's several different use cases for religions so that's the reason why I use that term instead of just simply say we're doubt. Wolf_McNally: on the right hand side you can see I've added another assertion to the. Wolf_McNally: To the subject so again it's a subject in a series of sessions on the subject all right so moving on to the second position this is the predicate in this case we're lighting the word the the the term nose and on the right hand side we've added another another assertion or its first assertion to the to the to the predicate and this allows you to have much more richer data representations as you can see you can put any kind of context or anything you want on any part of the envelope so. Wolf_McNally: this could be a URI or could be some kind of owl specifier some. Wolf_McNally: So moving on to the third position this is the object Bob same idea we're alighting on the left and adding an assertion on the right. Wolf_McNally: The fourth edition is the assertion itself so in this case we've invited the entire certian and so we can remove it. <christophera> oops, lost wolf <david_waite> (uh-oh) Wolf_McNally: Our side you see yes question. Christopher Allen: Is that you we lost you for a second go go to the beginning of. Wolf_McNally: For okay so you have any back now. <kim_hamilton_duffy> The CG bot pop ups are maddening— is there a setting to squash them? Couldn’t find Wolf_McNally: Okay so yeah this is this is the actual the assertion position itself on the left hand side you see we live the entire knows Bob assertion and the right hand side we're adding an assertion to the assertion so again you can Nest this as deeply as you want because the assertion itself that we're adding is itself a predicate and object envelope so you can be as rich as you want about this finally the fifth position the envelope itself on the left hand side we would lie to the entire envelope and just left the root. Wolf_McNally: digest which. <manu_sporny> Kim, what pop-ups? If you don't show the chat -- is that what you're referring to? Wolf_McNally: Envelope and the right hand side we've wrapped the envelope and then added an assertion to that and what I mean by wrapping is that if you just add an assertion to a subject you're just sort of starting something about the subject itself but what if you want for example sign the whole envelope well in that case you wrap it and you add the signature to as an assertion to the wrapped envelope in which case now you've basically signed the whole inner envelope so that's one of many use cases for wrapping envelopes. Wolf_McNally: and of course anything you've seen here that can be a lighted can also be encrypted using. Wolf_McNally: Symmetric key cryptography. <christophera> (you can X the chat, and you'll not see popups) <manu_sporny> I have to /show/ the chat to not see pop-ups :) Wolf_McNally: But these assertions can contain what we call permits which are various kinds of ways for example encrypted the symmetric key encryption to a public key so it can be encrypted to specific recipients or can be sharded using RSS K are sharing algorithm which basically lets you short a secret and distribute it to a number of escrow holders who have to reach a quorum to reassemble the original secret so it's actually very flexible. Wolf_McNally: so one of the other things about envelopes as we wanted them to be structure. <kim_hamilton_duffy> Maybe it’s an issue with viewing on the phone. I see either wolfs screen or the chat. If I x the chat popups block the view Wolf_McNally: One of them to be able to represent an up left corner there you actually see a mermaid diagram of an of an actual envelope so obviously representing trees is very natural for it but we also want to represent no little graphs Edge liberal graphs are DSL or an artificial star cell graphs or even simple simpler things like just lists and because we are based on we created the structure based on Seymour not on Json is is common. Wolf_McNally: at a very low level there's a you can represent. <kayode_ezike> Yes, I have also experienced what Kim is describing on the mobile experience recently <mprorock> yay cbor <kim_hamilton_duffy> Gonna try <orie> Similar to ACDCs, but much simpler. <david_waite> under settings/more, you can change chat notifications - but I think you have to log in for it to persist Wolf_McNally: You can represent Seaboard for simple just a straight array such as in rev envelopes and a little bit more about see bore because this is one of the main choices we made this foundational to this to this format is we wanted we looked at all the different kinds of formats out there for data serialization we want to one that was binary we want to be concise that's you know we want to be very short things should be very short we want it to be self-describing so you didn't necessarily need a external schema already present feel to at least parse the. Wolf_McNally: the document we want it to be something that that codex could be written in very few lines of code so Chopper. <kim_hamilton_duffy> Gonna try web vs app. It’s maddening <mprorock> IETF draft Wolf_McNally: We wanted to be platform and language agnostic we wanted it to have been through the standards process and it is a ietf standard and we also wanted something that we want to a predefined set of guidelines and rules for deterministic encoding the idea being that if two people assemble the same envelope from the same information it doesn't matter the for example the out of the order the add the assertions there should be one automatically baked in canonical representation of that data so there's no normalization or anything like that. Wolf_McNally: You when you seminar what it's already normalized. <shannona_> Here's more on Why CBOR: https://www.blockchaincommons.com/introduction/Why-CBOR/ Wolf_McNally: And we also have a contar video describing why we chose to go to see more if you want more detail on that our internet draft is here and the next couple Pages have links so have a QR codes so if you want to snap one that's fine or you can get the PDF and just go directly to these links but this is our this is our internet draft that describes the the basic fundamental structure of envelopes we have a lot more detailed documents on our GitHub repository. Wolf_McNally: and there's also a number of use cases which are very interesting which aren't really very easily done. Wolf_McNally: You know this. <mprorock> ID, Experimental: https://datatracker.ietf.org/doc/draft-mcnally-envelope/ Wolf_McNally: For example user-based Elysian so the holder of a document can then elide parts of the document before passing on to other people they can also relied for example I can pass you just the root level digest and then create proofs about what is in that what is in that what that digests must necessarily contain by creating minimal spanning trees of minimal training graphs of what I want to prove you can also do heard based privacy where many people create a document together that is. Wolf_McNally: partially alighted. <shannona_> All of the use cases we've written, with lots of examples of what Gordian Envelopes really look like: https://www.blockchaincommons.com/introduction/Gordian-Envelope-Use-Cases/ Wolf_McNally: I did and then people can reveal just their part of the document the part that they are able to with while leaving everything else both committed in the document as well as but but also still hit so those are a few points starting point for discussion and you know I'm sure Chris will just some questions better than me but feel free to reach out to either of us and you know very happy to have been able to present this here I hope the discussion that follows is very interesting thank you. Christopher Allen: Thank you all so I just wanted to explain a little bit about you know where this fits in with w3c so part of my goal here is that. Christopher Allen: Really what does radical Elysian privacy mean how do we build that at the bottom and then build up from there so gordian envelope is not exactly the equivalent of verifiable credential or idid it's not it's a data format which is structure already so you could put in a w3c verifiable credential into it using kind of a label graph structure you can put other kinds. Christopher Allen: Kinds of credentials and using other. Christopher Allen: You can choose to do cryptographic selective disclosure as opposed to The hash-based Selective disclosure we have etcetera so I just want to be clear it's not intended as a as a replacement for be seized or anything so let's be clear on that the other thing I want to be clear on is that it allows for some opportunities that are not possible right now with third of the json-ld. Christopher Allen: The family. Christopher Allen: Inspire the future of that family so we can do radical things like half say Harvard issue one giant verifiable credential lowercase b digital credential for the entire class of 2025 and rather than actually offering individual credentials it just offers the individual the holders the subjects proofs that their information is in that structure but in fact. Christopher Allen: Carpet maybe only publishes the root hash. Christopher Allen: In a couple. Christopher Allen: Desertion to say that they're in a credit organization this allows for a lot of heard privacy opportunities also I think there's some interesting possibilities of kind of allowing for heard privacy with d ID style structures with you know brunette with revocation type structures proof that you're still included things of that nature so I was really trying to do that as an inspiration. Christopher Allen: And I'd really like to see that. Christopher Allen: Years time that when the new specs come out for verifiable credentials that there is a must support some form of selective disclosure at least you know cash based is simple and there are three or four proposals out there for how we might be able to do that beyond what gordian offers but we can show that it works now I mean these you know all of these examples in our use cases are functioning now you can test them with our command line app. Christopher Allen: And they're ready to they work they do it. <kim_hamilton_duffy> trick in the app is: settings > more > display notifications for messages Christopher Allen: So we are a community we are largely supported by the blockchain community but we would really like these structures to be available to the identity Community because I think they solve some problems or at least Inspire some solutions for the w3c so I'll leave it to questions Harrison do you want to do the Q honors. <shannona_> The envelope CLI: https://github.com/BlockchainCommons/envelope-cli-swift Harrison_Tang: Yes Mike I think I see you on the queue. <greg_bernstein> How does this compare to BBS+ signatures? <kim_hamilton_duffy> but I missed the presentation Mike Prorock: Yeah I managed to beat mana and now I mean huge amount of awesome work here I mean it's definitely a really fascinating idea right this notion you know the underlying Notions behind rdf are really common and good and it key to semantics and things like that right especially as we look at these Bridges with machine learning and being a big see more fan real you know really happy with that directionality of like how do we move this into a scalable way. Mike Prorock: My question is more on the standards track side of things and things like that I mean. Mike Prorock: Obviously it's an ID it's marked experimental I mean do you think there's a natural home for this at ietf be it in cozy or somewhere like that you know because Seymour's and maintenance mode I mean what's your thinking there I mean do you think that this is going to go standards track do you think that there's a natural group are you trying to form a bomb off I mean what's your what's your feelings and all that. Christopher Allen: Well some of it depends on what happens with this community and where we want to go here I mean it is a c bar structure and it is kind of a really nice addition and I think it can breathe some life into Seymour Seymour has had a lot of success in constrained environments you're also seeing it in things like mobile driver's license and things and things of that nature but it's pretty solid. Christopher Allen: But it has a very limited structure capable. Christopher Allen: What do you. Christopher Allen: Being able to do you know graph structure so I think this adds some very basic graph structures to it and thus it's worthy of consideration in the ITF but I have is not going to do you know the the next layer up which is okay you know we've got this great way where you can do Edge labeled graphs you know node label graphs all different kinds of variations. Christopher Allen: They're what does that mean for. Christopher Allen: Data models for credentials and other kinds of assertions that probably needs to be in the w3c cuz that's where mower the Innovative work is done that being said other places in the ITF that you know this might be of interest is the the software control it's the source code evaluation work that is being done. Christopher Allen: I think there's some really interesting. Christopher Allen: He's there to allow for anonymous contributors who have reputations to have assertions because these these trees can all be merged in different ways and you can make basically signatures of different parts of the trees that really allows for things like oh you know I've done a Security review of this amount of code and somebody else has done a Security review of this amount of code and we can together assert you know. Christopher Allen: Oh that you know we have. Christopher Allen: The union of these two is that you know we can prove is the total of all of that and also a potentially preserve our personal privacy if we're in Iran or Russia or some other place where there is a concern and yet we are you know adjudged by the community to be were the actors so want to be able to support those things I don't know if it persists it's somewhat orthogonal to Cozy. Christopher Allen: Hey there's no reason why you can't. Christopher Allen: Now Jose any steep or objects can be in envelope we you know envelope apis can give you just a hash you can sign that hash of any particular part of the structure and then you know add an assertion for that boom your Posse because they won't take advantage of the Elysian pressure so. Mike Prorock: Yeah it's that syntax side that you're layering on which is really neat so yeah it's pretty neat. Christopher Allen: Yeah so same thing with already it you know with rdf for rdf Star which I'm not sure if any of this community is being involved in you know we can certainly put those types of objects in but if you really want to take advantage of bird privacy and and proof of inclusion and some of the more advanced lesion redaction encryption reference capabilities of gordian envelope you're going to have to tweak those to take full advantage. Christopher Allen: I'm done. Mike Prorock: Cool thanks I'll hand it back to Harrison and that's that's my question for the day. Manu Sporny: Yes thanks Christopher and Wolf the the presentation was a great introduction I haven't had a chance to dig super deep into it so apologies if the questions are a bit rough or naive where I'm trying to I'm trying to create a mint at least a mental model for how to think about this one way that in tell me if this is wrong one way I'm looking at this is that you know with verifiable credentials we kind of have this. Manu Sporny: Graph based data model and we express. Manu Sporny: And claims and properties and things like that there and it can be mapped rdf but it could be mapped other our graph models like the one that you're presenting here and I'm wondering if I'm trying to figure out where these two kind of intersects so I'm thinking if we've got you know verifiable credentials as a graph of information in theory we should be able to map it directly onto a gordian envelope and then use the features that you're talking about. Manu Sporny: To elide. <mprorock> CBOR extension as a syntax for graphs might make sense, and CBOR maintenance does permit extensions Manu Sporny: To basically take that graph structure and express it as effectively as I mean it feels like another digital proof format it feels like we can take a verifiable credential we can put it into a gordian envelope and use that as the digital proof on the verifiable credential and if we were to do that that would allow us to clearly aligned at the cryptographic layer but it would allow us to also Allied kind of. Manu Sporny: Of at the data layer where the developers are kind of like messing. <mprorock> Wolf / Chris - i would love Carsten's thoughts if you have them, and / or happy to discuss at 116 Manu Sporny: Json-ld I'm but I'm kind of grasping in the dark I don't know if that's how you meant this to be used or if it can be used in that manner so what are your thoughts there like in the intersection between what we're doing with graph based data models in verifiable credentials in what you're doing with graph based data models in the gordian stuff. Christopher Allen: Yeah so go ahead go ahead. Wolf_McNally: I'll just make it to Quick technical comment which is yeah which is that we haven't done any direct work on for example mapping rdf or its or json-ld to or its variants to Gordy envelopes at this point this is obviously something we'd like to work with people on but you know obviously part of our motivation for doing this is to not have to do the same kind. Wolf_McNally: of normalization steps and so on. Wolf_McNally: That are required with json-ld and I'm very interested in seeing how it Maps personally you know I like to I like to know that it Maps because I haven't done many experiments Long Island itself I have taken a few small rdf and json-ld documents in kind of transcribe them myself to convince myself that'll work that'll work but haven't done any formal work on that. Christopher Allen: Yeah so basically you absolutely can do you know the URI that rdf requires you can you know make statements about the individual assertions so you can have the quad equivalent without any you know challenges there you know I think the real test is when it comes all together because there is still this kind of weird intermix between. Christopher Allen: The credential and the proof format that in the current data model that we may not be able to completely solve easily especially with contacts and things of that nature no reason why you can't insert a context into either a predicate or into a assertion that there may be some complications there part of the goal is to make it that it will work. Christopher Allen: Work with rdf style. Christopher Allen: And you know Ed style graphs which is you know one of the other big Alternatives out there or just a list like mdl one of the interesting things about an mdl is that you know it's list it doesn't have a tree of selective disclosure capabilities it basically is a list of items and you can align anything on that on that list well we can offer some additional capabilities where that we can have trees inside. Christopher Allen: Each of those items which the mdl well. Christopher Allen: Selective disclosure doesn't support hope that helps but I think there's more experimentation in proving to be done but since that is our goal we will support it if the community wants to puzzle it out with us we can't do it by ourselves. Christopher Allen: That's it. Ryan Grant: Yeah my question is very much about context can I assume people can hear me I wanted to ask where the volcanic so I know you said you haven't really solved context yet but you know there's a lot of vocabulary issues handled by json-ld and I would say also by known Fields represented through Json and say something like a JWT. Ryan Grant: So my understanding is that Guardian envelope is pretty sensible flexible encoding for the graph structure and privacy protection that many of us are looking for in using these other formats with these known fields and json-ld put a lot of effort into understanding what is certain field exactly is and that's that goes pretty deep into the. Ryan Grant: Shen and how it's solving those open world problems so my presumption is that the understanding of what a field is is a matter that would go inside this subject predicate object format that you have here and I guess my question is. Ryan Grant: You know even if. Ryan Grant: These other like the say taking a json-ld thing and representing it with Gordy and envelopes you still have to do the other json-ld things right. Wolf_McNally: Well certainly you if you're representing some kind of Knowledge Graph or whatever you need to be based on some kind of ontology you know we've tried to anticipate some of the needs for example you know the size of the envelope is something that we're concerned about because we want to be have it be useful in constrained environments we have so one of those seven cases that are pointed out is called a known value and the known value is just a 64-bit integer which of course Json is very good at encoding these things efficiently. Wolf_McNally: And what the what that integer means is is not predefined by the by the table spec itself we have a number of particular values that we've been using in our experiments I believe that over all this wood elves may be part of the standardization process for the community or communities to carve out parts of that 64-bit space to represent things like you know is a or dereference by via or you know whatever you know kinds of ontological. Wolf_McNally: terms you need. Christopher Allen: Now let me talk specifically so we're not precisely the same. Wolf_McNally: Pre-exists and you know and so I can see certainly existing ontology is being mapped onto these simple integer so you don't need to include whole URL you our eyes or anything like that in the envelope you just reference them and they can be predicates or they can be you know objects or they can be assertions on Unpretty object Paris on assertions themselves so you can you know you're again you have a lot of semantic flexibility and of course you could still use full you are is if you really want to do there's there's no reason to have to use the known the known values. Christopher Allen: Level as json-ld is to rdf when you take json-ld and the form that we always reference it in our specs that's not actually what sign its go it goes through a transformation into an rdf structure with you're doing the you know you're getting the quads and and such we're a little bit closer to the quads the you know the unwrapped json-ld I mean that's one of the obstacles I've always had with json-ld is that you know in a. Christopher Allen: In a naive way you can look at that friction oh that's really cool. Christopher Allen: And then you try. Christopher Allen: Reproduce it and then you know somebody like Longley will come along and say but wait a second that isn't quite the way because when we take it to the next level this hidden level of of quads we broken something because there's some cheat cheats and shortcuts that happen in json-ld to make it very readable and consumable and small so we're a little bit closer to the quad side of the representation of json-ld or rdf the second thing is. Christopher Allen: Is as far as compacting obviously we can define a bunch of. Christopher Allen: Advocates there are other ways you can create a sort of a child branch that has all the you are eyes and then you have the hash of those you were eyes and so you can now reference those hashes and other places and according envelopes you can get that kind of compression that the see bore LD was playing around with if you want so there's some. Wolf_McNally: Yeah I should have mentioned that aside from just a know these known values you know you can use digests anywhere you can use digests as as references to objects that can be found elsewhere even within the same document or across documents so yeah you can use them to refer to entire ad hoc spaces that you created that you know presumably people know how to dereference. Christopher Allen: So one of the concepts here is that something the reason why we use the term Elysian is a you can have just the hash so that means you can sign something that's encrypted or. Christopher Allen: Assign something that's. Christopher Allen: I didn't still you know be able to verify it later when some other part is lighted or encrypted but what we mean by encryption can be a lot of different things you can we have this kind of this permit mechanism that could work for any right now we have it with symmetric permits we have asymmetric permits with public Keys we have ssk our permits which allows you if you have sufficient copies a quorum of copies of it from different. Christopher Allen: Different parties you can reconstruct and then decrypt but there are a lot. Christopher Allen: Permits that are Kate are possible including z caps and various kinds of smart signature scripts Etc can be used as permit mechanisms that allows a lot of flexibility that the other thing you can rely is your lighting by reference so you can basically say here is this other gordian envelope someplace else and here's the root hash of it and you know proofs of inclusion are also gordian envelopes you could even include the proof. Christopher Allen: And to show that you were proof that your subset that was. Christopher Allen: It's for you was in that other envelope obviously none of those precisely map to to json-ld 11 also because we can label because we can put labels on the predicates on the objects or on the predicate object pairs or on the whole thing you know they're there are some opportunities that you know a strict. Christopher Allen: Graph can't do because we can maybe move those assertions some other place so it needs some expertise from top level Experts of json-ld to say yeah this is potentially valuable for us and let's map this out and and if there's something that we've missed or you know can't be represented then we want to fix it that's it. Wolf_McNally: Yeah me too - Point earlier you know we you know the morning envelope arose not just out of you know me I'm here to sack dissatisfaction with for example certain aspects of json-ld or whatever but but the idea that you know we wanted to kind of take a green field approach to this and just say okay we were designing the simplest but most flexible structure possible what would that look like and this is what we came up with and so is Chris worth mentioning. Wolf_McNally: you know we would. Wolf_McNally: If in some ways it would be a superset of what could be out there now obviously we need we still need the community to help us test that that hypothesis. Ryan Grant: Got it thanks a lot. Christopher Allen: Also I mean clearly I motivation also is that you know we I wish I knew what the actual numbers are but I wouldn't be surprised if the number of people that are working on digital credentials that are not doing json-ld may be as large or larger especially in the sort of the more commercial side of some of this type of stuff you know people saying I'm doing a verifiable rental but it's no way not a verifiable credential. Christopher Allen: Um but part of the resistance I think has to do with people being kind of flustered with you know oh wait a second I just need it to be a damn list like mdl did well we can support a damn list you know we don't need it to be a tree we don't need it to be a graph structure if we don't want it to be so we wanted to be able to support all of those. <mprorock> have to drop unfortunately - really interesting stuff here, early, but interesting <mprorock> thanks!!! Wolf_McNally: Some of my most some of the most basic examples of Gordy envelope you'll see them when you read it our documentation are just you know a text string or utf-8 string encoded it maybe adds like three bites of overhead and that's a whole envelope that contains a text string which is just as a better subject and you know so getting simple things should be small and simple you know. Christopher Allen: Okay next question. Harrison_Tang: Text or if you're next in the queue. Orie Steele: So you basically gotten into what IQ to say which is simple thing should remain simple I just wanted to comment on mapping from json-ld verifiable credential data formats or media types into accordion or into other structures those mappings are painful sometimes depending on the complexity of the source format and they can be error prone. Orie Steele: And then they can require additional libraries. Orie Steele: That you know we need to include to support so you know mapping can be a great way of making it you know look like the source format has lots and lots of different concrete security formats that it can be implemented in and that can be great and worth it if that Source data format is really highly valuable but it's important that the security formats not be overly fit to it and that they still be able to achieve those smaller simpler use. Orie Steele: Cases like the list and examples you've given. Orie Steele: I just I think you know just be aware of thinking mapping is a good idea mapping is the beginning of a road to pain and at the end of that road there might be value but there also might not be so just be careful with mapping. Christopher Allen: Yeah yeah yeah I'm not you know I'm I know that if you do it naively you're going to end up either losing some of the benefits of json-ld or whatever your mapping from or lose the benefits accordion envelope I mean if you just you know you can theater I just put a Gordon audience you know and envelope tag and have one giant sea board structure that is has nothing to do with gordian and then you know. Christopher Allen: It just you know it's. Christopher Allen: That's can be done but your neck not going to be able to take advantage of either of those so but I do think that the architecture is a really nice layer like we really mean other than the fact that we have to define a hash algorithm everything else is agnostic I mean you can sign things with whatever you know proof method that you know needs they. Christopher Allen: Signs in doesn't have to itself do some some magic the we can do it just feels like a really natural simple layer that you can do other layers on top and maybe simplify some of those other layers because they're not having to do all of this. Christopher Allen: That's it. Wolf_McNally: Yeah I should point out that you know our internet draft you know basically points out that we've you know chosen Blake three for our particular current reference implementations but nothing in the spec actually locks you to any of that you could do an implementation of Gordon envelope that uses whatever Cipher Suite you want for whatever purposes you want but you know in terms of widely adopted versions you know we'd like there to be some consensus about what the best of best practices are for. Wolf_McNally: Krypto sweets and. <shannona_> IETF Draft: https://blockchaincommons.github.io/WIPs-IETF-draft-envelope/draft-mcnally-envelope.html <orie> is blake FIPS ? <christophera> c/Krypto sweets/crypto-sweets Wolf_McNally: Just the minimal kind of opinionated set at least for our reference implementations but you know this is where we need to have a lot of input from the community so we really kind of figure out if there is something that people can agree upon enough to do this but we still think the structure itself has value even if it needs to be adapted in certain ways by certain parties to do certain things I would like to see it personally as an interchange format that can be used by you know the world over for wide variety of things but then there needs to be some agreement about. Wolf_McNally: out how certain things like that. <orie> i might choose a less flashy starting point, like sha256. <christophera> c/crypto-sweets/crypto-suites Wolf_McNally: Digest is going to be handled now because it's Ybor and we do mention this internet draft you know we've taken some pains to think about it as future proof that you know if we need to introduce a new digest algorithm or some other crypto sweet later you know Seaboard self is flexible enough to tag things as being as having some kind of future structure and and so older parsers may not be able to fully parse them but newer Parts is can parse both the new and the old structures and so envelopes can be as ephemeral as a. Wolf_McNally: a few milliseconds for a remote procedure call of some kind or can be as big as a blockchain and. Wolf_McNally: Will be future proof. <orie> yeah, hardware support is a good thing to keep an eye on Christopher Allen: I want to quickly respond to Horry we are looking at maybe stop 256 is a baseline we have more and more because of the Silicon Salon chip acceleration and things of that nature because on highly constrained devices as become more important and so that's one direction we're pursuing and then the other direction is right now with a hash. Christopher Allen: As tree you have to you know basically. <orie> that also impacts your tool chain for CBOR. <orie> poseidon lol Christopher Allen: Present all the hatches between the route hatch and the top hash there are some new proof methods where a tree can be represented even a million deep with only 96 bytes using say a possible aside National so we are investigating that and I'm talking with cryptographers now about what are the two choices because I really feel like we need we I think we need one that we're going to basically say is the base and then we have we're going to basically. Christopher Allen: Deserve one. Orie Steele: https://github.com/multiformats/multicodec/blob/master/table.csv#L493 Christopher Allen: Okay when the base expires or you know the community is ready here's the second one and those will be that will be the sweet and a sense I am much more want to go in the direction of wire guard style choices or the way TLS really in 1.3 eliminated a bunch of sweets then go with any kind of algorithmic agility we just have to make us some smart decisions before people start shipping anything with this which I. Christopher Allen: I presume will be the. Christopher Allen: You know the. Harrison_Tang: Call money you're next. Manu Sporny: Yeah thinking a bit more about you know where we're all this kind of fits into the ecosystem I'm getting a clear picture to address something Ryan said I don't think we have to worry too much about kind of the semantic mapping like you know json-ld exists and it uses a couple of basic Primitives to do that mapping and I don't see any reason why gordian couldn't use the same mechanism or use it optionally right so I don't think. Manu Sporny: Think folks should be too worried about that the other thing. Juan Caballero: +1 To orie's posiedon profile :D <orie> JSON-LD Star or bust. Manu Sporny: Interesting I think about gordian is today when like in verifiable credentials if you do already have data set canonicalization what you end up with is and quads it's a list of these are the nodes in the graph and it doesn't have The annotation properties that wolf and Christopher or highlighting in that that gordian does right already have started trying to do a bit of that but being able to annotate nodes and predicate. Manu Sporny: Object relationships it doesn't have any of that and there's nothing to say that. Manu Sporny: When we canonicalize like if we're in a verifiable credential when we canonicalize we don't have to go to rdf right we could just canonicalize rate 40 and envelope in in just to be clear that what we would get out of that is it looks like the envelope has structure right rdf data set canonicalization today with n quads is a flat list it has no structure in fact we lose this structure when we canonicalize and that. Manu Sporny: Makes doing things like selective disclosure. <orie> it has structure, its a line and character delineated list... which is aweful. Manu Sporny: Difficult like you know the BBS stuff that's going on right now it's a bit more difficult to do that because in the reason you need a json-ld frame is because we can't store the we can't save the structure when we can analyze so it's things like that that are kind of popping up as like oh this would be really interesting because if we could save the structure then all of a sudden selective disclosure mechanisms we would have more options on what to do kind of at the cryptographic layer there did that make sense. Manu Sporny: Sense wolf and Christopher is that like a. Wolf_McNally: I think it's great yeah I think it's an excellent thought Manu. Christopher Allen: Yep that's why we did this be honest. Harrison_Tang: Oh I just want to do it quick time check I think there are still a couple more questions like Christopher and wolf will you be able to stay on for another five minutes. <orie> just add a Gordion flag to canonize in jsonld.js <orie> URDNA2015 when it left the village. Harrison_Tang: Okay good good okay so well and in about three minutes so if other people need to jump please feel free to do so otherwise we will stay on for another five minutes for for the remainder of the questions and next week we'll have the multi sick verifiable credentials and conditional proof so put I'll send out the agenda tomorrow right Keith you're next. Keith Kowal: Thank you it may be a basic question may be a sudden I'm not following but who would be the author of the gordian envelope would it be in the traditional verifiable credential sense the issuer of a credential to a holder would also author the gordian envelope or would it be third parties that are authoring gordian envelopes or if you are missing that piece. Christopher Allen: So obviously issuers you know if you're if you've got a signature involved signatures have hashes encryption has nonces times can be signatures have both both of them have nonces so they will be unique in some fashion because it's signed by an issue or is encrypted by somebody that being said Elysian can be done by anybody you may not you may decide hey you've given me something. Christopher Allen: Thing where all the signatures. Christopher Allen: But you've elided too much I'm not going to accept it that is something new to our community we generally don't allow holders to Allied directly we sort of indirectly support it through some some of the cryptographic trips that the issuer offers but in Gordon envelope everything can be alighted in a in a holder three-dimensional you know degrees down the issuer David to a subject. Christopher Allen: The subject gave it. Christopher Allen: See in the pharmacy gave it to the insurance company insurance company could basically say Hey you know I need to live some of this data because it's sensitive for me too and even further alighted to the next party and all the signatures will still work that does and we talked about this in the idea draft mean you have to be careful about what you accept and you also technically like will warn you and our apis if you try to sign something that is a lighted because then you're signing. Christopher Allen: Something where some part of it you can. Christopher Allen: Know what it is but maybe you know what through some other pattern and that's you're willing to sign it but those are two kind of critical security sensibilities that gordian has that make it a little bit different than classic. Wolf_McNally: Yeah it was Courtney envelope it's possible to sign something where you don't know what you're signing I'm not sure if that's useful or not but you might want to validate that you aren't signing something that has been partially alighted but we have some examples in our documentation if for example a person gets an educational credential which lists in detail the course of courses they took and so on they Allied certain parts of that just to show they have. Wolf_McNally: the credential but it still. Wolf_McNally: The issuer which the signature still valid even though it's partially a lighted they provide their employer the employer is a contractor to another agency and they want to Warrant to that agency that their that their employees have certain credentials but without revealing the identity of the police they allowed it further and handed on to the to the agency who can then verify the the chain of signatures both from the employer who signed the light envelope and from the original issuing organization that has offered the credential without even knowing who the person. Wolf_McNally: in is so yeah. Harrison_Tang: Go up I just have a question earlier if I recall correctly you mentioned that a lot of these work is supported by the blockchain community so I'm just curious about how does gordian envelope data structure and data model like what's its use case right and how is being applied in the blockchain community. Christopher Allen: Right now mostly about a about resilience so that the first deployment of gordium so we've been using some other gordian you are standards and whatever in the blogging Community for animated QRS for partially sign transactions through a variety of operations on Keys you know please give me a public key of this derivation so that I can use it in a multisig contract you know those types of things already are deployed by over a dozen dozen company. Christopher Allen: The gordian. Christopher Allen: At you know. Christopher Allen: Sort of takes those structures and allows us to do some very important resilience and Recovery things so that the big project this quarter by the the gordian developer Community is to do collaborative seed recovery which basically means we can Shard keys in a variety way some can go an iCloud some might go on a hardware ring some might go to your social recovery Partners all different kinds of variants there and. Christopher Allen: You recover you'll not only get your seed material you'll also get the other met the data that is necessary because increasingly today just having the keys isn't good enough you need to know you know what is the The Whisper address so the partner that you know is required to co-sign something with you what is the you know what is the Dynamics of the Quorum that is allowed and authorized to to do something so all of those will be wrapped in according envelopes. Christopher Allen: A lot of the. Christopher Allen: And we'll I'd some of that data because really all you care about you know for somebody is some aspect of it and because it's all you know see boar they can begin to just you know rap they're made of data in Steve war and when envelope is ready for the collaborative seed recovery they'll just be able to drop it into an envelope and they have instant capability to do chorim. Christopher Allen: Every thresholds and other study. Wolf_McNally: I should mention that all that all our previous work before envelope was based in determining 60 bore so we chose see more quite some time ago to base our stuff on and so we have a lot of specs that deal with resemble how to transmit Keys seeds things like that using see borba structures and those slot right in to our work on envelope which is basically another higher level structure that includes all the course the the things we've been talking about the Aleutian encryption proofs things like that that that you know. Wolf_McNally: our previous work didn't include but but could. Wolf_McNally: And you can do using structure. Harrison_Tang: Got it thank you and I think we have one last question from Ryan right. Ryan Grant: I like short meeting so I removed myself from the queue. Harrison_Tang: Sounds good well thank you Christopher thank you wolf and Shannon for taking the time to present about boarding and we'll just want to this is a great presentation and I really like the beauty of the deer structure so that if you have further questions please feel free to reach out to Christopher wolf and any last words concluding words phone from Christopher and whoa. Wolf_McNally: Thank you so much. Christopher Allen: Yeah yeah thank you everybody and we have lots of documentation we have videos we have a command line demo that you can and if you you know and videos of how to use the command lines for nine different important things that gordian envelope can do and then Shannon you know worked hard to create four major use cases that are progressive use cases. Christopher Allen: To demonstrate. Christopher Allen: You know everything from all I just want to do a simple educational credential to oh you know you know we want to take 1000 credentials and join them together and happens you know heard privacy on them and prevent various kinds of Human Rights abuses and such so I encourage you to take a look at the use cases the videos the command line if you're interested in going further and we're you know we do kind of right now it's been about monthly. Christopher Allen: Meetings on Gordy and envelope and collaborative seed recovery. <shannona_> All the major links at the bottom of the intro page: https://www.blockchaincommons.com/introduction/Envelope-Intro/ Christopher Allen: Interested in those just let me know and I can send you invite. Harrison_Tang: Sounds good and Christopher if you don't mind just send me the link and I can reply back to the community about those site information. Harrison_Tang: all right. Harrison_Tang: Thanks a lot. Harrison_Tang: This concludes the meeting thanks a lot bye.
Received on Thursday, 2 February 2023 20:39:41 UTC