All right, welcome to the February 12th, 2024 and on credits working group meeting. This will mostly be a discussion between Mike and myself as I query him about features of an on credits B2. But we'll use the early part of the session to get an update on where we are with the non creds in W3C format the V1. I'll go over the zero to release content. I'm going to raise the question in the community about a release 1.00 of an on credits. I don't know why we haven't done that quite a long time ago, but we'll look at that. And then as I say, most of the time will be Mike and I going back and forth about V2 ZKP capabilities. We are recording so others can fight out about this reminder. This is a Linux foundation hyper ledger meeting. So the anti trust policy, the Linux foundation and the code of conduct of the hyper ledger foundation are both in effect. All right. The annual review of the non press project at the should be a capitalized to see and I am in editing mode. The technical oversight committee, the hyper ledger technical oversight committee is this Thursday, February 15. There's an upcoming ZKP workshop April 24. And I W is before them. I guess I should switch that order. Okay. We have released an on credits. Whoops, looks like I have got this in twice with both the same thought but that's okay. Let's start with a non present W3C format. I see we've got two folks one from each of the groups. Can we get an update on how it's going. Martin, you should almost be finished I think. Yeah, I opened up the area in a FJ. I got some feedback from from demo. I fixed that, or I will have that fixed by tomorrow and then I hope to get it merged pretty soon. Excellent. Good stuff. I want to ask one other thing. Sorry. There is one issue open in the on and credits arrest repo. Regarding the nonsense of the proof request, which it needs to be merged at least for inter interoperability between Acaba and JFJ, or at least we need to find a solution to that. And we didn't merge it before zero to zero shoot. We did zero to zero this morning. I hadn't looked at that one. My apologies. I saw that one and I just had didn't have time to look at it at the time and haven't gone back to it. Okay. We'll look at getting that done as quickly as possible. Sorry about that. Yes, I'm pretty sure I know which one that is. Actually, do you have the number off hand? No, I started quickly. Yeah, yeah. Actually, I've got them all. It should be I want to up by sort by updated because you updated it today, I think. No team or made some comment today. I'm not seeing it is it and it's not a pull request. Oh, sorry. Yeah, and our credits are as it should be in here if it's. Oh, do you do it in Prado? No, it should be there with search it and post it. Okay. Do you have an update on where the occupy implementation is? Martin, if you get that, let me know. And I'll chase it down today. I have written it in the chat. It's in the spec read. Oh, sorry, not in the other cuts. Okay. I knew it was somewhere. Sorry about that. Now, you know what? Maybe putting it there. Oh, right. Challenge and nonce. Okay. I will take a look at this one today and shades it down. I remember your comment and I should have of it. I think this is a bad idea. I should have. I should have. Well, I knew that was important, but I just didn't have time to look at it at the time. Okay. All right. So we have a zero to zero release. We may have a zero three zero release coming up soon. But anyway, that was completed. 58 PRs total, a bunch of them were at least 10 of them were. Releases or 11 of them were releases, but that's okay. But anyway, a significant milestone includes all obviously all of the W3C format changes. I'm going to do a summary of it and make sure we get a change log and get something released about this. So Sean, you might see something coming your way. So yeah, we've got that done. So that's the zero to zero release completed. And that just happened this morning. I. I've wondered from a realizing both from an Acapai Aries and on credits why we've never done a 1.0. And so we'll likely be raising in the community the conversation of doing a 1.0 release. I'm not really sure why we don't ever do that. All of our work we tend to keep doing minor releases of a zero product versus a one. So we'll be taking a look at that. I don't know if anyone has any comments on that. But it seems long overdue for an on credits that we have a 1.0, at least to be one release. All right. An on credits V2 ZKP so at this point I'm jumping into more of a question and answer for Mike lotter. But people are welcome to join in and participate in this would love to have others comment on this. But this session will be all about V2 capabilities. First thing I wanted to talk about Mike was adding bbs plus to the library. What do you have a, if we can get someone to do that or do you have guidance on how to do that, and what roughly what the effort is to get that included. So I've kind of started on just writing the abstraction layer. But then once that's in place which isn't very much, then adding bbs plus should just be trivial. So I have kind of started on that. If we can take any bbs plus implementation we want we can, you know, it doesn't matter. If you want it externally or if you want it in Agora, I don't care. It really doesn't matter. The key is to just write the abstraction, which I'm just about done with sorry I've been kind of slanted with other stuff and my wife had a surgery last week so I've been care taking a few days. Okay. The reason this is so important is because there's a ton of interest in bbs plus but it's all at the lower level and by including it in an on prets but basing on bbs plus I think we would get, we're more likely to get more interest and more more contribution to it. So that's why I want to look at getting that done sooner than later. So I would see this as sort of the first priority at getting others involved. So let's if we can figure out to find the task. It would be very helpful. It's mainly just the first is the abstraction layer. The second is integrated. The third is add the statement and verify layer. That's it. It's not much different than punchable sanders. Yeah, that's what I'm assuming is it's it's just going to be a parallel. Yep. Okay. Recall that we did. We created in. Hang on one sec. I'll probably call it up this way. Oh, yeah. So if you want I can add it as an issue to the repo. Yeah. I think it's there already. I think it's there already so we can include that samples. Okay. So we have a set of examples in here of the various objects and we've talked about these in the past. One thing I realized was missing was the we call a revocation a specific a revocation registry. So we do need to publish that. Correct. No. Don't we have to publish the accumulator so the verifier has it. If. Oh, okay. So that's what you mean by registry. So yeah, just the familiar and the verifying key. That's it. Okay. That's what I thought verifying key and accumulator. And those are both pretty small, right? Yeah, the accumulators 48 bytes, the verifying keys, 96 bytes. Yeah. By registry. So it, it, it makes sense to keep to publish both every time. I mean, you can once the verifying keys up, it shouldn't change. Yeah. When I look at a cred def. Where did I put that? Yeah, here. I mean, this is the revocation key right here, right? The revocation verifying key. Yep. And the revocation registry is the online 24. Yeah. So there's an identifier of some kind. There's a verifying key and then there'd be a way to resolve it. And that's all that would be in there. So way to resolve it, the revocation registry, the verifying key, and then the accumulator, which is. Well, it's the revocation registry line 24. That is the accumulator value. It's mislabeled, but that's what this is the accumulator. Okay. That's okay. So those are the two values that get published over and over every time the state changes. Every time credentials are revoked or unrevoked. That's the time the accumulator changes. Yes, changes. Definitely on a revoke, for sure. Yeah. Okay. So that makes the, you know, both the definition and the registry, but there's no difference between a definition. So in a non-creds one, we have a revocation, a revered definition and an entry. The definition is sort of always picked up and it contains the initial elements and then the entry, or sorry, the verifying key and so on. And then the entry contains the state changes. And in this case, all we do is we have a revocation registry and it contains both the verifying key and accumulator every time. Agreed? You could do that. Yeah. Yeah. Okay. If you want to save on size, you could just publish the accumulator every time. And maybe the ID of the registry is the verifying key. Okay. There's only one key. And it's unique enough. That way it's a self-serving identifier. Yeah. Which case the only thing we're publishing is the accumulator every time we're spending more. Yeah. Yeah. Okay. Yeah. If we need revocations or additions at all, you just publish the one thing and that's it. Yeah. So right now, the way you've got it is you've sort of merged that into the what I'm calling the credential definition, but it really doesn't need to be. Correct. Okay. How does verifiable encryption work? I had some image in my head that's not quite right. So issuer setup, do they need to do anything? Issuer needs, what does the issuer need to do? Okay. So verifiable encryption can be done by any party. All that requires is they create a key pair. That's it. Okay. So if an issuer wants to support it or a third-party auditor, all they need is a key pair. And it would be a PS or a BBS plus key pair? BLS only. Oh. It doesn't even need to be BBS plus. It doesn't need to be a PS or any of those could just be BLS, a BLS key pair. Okay. So issuer, auditor, etc. Okay. So issuer setup, do they have to have the public BLS key? Well, the issuer has to publish the public key somewhere. The public key is basically an encryption key. Yeah. Public key has to be published somewhere. Hold on. Oh, publish. Yeah. Can it be in the credential itself? Like signed into the credential? Yeah. Does that make any sense? No. Really? Okay. I mean, you can literally sign whatever you want in the credential, but sure. So I mean, if you want it to, you could, but there's no reason for it. Okay. So they publish it somewhere, the public key. Okay. Maybe in the same place as the credential verifying key. I mean, yeah. I don't know if that's where I put it. Oh, right. Of course. Okay. It's optional. But for now, like in my examples, I just do it every time. Okay. My purposes. Yeah. Okay. During issuance. Did they do anything with it or nothing? Nothing. Okay. Holder verifier time. Oh, is there any? It can be used on any data element, right?  No, it can be any claim. Okay. So the way I had thought about it was, you know, like you have a credit card number and the issuer gives the holder the credit card number. And that is the thing that would be encrypted when passed to the verifier, but that's not necessary. It could be any value. Any value. I mean, I've given you that example before. Like if you want to buy something, then. You know, I encrypt the credit card number, give it to the verifier. The verifier knows that credit card number is a part of the credential. And then gives the encrypted cipher text to the issuer who then decrypts and goes, Oh, okay. Yep. I'll given this proof that's proof of consent. I'll charge the credit card number. I just decrypted with the amount that the verifier verifiers asking and etc. But the other use case is you can encrypt. Say the claim used for revocation. You can encrypt that give it to the verifier. And then if the verifier ever needs to. Deanonymize this person, they can give the cipher text back to the issuer. The issuer decrypts it and goes, Oh, I know who this credential was. So you can say it's the credential ID, the revocation ID, whatever, right. They get that unique number, they decrypt it and then they can revoke whoever it was. That's another use case. I mean, this guy's the limit. You can literally encrypt just about anything. Yeah. But the point is that when you issue it, it's not associated with any specific claim. It's just given. It's just published the public key is just published somewhere. Yep. That's right. Okay. Then the holder says, Hey, I want you to know the verifier says I need to give me a verifiable cipher text. About one of the claims. So the. So the verifier has to know it. And if we go over to. Let's go here. Kind of a nice way for the verifier to request the holder get put some skin in the game. It says, Hey, if I ever need to, I can ask a third party to decrypt this. Right. So, okay, what, so this is an example of that. I've got a presentation request. I'm saying I want one of the claim zero to be verifiably encrypted. Yep. That's the revocation. That's the revocation claim. Okay. And what's the message generator? Just think of everything in here is like a parameter. So. So there's the message generator is which generator was used for. That claim. Where, where does the verifier get the message generator? Oh, that would be part of whoever generated the key. They published that too. What key. The verifiable encryption key. So when the keys published, they would say, here's the generator I used also. Okay.  So you have to publish a generator as well. Yep. Usually it's just the, the base point, the default one, but it doesn't have to be. With a message generator. Yeah. In our case, the message generator and key are both 48 bytes. So it's pretty small. Yeah. Yeah. So a public key and a message generator are published. Okay. And a message generator is a point on the curve or something like that. Yep. Just like the public key. Okay. Just think of it as like maybe two public keys. Maybe that's the easiest way. Yeah. Yeah. That's what I'm thinking. Okay. Then the encryption key, this, this is the public key. Yep. That's the public key. The ID, this is the same as this. What's the reference ID? That's the statement. Oh, where the claim comes from. So if you scroll up, that would be the signature one. Okay. Says, where am I verified? How do I know this claim was signed? Yeah. That's all. Okay. So that, that's part of the set of statements. And then this is what I want encrypted. This is the claim number that you are from this. From the. From the credential you're going to use. I want claim zero to be encrypted. Yep. Yes. And this could be the. This doesn't have to be an index. This could be a, the name of it, right? It could be anything. It's just a way that we know how to look it up. That's all. Okay. Okay. I just chose indexes to those are the easiest. When coding. So the two keys. So all you need is the, the public information and the. And the attribute you want to do the rest of it's just linking everything together. That's right. Okay. Certain claims. Reference. To the. To. Public. These reference to the attribute to be published. Or to be encrypted. And then. So. Holder. Just. Generates the encrypted value. Yeah. We call it a verifiable cipher text. If that's. And that's going to be unique every time. Well, how is, oh, because it's going to include the nonce. Yes, there's a nonce associated with the encryption. So it does change every time. Similar to like a yes or any other cipher text system. Okay. So now we have a unique value that we've got a nonce. We've got a generator. We've got a public key associated with it. We've got the value that the holder put in. They gave that's the issue or decryption process. So you must have to pass. At least the, the, the cipher text. Plus nonce, right? I basically count the nonce and the cipher text is one thing. So. But yes. Yes. Okay. To someone that knows the. Private key. Yep. Do they need to know the generator as well? Yes, they would. No, no, they don't. It's just part of the cipher text. Everything is in the cipher text. Okay. So the nonce is embedded in the cipher text. Yep. Okay. They don't even have to know what it is because it's part of the cipher text. So. Okay. I'm just double checking myself right now. Yeah. And to someone that knows the private key and then they can decrypt. To get. That claim. Okay. Yes. Yeah. That's all they need is the decryption key and the cipher text. That's all they need. Okay. So it's a little. From a practical viewpoint, I had envisioned it a little bit that. You sort of the issuer would say, Oh, this is the thing I would use the, the encryption on this, this field. Like a credit card number, but this is much more flexible than that, which is good and bad because it's harder to use then. If you know what I mean. Um, And there's ways to lock it down, obviously, like you could say the message generator. Is restricted. Like is the hash of the claim index that you want to encrypt or something. I mean, you can do fancy tricks like that. If you needed to. Okay. So you could tie it to a specific claim. You could if you wanted to. I mean, there's no way to in my mind. But you can. I mean, we can do whatever you want. Yeah. To me, it's just the easiest the way it is. So keep it simple. Yeah. It's this trade off between. Yeah, you can do anything with it. But how does the issuer and holder and verify or coordinate what you're going to use it for? Like. The. The party that knows the private key, the auditor, the whatever. They really need to know. Yeah. They need to know. Yeah. There needs to be a purpose for why you're doing this. And if you make it that, oh, we can do anything, then that negotiation becomes a lot harder. You know, having everyone. Familiar with it and why. So that's why where some of the. You know, having opinions or making it so that you can constrain it to a certain scenario can be useful because then it's easier for everyone to understand what they're doing. Okay. I wouldn't want the holder to just say, yeah, I'll give you whatever you want encrypted. Exactly. Exactly. If you want me to encrypt anything you want. I'll just do that. Yeah, that's okay. From that perspective, yes, it could be bad. Yeah. Okay. Okay. Okay. That was super useful. Anything more on verifiable encryption? I think we've covered that one. Equality proofs. So an equality proof is where you've got a claim in two different credentials. And you will. With the same value. Well, you know what I mean is like, let's say you have it in the same credential. Okay. Okay. So this is a health record. Oh, okay. So I want to prove that all the family members have the same last name. So you can even do it in the same credential if you wanted. It's interesting. Okay. And, and basically in the presentation schema. You basically would have one reference here. And then you would have a second reference in here. And then you would have to do another field. Or well, yeah, I basically allow a list.  So it doesn't. Okay. And remind myself, let's see, we've got this value, which is the set of statements. This is the. No, this is the overall. Presentation ID. Presentation ID. Yeah. This is this particular statement. Yes. And then these are what? Oh, these are separate statement. Each of these is a statement. Correct. And so what you would have in here was a list of other statements. You want to prove it. Do you need any other values other than just the list of other statements? So I don't, I didn't, it doesn't look like I did an example of an equality. No, it didn't. It has the problem. Yeah. So the equality is basically, it's just a list. It like, see how it says revocation or commitment or verifiable encryption. It'll say equality. It has an ID and then it says reference IDs. And it has multiple statements and multiple claims. Cause you can do more than one. Let me find it for you. Yeah. If you could give an example of that. So. Let's see. I always forget the link. It's hyper ledger. It's got to have a top level ID, a set of a combination of top level ID plus statements. Yeah. And those statements have to be in the form of. Could must reference a specific. It's, yeah, it's basically a map. So it has statement ID with the claim ID. It has the claim index, but it could be claim ID to whatever you want to do it. So it just has a list. It's a big long list. It's an array list of pairs. Yeah. Or it could be a map of pairs.  But the point is you can have more than one. Yeah. Yeah. Not restricted to one. And it is the only statement type that does allow that. Yeah. So it has its own statement ID. Yep.  Okay. And the only thing we're doing is the. Equality across them. Yep. The cool thing is it adds zero overhead. What, what does the issuer do? The issuer doesn't have to do anything. This is all presentation based. Sorry, not issuer. Sorry. Holder. Oh. The holder just handles it like any other proof. Statement, right? There's no extra data that he has to do if that's what you're asking. There's no like setup or anything. Okay. No. But they, they have to create a proof statement. That references that, that takes his input, all of these IDs, all of these statements and claims. Yeah. Yeah. Okay. And the verifier runs some sort of verification. Yeah. Well, in every case. How this is the, and I'm. And this is a very easy way to think of it. When you're generating a proof, you have the presentation. Request. Right. Yeah. It has all your statements. And then the holder has all the private data, which is all their credentials, right? And data that was signed. Yeah. And then the verifier uses the same presentation request. But on his side, he has a proof instead of all the credentials and data, right? He just has the, the resulting proof and data that was sent. Yeah. He takes the very same. Presentation request. Did this was this proof match this presentation request? Yes. That's all he gets is a yes or no. From that. If there's reveal or disclose claims, obviously he gets that information or any predicates that were disclosed, right? All of that comes through. And this is going to be very similar to the. Aggregate proof in an on credits V one, which correct me if I'm wrong. Is the thing that proves the link secret is the same across the credentials. Yes. Well, no, the aggregate proof proves that everything belongs to one identity. That's pretty much all it does. And that, that, that happens with this. Like if you go look at your examples of. The final proof that was output. I know you have one. Yeah. Yeah. I know you Steven, you can't hide it. What's that? I know you have it so. I think that's it. No, that's the signature.  No, that's the range proof. Good. Keep going. Keep going. Right there. The challenge, the challenge basically is the just, I just renamed it. That's essentially what is, but that's the aggregate proof right there. Same thing. What? Yeah. Hold on. Hold on. I thought this was the knots. Well, But they have to be renaming it to challenge for. Okay. What is this? It's called the Fiat Shamir challenge and non creds v1 had it too. And what is it? It's the aggregate proof. If you want to call it that. And. Okay. And what is it? What is the aggregate proof? The aggregate proof is proving that all of these. Proofs were generated by one. Holder, one set of holders or whatever, you know, that all the proofs belong to one person. And all the proofs are like that part of the same thing. Think of it as like over all of the proofs. Okay. It's basically saying these all came from the same. Generator, whoever created it. Did all of these. But it's got nothing to do with the lake secret. It's got nothing to do with the lake secret. Nope. Never did. Never did. Oh man. Okay. And, and, and why does. What does it do that? What is it show? Think of the, the challenge. Yeah. Or the aggregate proof as a signature over all of the proofs. Cause that's basically what it is. And then create a signature over all of the information. Why could I have not gotten us the proofs from different parties, put them together and then create a signature over them? Um, well, you could still do that in v one, too. That's not good either way. Why not? It just proves that whoever generated the proof knew all of the data. Oh, they knew that the raw data. Yes. Okay. Think of it as a way it's grouping it all together. Cause, cause if all of those proofs were like, let's say one of them was generated last week and one of them was generated yesterday and another one was generated now, that wouldn't work. Yeah. So you want that aggregate proof since that's what I'm going to call it that since that's what you're used to. Yeah. Okay. Maybe it may be a good way to say is it proves how fresh everything is. Was it generated now yesterday, 10 days ago, two weeks ago, 10 months ago. So it's similar to saying use the same knots. Yeah. It would basically say is this a nonce reuse attack or not. Okay. So in all of the individual proofs that use the same knots and that's proven in this. Is that right? Yeah. Yeah. So just for my simple case, I just basically say the proof request ID is a nonce. Okay. And I just incorporated that. Basically I have, I hash everything, right? I include everything the entire proof request, all the data, all the static, all the dynamic stuff doesn't matter. I just, I just include everything. All of that is included in that signature. Okay. The fact that it's not tied to the link secret kind of blows me away. I thought that was the thing. So is there anything in V1 that shows that the same link secret was used in all of the multiple credentials produced? Yeah. That's basically it's doing an equality proof under the hood. You just didn't realize it. It does automatically. This equality proof says it can be for anything. Whereas like in your non-creds V1, the rust code just did it automatically without even telling you. Okay. So it's there. The only thing I was wondering was that the, with a, with the blinded link secret, it's, it's a layer deeper. Like if I get a credit card number, no, sorry, that's a, if I get the name, the names are in plain text in the two credentials. In an equality proof, an inequality proof just says claim one is the same as claim seven and this other credential. Because you're using, you're using the encoded value. Yeah. Yeah. It's a proof. Cause if it was plain text, you can just look at it and go, oh yeah, they are the same. Oh, I'm going to push this a little further. Um, it, it, in V1 in the, in the link secret case, each verifier, each issuer gets a different blinded link secret and, and you're proving that the underlying link secret is the same across them. So it is an extra layer deeper. Well, you can still do that with V2. I'm sure you can. I'm just saying it's not quite the same as an equality proof where you're proving the name is the same because there, the basis of the claim is literally the same. Very, you know, what the, what each issuer handed out was the same. Mike Lauder was handed out to, from each issuer and you're, you're checking that's the same here. You're getting each issuer is getting a blinded link secret, which is different. Each, each one is different. And then showing that that was based on the same link secret, like the blinded values were based on the same link secret. So the equality proofs got to be more. Another layer of complexity deeper. Nope. Right. Nope. It's the exact same proof. Really? The, the verifier does not care whether it was blinded or not during issuance blinded only affects issuance. It's the exact same proof. Okay. Okay. Abstracted it and said, Hey, this could be useful for other things than the link secret. Yeah. So in our case, we can just say, we'll always require an equality proof across current claims. For the link secret, but you could also do other things. Like I said, if you want to do a medical claim credential, you could like maybe here's all of my dependence and I can prove they all have the same last name. Yeah. In. So each of these become so the, yeah, each of these state, each statement would have a different one. Okay. Each statement would have a different proof associated with it. Correct. But if the aggregate fails, it doesn't even bother doing the individual ones. And you're saying aggregate first, the equality proof embeds both the link secret. Well, it can be used for anything. So you can, for a non-crit V1, you guys just implied that there's an equality proof for the link secret. Yeah. It implied it's there, right? Yes. Yeah. You're basically just saying we will always put one there. We will always put one there. Okay. You can do the same thing for V2 and just say we're going to, since we require the link secret, we're always going to do an equality proof if there's multiple credentials. Okay. Let's do the same thing. It's no different. The math is literally the identical. Yeah. No, I'm just trying to figure out where it's represented in V1. Oh, it's under the hood. You never knew. That's the thing. Okay. There might be more questions on that one. Okay. And finally, the domain proof. Let's talk about that one a little bit. So a domain proof is where you get a consistent identifier for a verifier, but the value is different. I assume there's no issuer setup for a domain proof. And what do you call a domain proof? You call it a commitment, right? I call it a commitment. Yes. The issuer doesn't do anything. It's whoever is collecting the domain proof has a setup. And guess what? It's identical to verifiable encryption and that you, but there's no decryption key. You just create two keys and that's it. So the verifier gives you two keys. So let's, I think we've got examples of that here, right? Yeah. That's, you see. Right there. Commitment here. So, so the verifier creates the generator. Yep. Both of them. Both of them. And, and you just tap it to call them two different things. They should have different values if they're identical. Two different values. Okay. Message and liner. Okay. Blinder is used instead of encryption key. So that's why I said it's very similar to verifiable encryption. There's just no decryption key. That's all there is. Okay. And the holder does the same thing as, as. Verifiable encryption. Yeah, pretty much. And. And as a specific claim use, okay, a specific claim is used. And so they would have to know that, well, that claim is going to be consistent every time you use it. So it really doesn't matter which claim you use. Nope. They're using claim three. And then. But they would want to use the same. Same blank, same keys. For every person and every, and. For every presentation request they send. Right. You just use the same keys. Same keys, but remember they're randomized every time. The proof is randomized every time. Yeah, yeah, exactly. This is a voluntary thing. By the holder, right? Yeah. So if the holder left it off, the verifier would say, fine, go away. Yeah. So they would have to pick the same claim every time as well to get the same value from the same holder. Right. Yes. Yep. Question. Yes, I. I've been enjoying this. So I didn't want to interrupt, but I just noticed we're getting on. On to the end of time. And I wanted to. Ask a question. I was in another. Presentation of this a little while ago. And one of the slides mentioned a call home functionality. That's kind of a hot button. So I was wondering. If I understood that correctly. First of all. And then Mike, if you, if you could kind of talk about. What, what's going on there a little bit so I can know if I need to be happy or worried. So this will be happy. Always be happy. This is for revocation. Mike, I think this was for revocation. Correct. So the idea there is that instead of having a public place where the revocations information is retrieved, like a, a ledger or something like that. You call back to a component. That, that does it. And so we've got a couple of places where. Where we can mitigate the call home, but Mike, do you want to. Yeah, yeah. So Steven, probably what you're worried about is. Does the verifier. Call home to the issuer. The issuer learns who presented. And now you're toast, right? Information. You're in trouble. Yeah. That's not what's happening here. Okay. So let me explain how it works. So. One of the problems with revocation is. You either have to download a massive list. And the, it, and the holder has still has to disclose something that says, I'm in this list. Right. That's a vacation list 2021 works. So yeah, the issuer doesn't know who presented, but the verifier sure does. And it's a correlating identifier. Can be. Yeah. So. To mitigate that. You can either download a bunch of changes from a public place. Like say a ledger, and then the holder applies a bunch of mathematical operations based on that to become current to say, Hey, I'm still not revoked. Or he's going to have to call home. So the downside to downloading information from a public place is it penalizes the holder the longer they're offline. So. That's a problem, right? If I go offline for a year, I have to now download everything from the last year to now, which that does leak information about me because it says, Hey, I've been offline for a year. Right. So that's bad too. So the only alternative was to phone home to the issuer and say, All right, I need you to just make me current. So what I've done in the paper is published. It's called Alasor Alasor says, All right, let's add an additional layer of privacy that says when you phone home, you're not going to disclose who you are either. All the issuer is going to do is receive a proof that says I'm, I hold a valid credential. You don't know which one. And I need you to just give me an up to date. Result for this version of the accumulator. That's it. So the issuer does not know who's asking to be updated. They just know they're a valid holder of a credential. Now, if this holder is revoked. When he gets the value back from the issuer, it's just going to be invalid. If he never held a valid credential at all, let's say this is an attacker that somehow was able to forge that he had a valid credential.  So only a non revoked holder that knows his values gets back something he can actually use. The privacy is preserved in that he, the issuer does not know who's asking to be updated and he doesn't know how long they've been offline. And so you're not penalized for being offline either. So that's what the phone home option is, is the holders basically saying, Oh, there's been some revocations that have happened since I was last issued or brought current. I need to talk to the issuer about becoming up to date. But it doesn't disclose who who's asking. Okay, so then the holder is the one making the request. Yep. The issuer, nor any verifier know who's making the request. That's right. So the holder just gets something that brings him current. Now the verifier all the verifier knows this is the verifier saying, are you revoked as of some time, right? As of now, as of a week ago, as of 10 minutes ago, you know, whatever that is, right? It's the holder's responsibility to make sure that he's current as of whatever the verifier is asking. So all that information of the holder becoming up to date, the verifier does not even have to know any of that. All the verifier gets in the end is a revenue, non revocation proof that says I'm not revoked. That's like in the one. Okay, that makes a lot of sense and I'm going to go. Well, hold on the paper. Well, make sure you don't fall asleep during it because it is quite long. Hold on holder to issuer. What, what information does the holder pass to the issuer in order to get to request the update? Well, we've talked about that in the past. I know I'm just want to go over it again. Okay, so in a nutshell, he's basically passing he could be he's basically passing a signature proof that says I hold a valid credential because you don't probably want anyone to just ask for this. Sure. And then why not. What? Why wouldn't you. Mostly for throttling because I could do a denial of service on the issue where it says give me a bunch of these right. Let's call that optional. Yeah, it's optional. Yeah, not required, but that's just a way of throttling people from asking so you basically say well I'm going to make sure only valid users can ask. But in a nutshell, the holder does a Shamir secret sharing split on their say index or elements that is in the accumulator. They do any threshold and any maximum number of shares they want, and they can send that to the issuer. So the issuer has no idea if this is the first if this is the 10th if this is the 200th it doesn't matter. And the issuer could also be thresholdizing his side of things that's the other thing that Alasor does is the loud threshold management of the accumulator. But in any case, the issuer just says oh I've got an update request. I'm just going to do something and send it back. That's it. There's no MPC involved nothing. The issuer just does a minor computation sends it back to the holder. And then when the holder has say let's say they did 10 of 20. Let's say he's gotten back 12 requests can go all right I'm just going to burn these two at and then work on these 10 it doesn't matter. And then I'm now current. That's. So, Steve, did you catch that so basically, instead of calling. So essentially the holder has to send the accumulator plus their element their contribution to the accumulator to the to the issuer but that would but that would be a unique identifier for the holder so in order to mitigate that they send and shares. They shard their element into shares and send any of them off to the whole the issuer the issuer can't reassemble those shares. And so they are that keeps the keeps the element secret. That's what that's what mitigates the call home. Does that make sense. It does. I'll have to read through it and ponder it but in conceptually it makes sense. I do have one quick suggestion. So the phrase call home or phone home those are becoming politically charged words.  And so now that you've explained it I understand it differently whereas that was the nature of my question. So, maybe if we could call this anonymous update the, you know, update the accumulator something along those lines that doesn't have the word bone or home in it. Privacy respecting revocation update or something I don't know. Yeah, I could be it could be a lot of things. That's what it is the holder just needs to make sure he's current. Right, right. No, I, I think this sounds good to me other than that's what got my attention because I've been, I've been hearing that a lot from like lawmakers and stuff. And so I want to make sure we don't get sideways with that inadvertently. And Steve, the reason I wanted to actually use that was because that would be a disaster if this is if that was specifically how it worked and, and, and the problem is, you are going back to the issue or to get updated information you're just doing it in a privacy preserving way. And so that's the difference. Yeah, no, and that's fine. I mean, the, if, if, if a verifier is asking to prove that you're current within 30 days or something. And you have a regular setting in your app that updates that accumulator weekly or, you know, whatever time to live you set for it. Then all of a sudden that's a regular predictable occurrence and is not really giving any new information. So there's, there's ways that you can mitigate that so that it isn't a, you know, I'm verifying this right now. So, you know, then you can start to put data points together. And so I like the description and, and that's my only comment on that is, yeah, if we could just kind of change the name and then when somebody says well what is update the accumulator is that a phone home because that's a logical question. Then everything you guys just described right here would would be a really nice description. Let's say private private update, revocation update versus. Yeah, no, I like, I like actually this. I like this on this update. Yeah, okay. Yeah. I might have to add what what you're updating but yeah you're revocation handle or witness whatever we want to call it. Yeah, that's like that. Yeah. I would recommend we don't say hey we will just update on a periodic table say once a week, because yeah, or what we do you can't hide time right yeah. So anybody observing would be able to say hey I've noticed this from this IP address they're asking for revocation update on Sunday at 10am right you can't hide that. I don't know if he's going to hide that other than encryption but suppose suppose it was all done in the clear, because the, because the attacker somehow did a man in the middle right. That that's the scenario I try to plan for in worst cases, suppose an attacker can see everything can he still learn who I am. Yeah. Mike one more question if I send and shares in a single message so I send one message, but I send an array of shares. There's still no way for the issuer to put that together to to get the unique identifier correct. Because, well, because the thing is the issuer doesn't know what index those shares belong to each of those shares unique index so he doesn't know the end. And also if you wanted I could throw garbage shares in there so you can't call the difference between garbage shares and valid shares. Okay good. That's what I wanted to make sure you told me that before I just thought this was a good time to check it again. And that and the reason I say that is because then you can do it in a single request response transaction versus the holder sending 20 messages and then getting 2020 replies. Well, because when we designed the protocol we were, you know, you have a reputation manager with a decentralized network. So the folder could talk to 30 nodes and those notes and have to talk to each other so that was the goal in mind. Yeah, yeah, you could do what you're suggesting not that I would, but you could do it that way. Exactly. Okay. All right, we're over time. This was a great conversation Mike. Thanks. Probably this is my plan for next week is to go. I do want to get some of these into write ups and start to build out the be the V2 SPAC with details that's what the goal of these sessions are next one I probably want to talk about is claim schema format. Thanks all post the recording as soon as it's done. Have a delightful day. Thanks. Thanks everyone.


