 All right, welcome to the July 31st and on credit specification working group. A couple of things to look at the recent work on CL signatures PRs. And the quarterly report that I've put together, not a lot of controversy there I really just did want to take a look at the PRs on the spec. So that's the big thing would probably be a short meeting, but it is a Linux Foundation hyperledger meeting so the antitrust policy and code of conduct in effect. I think we know everyone here so I'm just going to jump into the PRs, which I realize are not linked in here so I'll use this as a way to jump over. Oh, nope. Okay. And that's not really what I wanted to do so I'll try it one more time and see how good my clicking can get. No, not going to do it. Oh, I know why because I'm not editing anyway. Okay. So the tails file generation is the one that's bugging me the most. Could you explain it a bit to me. So you and I talked about this in the tails file generation so it actually is. There's two values produced per point per point correct. Yeah. This isn't described here correctly so it's saying that there's just a point per and it's generated in sequence but in fact, two numbers are generated and they're put in the first half in the second half of the file. Correct. And the first valid the very first entry is repeated. The very first entry is repeated so this is right there's two bytes for the version then there's one to L our points associated with credentials one to L then there's an L plus one that's a duplicate of the first entry, which is a filler. Yeah, it could be anything but exactly. We didn't want to just remove it. Because we can maintain compatibility. Leaving it there. Yeah. And then there's L plus two to two L plus one, which are again points associated with credential one to L. Yeah, I, I thought it was a little strange but I did a test the other day with one entry and there were three tails points in there. Meaning sorry, what was that. I generated a tails file with just one entry. Yeah, right resulted in three points. But one thing I noticed this is this is this extra one is just a single point. Not whereas this is a point and this is this is a set of points and this is a set of points correct. Yeah. Yeah, okay. So there's two and plus one or two L plus one to L plus one right. Okay. Yes. Okay, good. So I'll get that clarified in that we use shot 256 that's explicit. Yeah, okay. So we can see the size of the points isn't isn't right here. Okay, definitely not 12 bytes. Are they six bytes each. That's this is saying each point is six bytes each. No. Okay. And I'm a 32 bytes. Okay, for a coordinate 256 bits says bytes size as 128 large. Yeah, that seems large. Yeah, that is right. Yeah, as it as it outputs them uncompressed. Yeah, there's some talk of ECP having ECP to having three components there but it's converted to affine form, which only has two components. And it could have been output compacted and only have one component but it's not. It's okay. It's uncompressed. Hold on. This seems too large though. And each point or each 256 bits is 32 bytes. Oh, yes. Okay. But hold on. But is that divided into the two points. So is a point to coordinates. So we're on, we're on G2. So each coordinate is two field elements, which is, which each of those is 32 bytes. So we ended up with four elements and 128 bytes total. The comments do refer to that isn't used. And it seems to be generated. So I need to go through and see if it's skipping it somewhere in the output. Okay. Is the, yeah, the generator does. I think it does calculate G dash times gamma to the zero, which is just G dash, which is useful. So each coordinate is two field elements. And there's two coordinates per point. And they're done in and they're generated separately. A coordinate. And then a coordinate for every credential and then another coordinate for every credential. So these up here are coordinates. These aren't points. These are coordinates up here. They're their points. These are points. Oh, two point two points are core is a coordinate. We'll just try to get them already great to two field elements as a coordinate to coordinates as a, as a point so that you have a points, which is made above an X and a Y, each X and a Y has components named A and B in this code. So we put X, A, X, B, Y, A, Y, B. But these are coordinates made out of elements. Now they're, they're points. So each, each one of those is for components total. But these are the, these are the first ones. So there's two points. Yeah. Credential. Okay. Two points credential made up of. So 256 bytes per entry. 256 bytes per entry. You can count the first and the second one. Okay. Sorry, that's probably more confusing. 128 bytes. Okay. And each element. So elements X and Y, which are made up of 2.2. A and B. Yes. Okay. So I think the point is made up of components and sir. Point is made up of coordinates and the coordinate is made up of two elements. Okay. I think that's the right terminology. To field elements. Got it, right? Yeah. So they're, it's output as X, A, X, B, Y, A, Y, B. Big Indian format. Looks good. Yeah. So, so each one of those. Field elements is just a, an integer. Modulo the field order. Sorry, the curve order, which is a big prime number, which is 254 bits. You don't really need to write that there. Yeah. Yeah, I was separating it out if anything, but that's okay. Okay. Good. Okay. Thanks. I can tell that wasn't right. So. Here, but I don't think we need to go into them one by one. I think these ones are. I still think we'd be phrasing on it. So we. Want to get these right. Okay. As far as the CL signatures library, are you. Completed with it. I know it's being used in. We've got our PR for an on, for an on credits RS. Yeah, so there's. I mean, the zero one is out there and it's. Used in the acupy. Zero nine right now. Yeah. And then I had one update to rename. And then I was like, Master secret to link secret. But I realized we were probably being. Excessively strict. By. Banning. All infinity points. Right. Conversation we wanted to have with Mike today. Shoot. Yeah. That's why I looked, but I'm fairly certain that there's. Replication registries on the, on the ledger that. Yeah. The infinity point. In them. Probably credentials as well that have. Witnesses that are an infinity point. And infinity point would be zero. Would manifest as being zero. Yeah. Yeah. I've seen that before. I was surprised. I went looking yesterday when this came up. And I first one I looked at, I didn't see, but I know I've seen it before. I've seen it before. Even some of the test data, like a non creds. Has a. A test revocation registry that happened to be infinity. Yeah. I know there was one. Well, I know I found it because when I wrote it, I actually put that into the spec that it's just zero. If you. Well, it's, it's. Mostly zero. Because of the way the points are output, the C component might have. A big number in it. But it's effectively zero. Yeah. Okay. Well, we couldn't get this. Nailed down, but let's. Let's see. I was actually expecting Mike to be here and hoping you would be, and we got the reverse, interestingly. And then we've got a PR for a non creds. RS for what. A key has done, which is replacing her so with an on credits. I don't know if anyone's had a chance to take a look at this, but it would be good to get this one merged as well. So we could have the new. The AFJ folks will need to get. This version in so that you get the fixes for CL signatures. And get rid of Versa. So it would be good. Andrew, if you can go through this one in it and area, maybe you could go through this one to make sure this, this. Okay, if a key has done this correctly and gotten the right pieces in. Yeah, I've been, I've been working with a key if I sent him a few patches that have been merged in there. Okay, good. Good. So this will not introduce any change on the API or anything, right? He has. You'd have to take a look. I don't think so. But he has done the FFIs. The pages and the JavaScript. There's, there's a small change to. So you'd have to take a look at that. Yeah. So the method. Or creating a credential. The revocation info doesn't require a tails file anymore for the issue. Great. And the method for updating a revocation registry. It doesn't require a tails file, but it does require the cred def and the revocation private key. I think those are the only API changes. So those changes did go through. Okay. Yeah. Those are both on the issuer side. Okay. Nothing. Different for the verifier or the prover. Except that the prover will. Produce a newer version of the non revocation proof. That requires an upgraded verifier. So, so the net of that is you want to update all your verifiers that verifiers can accept old and new proofs. And then once you update the holders, then they're always submitting new ones. So there's a sequencing, unfortunately in this. And also the issuers will want to recreate. Your revocation registries. Yeah. And on creds. I mean, I believe Arielle, you're just adding the issue or revocation now. Correct. Yeah. So you definitely, before you release that, you definitely want this change this in there. Yeah, I know. So yeah, I think it will be quite straightforward to. To adapt because it's just as Andrew said, it's just a few parameters that change on the issuer side. So as soon as it is ready, we will. We will integrate it. Good. Okay, good. We should add notes to be more explicit about what changes in the interface. So the tales file is not needed. Okay. So I'm going to go on issuance. No. Yeah, that's right. Yeah. Oh, sorry. And also not needed on revocation, but revocation, you need the cred def. And revocation private key. Yeah. Okay. So I'll add a note to the PR to make sure that's understood. Okay. And then I've got a draft of the. Quarterly report. That I will link to. Just so people can take a look at it. It talks about the biggest thing being the release of. The non creds rust implementation and inclusion in the framework JavaScript release 04. The transition of. Our social signatures. And ready with. I said tales file generation process is about a 50% improvement. Give or take. And other revocation issuance and revocation. About 25%. I think that's what you said. I think the. I think the 50% was like. Creation of a new revocation registry with issuance by default on. Okay. So the tales generation was improved. Maybe like 20%. But. Just creating the initial. State of the registry was really slow. And that's gone. Down from seconds to milliseconds. Got it. I got a. There's an issue on Indy VDR to create one of these. I'm not even sure what umbrella would be under. Report. Yeah, no, I got it. Okay. Yeah, I got it. I'll be doing all of them. There's all three are due. And I do. I take a pass out on what I'm trying to do is get it out in the community more. There isn't too much going on. As mentioned on once we get the one. Zero one zero. And then the big thing is with the specifications, we've got a reach for doing the mentorship to get the final documentation into the spec. And then the 2.0 spec. As formalized. I haven't done this yet. I think there's more to do. I haven't checked the stats. So this is just to be added. The maintainers is the same contributors are probably the same. I think there might be another one in the contributors. I just got the specs. It looks like they haven't included the. CL signatures repository yet in these quarterly stats. So. These will be up a little, but that was down. There was a lot less going on just because the. The work on the 1.0 completed early on in the, in the quarter. So. A lot less going on. Everything was going on in AFJ. Particularly. So. Yeah. Has the spec included in the stats? Yeah. Yeah. Yeah. It's the CL signatures one that's not yet. Hopefully it'll get added. You've got. The implementation repositories. You've got a non-creds RS twice. No. It just happens to be there. Line break. Oh, right. There you go. These are the insights. And again, it doesn't have it. Notable. I have to tell because your name is not here at all. Andrew. So that. Told me that the. The CL signatures is not there. So. We'll get that added in. I don't think there's that many commits. Yeah. Fairly important ones though. Okay. Any other topics anyone wanted to raise at this meeting? All right. If not, there's no meeting next week. I'll make sure people know. And then from now on. The. All the meetings are at this time, the. The meeting that was 10 o'clock. So. We had a specific time previously. So three hours later every second week, we've moved it to this time. We did it. So Mike could make it, but. He didn't make it. Anyway. All good. And thanks for attending. I guess I can mention just. For implementers. Because indy VDR is still relying on Ursa at the moment. Oh, right. So once we merge the, did in, did Indy stuff. I can copy over the point validation. Stuff. From. And on crud seal signatures into BLS. Signatures. And then we'll. Use that creates instead of Ursa. Okay, good. I didn't think it was used in Indy. I guess it makes sense. It is. Ursa. Yeah. Well, no, the Indy. Oh, sorry. The CL signatures isn't, it's the BLS. Yeah. Got it. So it was including Ursa with just the BLS feature. Got it. Yes. Yes. Okay. Okay, good. And if you want to use. If you want to have a Keith do that. He'd probably be happy. He's on some other things. So. But anyway, he's available for you to do any rest work that he could possibly get his hands on. He loves that. Yeah. All right. Okay. Thanks all. Have a good week.