 Hello guys, are you doing good? Okay So My name is Well, my name is Makoto by ENS. It's Mato Kondo East. How many people got this swag things? Great, okay, so probably for some of you I was a man behind you know between the Nice swag and you know that you so like you know just making sure you guys are QR code and all that stuff I'm hoping that now. I don't really have to explain what's the ENS is so it's a basic a web series user name Whether you go to pop or is a scan or open C or is XYZ. It's all Mato Kondo East That's my name and So today I think this this room is mostly in a theme of L2 truck. So we are going to talk about Kind of L2 off-chain interchange strategy on what ENS is doing and We are actually been doing since kind of 2020 and there was a lots of talk and Work going on but people are not quite sure where we are at right now And then it's actually some of the feature It's three and a half way of the roadmap, but it's some of them are already available So first I was going to explain what kind of the cross-chain example already available to you So this one doesn't really require any technical Technical knowledge then I go a bit deeper to the underfoot So probably I show a bit of code so mostly for depth and therefore what's next section is yeah What's gonna happen the probably a bit technical? Okay, so For some of you may know coinbase I won the biggest exchange Recently announced that they decide to issue sub domain to all the users I think there's a couple from the coinbase and raise your hands. Okay. Thank you And it's great because like whenever you go to like you know exchange as you change You get your PR to coinbase Then if you're not moving to somewhere for the D5 then like passing struggle is like oh What's how to send to you know, you see a mattress and then I think it's great that it's been ENS is available available from the kind of as soon as a new user go on board with crypto and I Got you know when Makoto or CB ID because my talk is already not available Unfortunately, but like if you go to your in a profile page And another thing is so coinbase has I think coinbase dot ETH But they chose CB dot ID firstly because it's a lot shorter and then another thing is Enes is not just about the ETH You can actually import the order your internet domain as a Ethereum name So like it urgent wallet has a door XYZ and you can make or commander stuff So they decided to use CB dot ID to import the DNS to find the ENS world Then decided to issue subdomains. So once it's done, you can see my few handwritten avatar and Yeah website and the email address and if you look into this Our ENS manager, you can actually see the same thing. So it's that data which is stored in I think it's in a database in coinbase is proxy through basically same layer one so that any dApps or like a Wallet can actually access the data and the great thing is the user hasn't paid any single gas And another exam interesting example, so I think coinbase case is was in complete off-chain in a database so lens is another kind of web 3 Social network which have provided user profile and how many people have lenses Okay, maybe half of it And so this Stunny dot lens actually have an ENS associate. Sorry. Is there my address associated it? And something you might not know is it's actually that's also a proxy to the Isam L1, sorry ENS and on layer one So if you actually look into it, you can actually see that on our ENS manager and this is kind of recent Release but now better mask supports so that like if you try to send No one really has to send east to Stunny, you know If you want to you know, you go to Stunny dot lens or XYZ. That's already available and This is another interesting things that like so optimism. There's some Community user just posted on there Our forum that hey, we created a name service and that they actually just walk the What we are doing and they created a kind of NFT and they decided to issue subdomain on their NFT And it's actually available on the optimism, which I didn't even know until he posted it, which was kind of crazy and But I do explain There's some nuance on the difference on how you do. He's doing and that what we could do in a Next chapter and this is a really really really crazy thing is like so we I'm saying like off-chain Which can be anything so I showed like date base Example I showed you the lens is basically the polygon other ebm example This is literally the Google doc and someone put that kind of integration so that if you type the Data into the Google spreadsheet is actually updates, which is kind of crazy And then yes, I only got to know because someone tweeted it. This is kind. Yeah, it's cause sheets though is friendly So and so current state is so these things we've been doing. It's not something you can You can do it without any integration So we've actually talked to many partners and the integration partners to integrate this thing fast. So If you adopt developer if we want to you have these like a coin base sub domain or land sub domain or Sheets sub domain as long as you are that has he suggests Later than 560 or with 3 pi v6 or with 3 js before 93 you already have the Feature integrated and also I think nowadays people use framework Kind of to like wagumi or use that they because they use these are just underneath. That's already supported Yeah, right away and the for the wallet side. There's a wallets like our for that Argent metamask Umbro coin base cross wallet wallet connect and that is a scan they all Integrate so if you're using these you can actually Send money to basically stunning or like any coin base user who are CB it sub domains if you want to And So yeah, what's common across? Oh, yeah, I just realized I can just read that. Sorry Okay, so what's come across this example is basically storage are cloning stick. It can be the base polygon optimistic optimism or Google spreadsheet and depends on the storage. Yeah, if it's in a like a O2 or sidechain you might pay a little bit of gas if it's enough change complete gasless and Interesting thing is like I think most of the stuff I'm like if you use different chain first things You have to do is like you go to metamask and you know change the network ID and the stuff You don't have to do it because you don't want to know which Chain these users Data and they're like I don't want to know like you know where data is for the coin base users or Lens users so that for the beat only purpose data is all available through L1 And this one I will explain later, but we call it kind of trust not minimized you find out a bit more detail Okay, so under the hood So if there's any pretty much all those things I'm going to say is in these docs ens.domains And there's a QR code. So if you you're interested you can just take a shot And sorry Okay For five years and the basic model is we have three Well, basically two big components. One is called registry where it says a big gigantic dictionary key value store and instead of Registry hands the value we return. So for example in this example you ask What's the user says what's the? Food or east house in example it returns the X one two three four which is some another smart contract called Resolver and The Resolver is the one if you ask that Resolver what's the address of food or ETH? That we turn the actual the ECM address so that that kind of two ways Wait and then the reason we did is is the flexibility that Once you kind of change it's very difficult to change smart contract once it deployed to ask everybody to change point to the new one So but if you have a Resolver each user of each name owner, this is important to understand is that can swap the Resolver and have their own custom Logic or if we release a new feature you can upgrade to the new feature or by For each user by each domain. So this is a basic and with this in mind What we do with this new interchange The cross-chain thing is something called CCIP read also known as EIP 368 Secure off-chain data retrieval and the one I'm going to explain is it's going to the instead of the two-step model of the existing Resolver it's a three-step model and I call it river request and the verify Okay, so what it does for the first time is like for example if you go ask for the Data on the Resolver Instead of returning the data he actually throw the exception And it called off-chain lookup and so they could be but this LMS as came from I think so 88 point something and This interesting thing is like a basically He returns a different kind of a data type by calling the same Function so that like you don't have to plan doesn't have to know whether the function core is was a one or L2 or other place. It's just like you He rebots and they catch this and then once you rebut you catch the Revot message he has information about This address which is a Resolver then he has something a URL which is we call a gateway server and plus the core data which you know you send for the function call and Off-chain Resolver Resolver, so this is I think the function type of the Function which you gonna call once gave once the gateway returns up results And what you are the code is a bit old so there might be some consistency that so step one we got and that's solidity code And the once that's done So this is a web service the URL, you know, you just catch in a river you call this web services and things he does is first line is the server.rd is just like a function CCIP vServer library offers like any of the web services you have you can kind of chuck in this Capability easily then what you do is you basically query the data from somewhere it could be there basically could be off Sidechain could be Google spreadsheet then after that we basically ask The gateway to sign the data and he returns Back to the client and then once it's returned Again, this is in L1 that he basically calls this function to and you decode this signature and you check like who verified and if you It's verified by the gateway. It was specified in a revert. We say okay We trust this gateway service so like hence we return the data so by By using smart contract to be kind of proxy user can retrieve the off-chain data we saw switching MetaMask or Not knowing any other information, but all these things are kind of encapsulated especially using Instance.js So most daily use you don't actually even see it But if you want to do directly with the interactive smart contract, you kind of have to know and so once the basic logic of the off-chain data retrieval is Explained next thing you also have to know is another EIP called ENS IP 10 So wildcard resolution for issue server domains like one thing you need to know in the case of We are talking about biggest use case as an issue in sub-domains and when you go through example CBE.ID CBE.ID does have Resolve a contract on the L1 which basically acts as a gateway to off-chain But use the sub-domain actually doesn't have any data on L1 and what it does is this is just another Rule we define in a client level that if I have a let's say Matou-kun in this example He says 8.matou-kun.eth and if 8.matou-kun.eth doesn't exist No one doesn't have a resolver at the client library Asked to the parent in that case Matou-kun.eth is to say do you know anything about your child and that child It goes to L2 off-chain and get data So that's how kind of allows you to issue sub-domains which is gas free because it doesn't exist on L1 and so the consequence of this approach is First so no on-chain event or issue in sub-domain or records So quite often when you build a DAPS nowadays You kind of rely heavily on like something like subgraph to retrieve data with strict information In current specification, we don't have that so in our case We kind of hard coding like you know, especially if you have done any coding on the ENS For example text record key value store which key has been set we actually are or which coin type has been set we actually retrieved from Subgraph the graph subgraphs and because the graph information doesn't exist We actually basically hard code and if you look into the ENS manager and if you look into the sub-domain of the CB dot ID or Lens of XYZ you actually see that it doesn't exist because that whole thing doesn't exist on L1 and another so this is specific to the the CCIP protocol itself, but another thing what we are doing right now is it's actually kind of Halfway through of going to our What we really want to do and currently because we rely on this kind of centralized a gateway Model to sign the keys. So if you find a key which gateway is has is compromised The Marisha sector could potentially basically repoint all the sub-domain address to my address They hold the money cook so Correct protecting the gateway as some security concern and for that reason if you have a gateway You you have to deploy gateway by yourself You can't let other people to deploy gateway and they use their own so that's kind of limitation of current approach However, it's here and it's working. So another Phototime is that if you want to try out this approach into you add up This is a QR code to take a photo with me smiling and so what's next and so we are kind of yeah as I said, it's kind of halfway and So we did the off-chain data retrieval ticked and basic library and wallets integrated ticked And so there's three other things we kind of have to solve to Go to where we really want to achieve our goal and the first thing is I call cc CCWDP aka EIP 5559 is called cross-chain write deferral protocol, but I think it's that join EIP with I think Coinbase and then Nick Johnson, I think it's basically so far you saw that All the data can be retrieved On L1 so that you don't need to switch network to read the data, but once the next step is actually you want to let users to update the data and the currently I think In case of lens lens have its own interface on L2 So like it you have to know that you have to update on lens in case of a coinbase You have to know that you have to do in a coinbase Extension, but this one kind of use a similar approach to CCIP read to return the like where You need to kind of be points to your end point or like a URL to update the data So this is kind of fresh. Oh, no, it's June so it's been a day But I only get to know like a few weeks ago that this existed So it's fresh, but like you there's already drafts so you can take a look And next so yeah trust minimize resolver eco roll-ups so that so far I was talking about quite kind of centralized approach like you had to trust the gateway. Well, we Have design is coin. So, yeah, one of the stuff of a roll-up is the fact that like you most of the roll-up whether it's a Optimistic or ZK that their basic principle is to batch write L2 data to periodically batch write data into L1 that means you can actually Verify the state of L2 on L1 using L1 contra so your optimistic roll-up uses proud proof and the ZK uses validity proof and then once and my understanding is Optimism or like stock where all these companies listed they do have basic function So once we have that function, what we're gonna explain Here so here it's just like retrieving the data and signing the Message but what you can do on the L2 roll-up is like you can get basically get the proof data with the proof and Yeah, you construct the Markov tree and on this Verify stage on the smart contract you can basically call I forgot the name of the optimism code. Do you remember verify? Or state commitment something for the function to verify and by doing that Even if a gateway returns a minus just data. Oh my time is already up. Okay You can you don't have to trust so that's are you gonna is it completely up or another five minutes up? Okay, so I think I already mentioned And there's a demo which we did two years ago for the optimism So optimism we know that you how it works and we are right in the middle of updating to the latest version and Yeah, I'll skip that order and all the end. You know this now you took my photo So sorry so the QR code so you should refer to and then more important things is yeah We have a state of ENS by Nick Johnson our force for 30. So yeah, that's it