As I got into being a teenager, I wanted an explanation for those things, so I was seeking into the new age and also seeking from other sources. As I was seeking, I realized there was these moments of peace that would only last temporarily and then they would be gone. It was very fleeting. So on that weekend, I was raised to deliver and I got invited to, and I went just for a distraction. And I just remember sitting in the pier in the services, like coming to your clothes, and I was like, Lord, I need freedom. I don't want to go home the same. So they do a calling for the baptism of Holy Spirit and I run to the front and I was like, I need to live. And they just started to, like, people came up to me about five ministers and it was not all at the same time, but each time they prayed for me, I manifested, I fell to the ground and then I got up and then something left. And it was the spirit of anger, generational curses of witchcraft, as well as, I think it was like depression that was very heavy on my life.


Carbopenam resistance among gram-negative pathogens is a major global public health issue that occurs through intrinsic or transferable genes and is widespread in certain regions, but not well documented in others. This article was authored by Francis S. Codjo and Eric S. Doncor.


A very good evening aspirants, welcome to the Daily Hindu News Analysis brought to you by Shankara A.S. Academy for the date of 22nd July 2023. Displayed here are the news articles we are going to discuss today. Now without wasting any time, let us get into our discussion. Take a look at this article. The news here is that Rajasthan Assembly passed two bills, namely Rajasthan Minimum Guaranteed Income Bill and Rajasthan Public Examination Bill. While the first bill ensures guaranteed social security to the people of Rajasthan, the second bill increases the punishment for leaking question papers of exams. This is all about the news article. In our discussion today, we will focus on Rajasthan Minimum Guaranteed Income Bill. First, what is the objective of the bill? See, the bill aims to cover entire adult population of the state with guaranteed wages or pension. Now, let us see what are the important provisions of the bill. See, the bill has three broad categories. First one is the right to minimum guaranteed income. The second one is the right to guaranteed employment. And the third one is right to guaranteed social security pension. Under this right to minimum guaranteed income, each adult citizen of Rajasthan has been guaranteed a minimum income for 125 days per year. Now, coming to the right to guaranteed employment. As a part of this program, the government appointed a program officer. This program officer ensures that the work site is within the radius of 5 km from the job area. Also, if the program officer failed to provide employment within 15 days, then the applicant will be entitled to unemployment allowance. This unemployment allowance will be on a weekly basis. So, through these provisions, the bill ensures the right to guaranteed employment. Finally, coming to the right to guaranteed social security pension. Under the bill, the aged, disabled, widows and single women get a minimum pension of Rs 1000 per month. Importantly, the pension will be increased at a rate of 15% per year. These are some of the important provisions of the scheme. This scheme is in national news because Rajasthan has paved for minimum income and guaranteed employment for the people of Rajasthan. This will set an example for nation. Now, let us conclude this discussion and move on to our next discussion. Take a look at this news article. According to the article, the southern bench of National Green Tribunal took up a Suomoto case based on the study conducted by Chennai Climate Action Group. The study dealt with air pollution in Ennoor Manali industrial region of Chennai. The NGT National Green Tribunal in its award ordered two things. Firstly, it ordered Central Pollution Control Board to examine and revise the emission protocols. Secondly, it asked the CPCB to ensure the functioning of Online Continuous Emissions Monitoring System, OCE-MS. NGT also appointed a joint committee and this committee found that six large PSUs that function in Ennoor Manali industrial region to comply with national ambient air quality standards that is prescribed by CPCB. This is all about the news article. In this context, let us cover CPCB and national ambient air quality standards in our discussion today. Let us start with Central Pollution Control Board. It is a statutory body under Ministry of Environment, Forest and Climate Change. It was constituted under Water Prevention and Control of Pollution Act 1974. Further, CPCB was interested with the powers and functions under Air Prevention and Control of Pollution Act 1981. The CPCB has two important functions. Firstly, it focuses on control and prevention of water pollution. Secondly, it focuses on prevention and control of air pollution. So overall, it has a responsibility for prevention and control of water and air pollution. This is very important regarding the problem's perspective. In addition to these two important functions, it has some miscellaneous functions. Like, CPCB provides technical services to Ministry of Environment under Environment Protection Act 1986. Then, CPCB coordinates the activities of state pollution control boards and resolves any disputes among them. Also note that CPCB creates manuals and guidelines to prevent pollution. Finally, CPCB also creates awareness through mass media. This is all about the functions of CPCB. Let us see the organizational structure. CPCB has a chairman and a member secretary. It has 37 divisions and 9 regional directorates. I have displayed the organizational chart here. You can go through it. Now we have covered CPCB. Let us take a look at National Ambient Air Quality Standards NAAQS. These standards are applicable nationwide. These air quality standards are created by CPCB under Air Pollution Act 1981. The current National Ambient Air Quality Standards were notified on 2009 by CPCB. This consists of 12 pollutants. Take a note. Particulate matter 10, particulate matter 2.5, nitrous oxide, sulphur dioxide, carbon monoxide, ozone, ammonia, lead, benzene, benzopyrin, arsenic and nickel. This is all about National Ambient Air Quality Standards. So we have seen Central Pollution Control Board, its functions, its statutory provisions, organizational structure of pollution control board and then some important points about National Ambient Air Quality Standards. This is all regarding this discussion. Take a look at this article. Let me summarize this for you. Tamil Nadu Public Works Department is creating a new museum in Tirunelveli district. This museum will be called as Purunai Archaeological Museum. So this museum will help us to learn about the history and culture of these regions through artifacts. In our discussion today, we will see about the significance of museums in preserving the rich heritage and history of our India. The role played by museums in preserving history can be understood from several perspectives. Let us see them one by one. The first one is the role played by museums in conservation and preservation. Museums are responsible for the care and conservation of artifacts, artworks, documents and other historical objects. They employ specialized techniques and technologies to ensure the long-term preservation of these items. The help in protecting them from deterioration and damage. By maintaining these collections, museums help safeguard the tangible elements of our past so that our future generations can learn about it. Second important role played by museums is preserving the rich cultural heritage. See the museums collect and display artifacts and artworks that reflect the diverse aspects of our society, right? So this allows visitors to connect with their roots and develop a sense of identity and cultural pride. The third perspective is the role played by museums in aiding education and research. Actually, museums serves as educational institutions, providing valuable research for researchers, students and general public. They offer opportunities for in-depth study and exploration of cultural events, historical events, societal changes and other artistic developments. So in a sense, museums help us have a deeper understanding of our collective history. Another perspective is that museum helps in awareness and public engagement. As we know, museums have interactive displays and exhibit the present history in an engaging way. So this will help the common public understand and appreciate our history in better form. Finally, the museums also inspire creativity and innovation. By studying the past, the public can draw inspiration for solving modern-day challenges and creating a better future. Lastly, the museum plays an important role in building the social cohesion and inclusivity. See the museums offer spaces where people from diverse backgrounds can come together and share their history. Through this, museums help build a social cohesion. They also provide places for cultural exchange which help in building a mutual understanding between different sections of society. So these are the roles played by museums. With this, let us conclude this discussion and move on to our next discussion. Take a look at this front page article. Yesterday, the central government informed the Bombay High Court that it will not notify a fact-check unit until September 4. See recently the central government amended information technology rules to establish a fact-check unit. This unit will help identify fake social media content about the central government. Now we shall see why did the government cannot form a fact-check unit. Currently, the Bombay High Court is hearing a petition filed by several newspapers and TV channels. This is because the new amendment rules require social media intermediaries to censor or to modify the content that relates to central government. See to look after this task, the central government has proposed to establish a fact-check unit. This FCU will flag online posts about the central government that are false or misleading. Opposing this move, several associations and TV channels approached Bombay High Court. Since the case about fact-check unit is still pending before the Bombay High Court, the central government informed the court that it will not notify a fact-check unit until September 4. This is all about the news. In this discussion, we will understand about the recent amendments made in the IT rules. Now before going into the discussion, the syllabus relevant to this topic is highlighted here. You can go through it. Now let us start with IT rules. On April 6, central government notified Information Technology Amendment Rules 2023. See this is the second time the central government made amendment to original IT rules. Note that the original IT rules was notified in February 2021. Subsequently, the rules were amended first on October 28, 2022. And recently on April 6, the rules were again amended for second time. Now we shall see the recent amendments made in the IT rules. So as per the amendments, the social media intermediaries are now obligated to inform their users that they cannot display, modify, publish or share any information which is identified as fake or false or misleading. Here the information means any information related to the business of central government. To put it simply, the new amendment rules require the social media intermediaries to censor or modify any content regarding to central government if the content is identified as fake or false or misleading, as we have seen before. Note another important point here. The social media intermediaries have to inform their users about new requirements through internal rules or regulations. See the requirements have to be informed to the users either in English or any language specified in the aid schedule. Now who will be tasked with the identification of fake contents? See the identification of false or fake information will be done by fact check unit. This unit will be formed by central government. Note that this unit is not yet established. As we saw in the news, the central government has put a hold on the creation of this fact check unit. So we have to wait and see what will happen in the future. Now coming back to the amendments. The amendment also stated that if social media intermediaries failed to carry out obligations under the new IT rules, then they lose their immunity from civil or criminal liabilities. See as per the section 79 of IT Act and IT rules, the social media intermediaries are immune from hosting third party data or information. For example, if a social media intermediary like Twitter host some religious hatred content, they cannot be responsible for such content. This is because Twitter is just acting as an intermediary for such content. In other words, Twitter is not liable for hosting such religious hatred statement. But the new amended IT rules stated that if social media intermediaries failed to carry out obligations of censoring or modifying the fake content related to central government, then they lose their immunity from any civil or criminal liability for hosting any third party content on their platforms. Because of this controversial provisions, several associations and TV channels approached the Bombay High Court. Here we have to wait and watch what will be the final decision of the court. Now why did the government introduce such rules? See in the age of internet and social media, fact checking has become an essential tool to combat the spread of fake news. In India over 75 crore people use the internet, so it becomes easier for fake content to spread rapidly. At these times, fake messages may lead to confusion and chaos in society. It even ends up in violence. Considering all these facts, central government felt the need for comprehensive rules to curb the fake news. So because of this only, IT rules were amended to establish a fact check unit which will help to identify fake social media content about the central government. And that's all regarding this discussion. Let us move to our next discussion. Take a look at this editorial article. It talks about the Manipur issue. See the violence in the state began on May 3, 2023. However, the issue didn't gain widespread attention until a video of mob assaulting a woman surfaced in July 19. During this period, an internet shutdown has been continued in Manipur. So the article tries to explain why internet ban will not restore peace in Manipur. So we will analyze this news in our discussion. Before that, syllabus relevant to this article is highlighted here for your reference. See internet shutdown is defined as an intentional disruption of internet or electronic communications for specific population or location to exert control over the flow of information. It can happen at national level also where users across the entire country cannot access the internet. Remember, till 2017, internet shutdowns were imposed largely under section 144 of CRPC. Section 144 of CRPC gave the police and district magistrate the powers to prevent unlawful gathering of people and also to direct any person to abstain from certain activity. Currently, internet shutdown is governed under this rule only. As per the rules, only the home secretary of the union or state can issue such order. The order has to be reviewed by a committee within 5 days. Such order shall not be in operation for more than 15 days. In inevitable circumstances, the order to suspend telecom services may be issued by an officer, ranked, joint secretary or above. But such inevitable circumstances are not defined under the rules. However, such order will be subjected to confirmation from home secretary of the union government. The order will cease to exist in case of failure to obtain the confirmation. This is how the internet shutdown is governed in India, right? Apart from this, section 69 of Information Technology Act gives the government the power to block particular websites and not the internet as a whole. Using this basic understanding, let us see what the article is trying to say. See the internet shutdown in Manipur first enforced on May 3. The prohibition covered all web traffic and mediums of connectivity. This order was issued by Manipur State Home Minister, but the order was renewed each time it expired with minor changes in the dates. This indicates that ban is indefinite. On May 19, the petitions challenging these orders were filed in High Court of Manipur. On July 7, High Court issued orders for partial restoration of internet in Manipur. Note that this is only partial restoration and the internet shutdown even continues today. See, all these were violative of the judgments given by Supreme Court in Anuradha Basin Pes' Union of India case. Supreme Court held that access to information through internet is a fundamental right and any restriction on internet access by the government must be temporary and limited in scope. The court also said that the government's orders restricting the internet should be subjected to review by the courts. It also directed the authorities to pass internet suspension orders with respect to only those areas where there is absolute necessity for such restrictions. All these rulings were violated in case of Manipur. The author further says that misinformation spreads rather than diminishes in face of internet ban. Secondly, the information flows are required to ensure that state and central governments are held accountable for taking steps to ensure truth, justice and reconciliation. Fundability will come only when the state government and central government implement the Supreme Court judgments regarding this issue. That's all about this discussion. Let us move towards our next discussion. This column article says that the courts should adopt a clear-headed approach while considering the grant for bail. It says that the bail should not be denied merely because the police objected to strongly. This is the crux of the article given here. In this context, let us quickly go through the issues in bail law and some of the Supreme Court rulings regarding it. See, the bail is a temporary release from police custody. So the accused person will be available whenever he is needed for the investigation. So it is actually a condition where liberty is granted to the accused. It is also a constitutional right under article 21. And the matter of right to claim a bail differs based on the offence. An accused can claim a bail as a matter of right if he is accused of committing a bailable offence. On other hand, a person accused of non-bailable offence cannot claim bail as a right. Understood? However, they are permitted to approach the court while they are being prosecuted. The decision to grant bail to the accused in non-bailable charges is up to the court's discretion. Let us see the issues in bail law one by one. Firstly, the criminal procedure code does not define the word bail but only categories offenses under the Indian Penal Code as bailable and non-bailable. Secondly, the CRPC empowers the magistrates to grant bail for bailable offence as a matter of right. Thirdly, the procedure leads to huge dependency of under trials. Fourthly, since there exists a framework for bail, many indiscriminate arrests happen even for non-cognizable offence. And lastly, the bail law clarifies the legacy of colonial era. It exists even today with some modifications. These are some of the issues associated with the bail law. Considering all this in Satyendra Kumar Anthil vs. CBI case of 2021, Supreme Court underlined that there is a pressing need for reform in laws related to bail. Supreme Court called on the government to consider framing a special separate legislation on the lines of law in United Kingdom. Secondly, Supreme Court also emphasized that even for cognizable offenses, arrest is not mandatory and must be necessitated. Thirdly, it ruled that there was no need for bail application to be made while considering the applications under Section 88, 170, 204 and 209 of the Code. See, these sections relate to various stages of trial where a magistrate can decide on release of the accused. These range from power of the magistrate to take bond for appearance to the power to issue summons. The Supreme Court also held that in these circumstances, magistrates must routinely consider granting bail without insisting on separate bail application. Finally, the Supreme Court asked all the state governments and union territories to comply with the orders of the court and avoid indiscriminate arrest. That's all about this discussion. Let us move on to our next discussion. We have come to our final discussion. Recently, the water levels in Godavari and its tributaries continue to rise following the heavy rains and discharge of flood waters from major reservoirs across the river. This is a recurring event that happens almost every year. Godavari is one of the most significant rivers in South India, right? So in this discussion, we shall see some important points about Godavari River in Prelim's point of view. Godavari is the largest peninsula river. The river originates from Trimbageshwar near Narsik in Maharashtra. Godavari flows towards eastward, passing through the states of Maharashtra, Telangana, Andhra Pradesh, Chattisgarh and Odisha. And then it empties into Befbengal. Let's take a closer look at some significant tributaries of Godavari one by one. The Paravara, Manchara and Maner are right bank tributaries of Godavari. Purna, Pranahita, Indravathi and Sabari are the left bank tributaries. In this, Pranahita has its own tributaries. They were Venganga, Penganga and Varda. See, Kumbh Mela, the famous Hindu festival, takes place on the banks of River Godavari in Narsik. That's why Godavari is called Dakshin Ganga or Ganges of South because of this cultural and historical importance. Next we will see some important projects on Godavari. Polavaram Irrigation project also called Indra Sagar project, situated in Andhra Pradesh. There were three important projects of Godavari in Telangana state. They were Kalishvaram project, Sriram Sagar project, Sardarmath Dam. So these facts will be useful for map-based questions in prelims examination. So with this information, let us move to our next part of discussion. Problems practice questions. Take a look at the first question. This question is about universal basic income. Look at the four statements. The first three statements are correct. The fourth statement is wrong because universal basic income requires negligible amount of bureaucratic involvement. It does not require a significant amount of bureaucratic involvement. So the fourth statement is wrong. The answer is C, only three. Moving on to the next question. So our next question is about Adityanallur site. Look at the statements. Here all the three statements are correct. Note that Thamirabharani river is also called Porani river or Tenporani river. So the answer is C. Moving on to our next question. This question is about bail in Indian legal system. C, the bail is not an absolute right in Indian legal system. It is a discretionary power with the courts. So the court takes into account several factors before making a decision including the nature and gravity of offence. So the correct option is B, that is the bail is discretionary power of the court and it can be granted based on various factors. All other statements are wrong. The prelims questions are over. Now take a look at these main questions. Try to write the answer for this main question and post it in the comment section. Now we have come to the end of our discussion. If you like the video, please share it with your friends and also subscribe to Shankara A.S. Academy YouTube channel. Thank you.


Hello everyone and welcome to this panel session as a part of open source summit Japan bridging modern DevOps and the main frame. Coming here from the open main frame project. We have a great set of panelists here today. I'll introduce myself I'll be the moderator and also a little bit of a panelist I suppose as well. My name is John Murtic. I'm director of the mainframe project and I also serve as director of program management here at the Linux Foundation. I'll next introduce lens to Lucia chairperson of the open mainframe project and chief technology officer and business development manager via common infinity. Welcome. Hi, John. Hello everyone. Thank you for the opportunity to be on the panel today. Thank you, Lynn. And we also have with us Jen Francis for a developer advocate in the IBM open group and a master certified architect. Welcome Jen. Hi, John. It's great to be here. It's great to say everybody today. Great. Let's just jump right into it and our first question really centers around the open mainframe project and the Zoe initiative is a part of it and the open mainframe project turned five years old this year, Zoe turned two. And we'll take a really look at the challenges and opportunities that led to the creation of the Linux foundations open mainframe project and Zoe initiative and what I want to start with you since you were there at the very beginning and maybe talk about what that look like. Yes, I remember it well. And it was a very exciting event. To be honest with everybody, you know, five years ago, when the inception of the open mainframe project occurred that was also when IBM made the announcement for the IBM Linux one system, which was the Linux only mainframe. It has all the characteristics and qualities of service that the IBM Z mainframe has, but it's all dedicated to just Linux and open source. So it really was an exciting event. And since that time, boy, there has been a lot of things that have occurred with this organization in and around IBM's Linux one and open source on the mainframe and open source on on the Linux one system. So, very, very exciting things have occurred and then of course, you know, we're Zoe and many other. I think, John, we're now up to about what 15 or so project. Yeah, 16 projects. I probably at the time you hear this recording some great progress certainly. Yeah, very good. Jen, what do you think. So, so the open mainframe project, the first time I ever became aware of it was actually through you Lynn years ago and we had an intern that was working on a blockchain project and I remember watching them present out at share which is a user group conference for the mainframe platform. And at the time, that was really what I knew about open mainframe project through the Linux foundation, and it wasn't long after that that along came Zoe which really became the first kind of collaborative. I would say technology that we could all use that it was not just a single company organization creating it was actually a group collaboration, and it was actually great because the mainframe the platform itself has always had a huge sense of community. Everybody wants to get together understand what the others are doing where they're struggling what they've learned things like that. The Linux foundation through the open mainframe project has actually enabled that to happen through developing technology through developing educational resources. They're actually sharing all these things that have kind of been. You had to know where to find the right groups and different geos and different things like that. And now it's actually this formal community and brought everybody together and Zoe's just been the first big role project that everybody has joined in on. And it's been interesting it's the mainframe communities almost came full circle because if we look at back we're open source the roots of it. It's from the mainframe community in the 50s at share and that early collaboration and now we've came back full circle of bringing this community which exactly like you said Jen is always been a collaborative always been there for one another always had that great strength and now has came together right under the same banner here under the open mainframe project. Absolutely. Awesome. Well let's skip ahead next question on the panel here and we're going to dig a little bit into Zoe and Jen you remarked here Zoe's that real. Not only that first open source project on the ZOS platform, but really this first time where it really clicked as this. I was reading what you're saying is a moment like oh wow this isn't just a candidate a you know vendor giving this project. It's three vendors coming together collaborating on a huge technology and that integration platform for really where this is going and bringing in so many new stakeholders but at the same time also enabling the platform for decades to come. What did you try to talk about and talk about just you know as this came into your purview like what was the reactions, what have you been hearing tell me a little bit more. So Zoe's been really fun to watch over the last two years so when they had the big announcement I remember being like out at share and out at other conferences and the huge buzz around it everybody's like what is this what is this. The first takeaway I think everybody's first takeaway was. Oh, this would be great for development everybody was talking about you know the CLI or the fact that you could have a plug into VS code. And that's great and you can do cool things on it and it allows us, you know, some opportunity to work with the mainframe with ZOS that maybe we couldn't have before. But what I think has been missing is what's really picking up traction now in your to going into your three is the ability for the administration of management it's having the API interface that you can work with is that you can actually do some really cool things with the CLI that give that and that management and administration is not just oh yeah I could deploy code to order yeah I can use VS code to see some things. You know, that's what kind of the initial reaction was and I was like, no wait, this is actually a lot more powerful than that let me see what else I can build. And we see some really cool advancements on top of that. IBM has been working across all of its different development teams kicks DB to IMS to use the zoo, Zoe, you know either CLI or the API is to actually build out and allow for more interaction with their different teams like that so we're constantly seeing more and more advancement, because of what the base open source project has done. Now all these different teams can also say hey, I can actually make that work more for me. And so we're seeing that and it being you know opened up as well to the community for more usage and open issues and kind of driving where it goes. Well, and thinking about that administrative part of the things that so we could potentially manage. You know the one thing that always comes to mind when you know where I'm going to be going with this is the great demo that Alex Kim, or actually a demo it's a fully working tool that Alex Kim has put out, you know from Viacom Infinity and the Viva which I absolutely love mostly because back when we were in conferences in person he was carrying it around in a suitcase. And if you want to do a demo who just opened the suitcase and just start doing it on the top but tell me a little bit about that and tell me just you know what the experience has been like and what's that meant for Viacom Infinity. Well, thank you John for mentioning this. Viva Viacom Infinity voice assistant. I'm sure everybody knows Alexa and Google Home and so on, the consumer types of voice assistants but we started getting this idea, starting with Alex, Kim on our team that wouldn't be kind of cool to be able to have voice control of the IBM mainframe. And the thing that concerned us with using Alexa or Google was Home was because of their security exposures. They're really designed for consumer level types of voice and enterprise customers, ZOS customers, Linux on Z customers, you know, ZVM, TPF, BSE, all those kinds of customers would be very apprehensive using a consumer level type of voice assistant. When Zoe came along, we got the idea that hey, we could actually take advantage of the security of the mainframe because it interfaces with APIs very nicely into ZOS and other, yeah, there are other operating systems available on the Z very transparently. And before we knew it, we had the Viva system of talking to the mainframe and when you talk to the mainframe, you wait, what you say is, you know how you say, hey, Alexa or hey Google, well you say, hey TJ, now TJ has a lot to do with the building that's right behind my head here. I'm just going to ask you how it all tied in together so I'm glad you called that out. It's the original lab in Endicott, New York, where IBM incorporated in 1924. And I have a lot of my family starting with my grandfather and my father and then me and a lot of other relatives and aunts and uncles that all worked there, because that's where our family settled when they first came to the United States from Italy. And I was destined to be part of the IBM family, I guess I didn't realize it, but it turned out very well. And my office is in that building right over my shoulder. It's on the first floor of that building, and it was right next to the original office for Thomas J Watson senior, the founder of IBM. That's where the name TJ came from. So we thought it'd be out of nice respect and remembrance of him, and it's worked out very well. This voice assistant is no longer a prototype, it's actually a product that's actually registered in the IBM global applications registry where people can look at it online anytime and see what it's all about and what the solution has to offer. So isn't that funny using those kinds of interfaces. And thanks to the nice work that the open mainframe project did and bring bringing some semblance around the project of Zoe and making it really what it is today. And that is absolutely fabulous is a really cool story. I mean, Jen have you seen sort of other stories like that out in the customers and folks that you're working with of just something interesting something cool that has, you know, brought in brought up because of Zoe. I'm not quite as cool as that it's hard to top that. That is true that is true so you know it's not a campaign it's not a contest but I'm sure there's other interesting things. Yeah, so, and it's actually, I guess enabled a lot of new opportunities so one of the things that we IBM do every year is the master the mainframe competition, where we are encouraging students to go out and trace the platform and actually this year, we're leveraging Zoe through for the whole competition, which enables just a new way to work with the to connect with the Z-walls platform we all know and love but something that wouldn't have been possible. Two years ago, but now we can and it's just brought a whole new life and really kind of reinvigorated the competition. I love it for some other reasons, we won't go into those today. It does bring a kind of a modern look and feel and just allows people to focus on learning the technology and not doing a bunch of setup because the setup is quite simple. Yes, yes, that's one piece of feedback I've heard quite a bit is just it's it's all ready to go it's much simpler through VS code it's already a tool that students have at their disposal, so they're not trying to set up a 3270 emulator and all sorts of other pieces. And that's actually one of the things I really love so I tend to work with a lot of cloud based technologist and they don't want to think about where server is they don't want to have to care they typically have a few different you know ID set up via the source is one of the ones people commonly will have. And so when I can say hey just add this tool let me give you the IP address. They're pretty happy to end and they're good to go and they're then willing to learn to work with the platform. Whereas before I may have been like oh can you find a you know 3270 emulator or well we really need some other tools or things like that and it started to be like, you know, people start to put their shoulders up and like I don't know that's a lot of extra work. So it's really kind of opened it up to different mindsets. I'm able to show that you can do a lot of the same things on from that you would do with cloud you can do one Z and things like Zoe enable that because it just looks exactly the same and you can switch perspectives with things like that and make it happen. It's fantastic it's it's amazing as this community has come together how this is evolved over time and just the new opportunities that open up and just things like that I wasn't too long ago I learned that the mastermind program was using that and I just thought that was just amazing. I'm just how much that's made a transformational step and moving that forward. So it's been really fabulous. Moving ahead here so we're one of the key pieces of the Zoe framework and project is new interfaces on some of them not necessarily knew they've been in there a long time but pulling it together into a singular API mediation layer and The concept you know and Jen you've been out working you know as a developer advocate with people before and I throw the term API first out there and that's just second nature I can only imagine. And now that's how it came to the mainframe. That's a huge huge step tell me tell me a little bit more about like how that API first mentality now that it's getting to the mainframe and I know you've seen this in the cloud world and other worlds and so that's kind of you know farther up the curve but you're seeing this at the front end of the curve tell me what that's like. Yeah so whenever you are starting to talk about you know different components you want to put them together that's generally the first question is OK well what is the API look like you know can you give me an API endpoint you know do they have a swagger page you know how can I look at how this is going to work. So having that kind of API mediation layer and really just opens the doors to possibilities. So if we go back a little bit and we look at something like ZOS connect when that first came out and when you might remember how many years ago that starts to blur together here but are remembering the you know that was like this is like huge moment for the ZOS platform like oh my gosh we can you know API enable kicks and DB2 and IMS and this was really awesome. But now it's always saying oh hey not only can you API enable that but you can actually API enable you know your management and your administration which we hadn't really done as well before things like ZOS MF you know kind of started to enable it so we worked with that even more. But then we also continue to see further development to have that API first extended to the mainframe so kicks has GraphQL that's now available to work with the kicks bundle so if you like GraphQL that's another API layer that makes it really simple to do kicks bundle deployments. So as we continue to expand this idea of API first working with the open source community. It just opens up the doors so that we can use some of the common skill sets that we have across other platforms across other technologies to allow more people to work with such a powerful platform. That's very cool and you know the API first sort of approach is certainly something of the customers that you work with when I mean a number of them I know work. And many of our other Linux foundation projects as well and the concept API first as I know is a part of them as well, but now bringing that to the mainframe what have you seen the impact in the customers that you're working with. Well, first of all they have been able to open up the mainframe in a secure way because these connections through the restful API's all adhere to the security rules and regulations that the mainframe follows. Well, that's one very good thing because especially, you know, being involved a lot with the financial firms like I am on Wall Street. They really found that to be very helpful because it's helping them to bridge their way into a hybrid multi cloud environment which everybody's trying to do, and most of them have found that they were trying to, or at least they thought they were trying, oh, here comes the cloud, we can get rid of all our infrastructure, let alone the mainframe. And, well, right away they found out that wasn't the case. There was some very nice things that could go to the cloud and should be on the cloud, but there's things that just can't go to the cloud and need to remain for compliance rules and regulations and this API capability just made it so nice to blend everything transparently together. And, you know, it also opened up to other software houses that were not looking at the mainframe. One that we happened to meet was a place called Private Key. You remember that, John? And Private Key is integrated through API's with the Viva. Wow. I didn't realize that. Yeah. And it allows, you know, you know how you go to a bank online and you get a code back to verify that it's you, right? Well, this does this with Viva and it does it transparently so quickly. You hardly notice any interruption, but it verifies, you know, this intention for transaction through the use of this tooling that came available with API's when it was made available with Zoey and ZOS Connect and a lot of our things. And in Jen's world with CICS, now Private Key is looking at interfacing directly to CICS through these API's. Wow. Yeah. So it's going to make really very nice for the mainframe and those in the mainframe world. I love it that we've done this recording three times and every time I learned something entirely new out of it. It is just so fabulous. So for the folks at home, if you see this repeat, everyone is unique. You really got to check them all out. So it's very cool. And, you know, it's great. The one thing I've been, you know, not as long involved in the mainframe world as either of you, but I have the privilege of being able to speak with a number of customers, speak with a number of vendors, to understand where their challenges are, you know, from a different angle. And the one thing that I've always found interesting is, you know, the early days it seemed like when I was starting this project was very mainframe or not, like it was an either or proposition. And the one barrier that the project has been slowly trying to open up is the mainframe and because if I look at many of, you know, the things that I've done in my career and the organizations I've worked with, it's always been clear that an organization that has a hybrid approach to solving their computing challenges ends up being one that is ahead. They're unique. They have all of a sudden unique differentiator between their competitors, because they've taken the time and really built up that custom way to engage their customers and maintain their infrastructure and you want to approach how they work their business. And, you know, mainframe's always sort of been a little bit that one thing on the side here and the API first coming together and I think both of you just illustrated this perfectly. It's just opening up those last areas that have needed to be opened up and it's really just changed a lot of the trajectory, getting from that mainframe or mentality to the mainframe and mentality, which I think has been really interesting. Well, cool. Last question for the group here and this is always the fun one of looking into the future. And Len maybe let's start with you on this one. Future of DevOps in the mainframe. What are you seeing out there. It is starting to really become part of the mentality of the mainframe groups within organizations. That's what I see happening. And they're becoming more comfortable with it because of the kind of tooling, especially some of the things we just talked about becoming available to allow it to fit into their into the world to develop so that they can take advantage of CI CD continues and continuous development that other platforms have had to lead on. And, you know, one on one of our other sessions that we had, John, you might remember, it really helps the mainframe become part of the overall family. You know, family is very important, especially when we started thinking about this time of year with holidays and everything else coming up. If you all become one big family, you all become more trusting of each other and know how who's strengths and each other's, I wouldn't say weaknesses, but differences.  And the customers that are starting to get that and have gotten it for a while have learned how to blend the environments and especially with that concept of the hybrid multi cloud also not just only on prem infrastructure integration. That's fantastic. And I love the concept of family. And when I think of family, you know, you always think of longevity because families are generations, they're not just one group and it's a generational thing over time. So when you think about open source projects, you're not just at the open mainframe project but just broadly at the Linux foundation that where we get involved with. There are ones that look at sustainability as a key part of that and sustainability means it's not just a few years thing it's not just you know one generation.  And when I see efforts like Zoe being trusted into a group like this and other ones that have came along a recent one CBT tape which maybe not familiar with most of the audience but if you're looking at the early work and share and those earlier collaborations that came together in a conical in 1975 probably one of the oldest open source projects before open source projects were there. More of those are turning towards this direction of we want to continue this we want to pay this forward we want to take this, not just for the next generation, but for generations to come and I think that really that concept of family really is a great way to kind of circle all that together. Jen, what are you sending your thoughts as you look at the future of DevOps in the mainframe. It's kind of a mix of what you're just saying about family but also mix of john what you said before about it's no longer a mainframe or its mainframe and or, and it really is that so to me, the future of DevOps. In regards to the mainframe is really the blending of coming together as that family across your entire organization.  They're going to be able to integrate with the repository with source code management, that there will be processes in place to allow the automation and deployment to the back end platforms that are available to it whether it's a cloud platform whether it's a in house platform, doesn't matter that those things can all work together and historically kind of mainframe was always unique. We had its own repository had its own tools. We very much control deployment and we still absolutely want to have the checks and balances in place it's not just you know release release something and without having everything in place. But we now are have the ability and really are trying to integrate to say yeah we could use those tools we can still put those checks and balances in place we can actually fit the same DevOps pipeline we can now have that CI CD that continues integration continuous delivery you can use all of our framework for development that you want to do but those tools. By the time your code is ready, we can actually use those same tools to get to our platform. So actually does allow us to all come together as a family bring our unique characteristics to actually make things the best that they can be. And be able to all have dinner on the same table and enjoy one another and you know leverage all of that great heritage and things that that will make us unique also bring us also together it's it's such a such a great analogy and I look at it very much the same way. I mean turned back the table five years how many times would you have seen DevOps and mainframe mentioned in the same sentence. So this is, we're doing a panel about this we're doing a panel, because this is mentioned all over right now. I mean I know Jen you've you've seen it you've contributed to articles I know in the space as well and when you're seeing it with your customers but it's just it's fantastic to see this all just coming together and we're I'm usually really bad at being a soothsayer on things I never like to do predictions of the future. But what I will say is I think we're seeing this beginning to grow and seeing organizations, not only looking at that mainframe and looking at the investments that are happening there and figure out how they fit more in the line of business but maybe there's some potentially some customers out there thinking geez that that's a hardware I can take advantage of there's some really useful things that I can do otherwise that maybe I need to have this as a part of my IT infrastructure. Yeah, and if you watch the open rainframe group if you join the Slack channels and things like that you'll see people asking and looking for those opportunities like I've been hearing about this I'd really like to try to really like to learn more. That's awesome. It would have been hard a few years ago to find those people if they could find things like the listserv that was available. They really had hunted and they tried and so you kind of we've now made that barrier a little easier it's easier to find where you can, you know, ask that community you don't feel like so much of an outsider you can see people active and talking. And that really does change everything having that community having it being available and welcoming. And that will only continue to drive where the future of DevOps go because you get as you get more people interested, you're going to need to drive more of that integration more of that family and that community working together. And that certainly have happened here I think since Zoe came in two years ago the year after we doubled the number of projects in 2019 and then 2020 we're on pace to double it again. Which, you know shows that that's the communities coming together and it's all, it's all in different realms and we've seen a lot of working co ball in the last year without a lot of the needs is our society. We've also seen, you know, further investments even in the depths DevOps and education spaces as well so it's, it's, it's a great time to be involved in mainframe and it's also just great to see for this community for so many people that have put their lives and their careers into it. That are wanting to carry this forward and I've heard from so many of them that that's one of their big things is how do we carry this forward and to be in this position where this project is able to do that is is just fantastic. Well, I want to. Oh, sorry I didn't you had something to Jen. Go ahead. Okay, I was just going to bring us to a close. I want to think these two great panelists. This has been great insight from both of you, being both deep in the mainframe world. There's a lot about the open mainframe project today. If this is interesting to you, I would really encourage you to head to our website open mainframe project or you can learn more about the project. You can subscribe to our newsletter. If you go to our projects page which is slash projects you can learn about any of our 15 and actually that's one off 16 now hosted projects and working groups get involved they're all open communities. They're all eager for people to get involved. They have a mailing list they have open meetings they're on Slack so there's plenty of ways all the codes on GitHub, plenty of ways to get involved in there. And if you're an organization you're watching this and you're watching this because your company has investments in the mainframe, and it's important to you and it's important to where this is going just as much as it is for this panel. Become an organizational member and that helps drive forward that stewardship and showcases your organization as key to wanting to drive that future and you can learn about that on our join page as well or email us at membership that open mainframe project.org. So with that, I want to thank you both. This has been a great panel I've always enjoyed talking with both of you. I hope everyone in the audience has enjoyed this as well. And I hope you also enjoy the rest of open source summit Japan, but thank you both. Thanks, Sean. Thank you, John and Jen is nice working with you again here today. Good to see you, Lynn. Same here. Terrific. Thank you all.