ENS for the multichain world
ETHCC 6 · July 2023 · 17:36
Makoto Inoue explains using ENS across multiple chains with CCIP-read, wildcard resolution, DNSSEC and multicoin types. Examples cover Optimism, Arbitrum, Starknet and DNS.
Speakers
Topics
From ETHCC 6, hosted by Ethereum France.
Transcript
[Music] okay so thank you for coming for the talk ens for the multi-chain world and then my name is Makoto and I'm assuming everybody is here for the UNS session good so let me start so first of all uh I hope everybody knows ens who has DNS names great and so maybe people knows now what that is these things who has ens card okay who doesn't Okay so you know you after this talk you go to the Boost and you get a card and also
the most asked question was was freaking long yet and they arrived yes he arrived so if even if you have the car then you go back to the booth and you should have this shiny uh you know purple line yet so that's uh yeah takeaway of this talk but also you guys are already ens Pro so you know that you know instead of giving you Xerox BAC whatever address yes gives you that give you my readable name which you can point to the address so you can have that other nick.is and also ens is nft but two usage is the number of Integrations we have over 557 integration from like
metamask to like open C to like ether scan so like everywhere you go in a mostly ethereum ecosystem you can if you log in you can see your next name as almost as a web 3 username so hopefully this everybody already knows and then today that concept title was ens for the multi-chain world and I want to start with a bit of misconception that ens is just for ethereum and I mean ECM layer one main net then it's not actually true that if you go to somewhere like uh Abe Abe is known that they go for like they deploy across multi-chain and if you go to Albert's
website it has a market for different network and if you pick for example polygon which is on its own proof of staking system you can you connect as a ECM address you can still see your ensl name as Network dot is and this is partly because because most of the I think probably like 80 90 of people who are here today still uses something called excellent on the account which which is derived from your C phase uh private key public key pair so and the one unique feature is like actually that's kind of cross chain compatible by Nature so wherever like it's in different chains you can actually see so that's what one
use case it's already used in different ebm so-called ebm ECM virtual machine compatible chains but now we are living in the world of 2023 and the people know something called account abstraction also called this Quadra wallet that now it's not guaranteed that all these ECM addresses on your one chain doesn't necessarily exist or you're going to use the same on other chains that we already have a support this is 2017 when we first launched that we have something called multi-coin address type that you can actually not only to be able to associate your CM address to your address you can pick whatever a different coin types like you started this is a kind of breakdown of the what
other no no ECM address being associated when you we first design it was mainly for like you know uh Bitcoin addresses or no evm chains but now like we know that growing use case so now all this evm compatible chain so like I think if you go to the same our website you can actually pick uh address to tie into different chains and coin types so it's there and and then I could in the talk this is it and then people just go to the Boost and get the line yet but then yeah we can do better so but why what part you need to be better probably you already guessed that uh storing the
other change the information on the same layer one is not exactly what you're envisioning when you say multi-chain because most people try to nowadays kind of start avoiding uh ECM layer one for the good reason just goes even our registration shows that like whenever there's a gas is too high on the at the bottom side of the chart our ECM registration also goes down so people try to avoid it so we need a better solution and again and we actually been working on this problem since 2020 and we have a couple specifications which tacos it one is called a wild card which allows you to
refer the name resolution of the sub name to its parent what it means is like if you go to go to metamask and if you type a.m dot is if that name doesn't exist it can ask its parents which is matokeo is that's a fast specification in SRP 10 then in combination with there's another one EIP eip36a security retrieval AKA CC ipv this actually allows you to the URL one so-called resolver contract which usually in charge of storing your ICM address or the other text record on L1 to install return in address directly from on chain without the so-called
Gateway URL which is just like a URL we ended where that Gateway is in charge of taking data somewhere it could be then we just call it off chain and one of the the uh yeah more I don't know if some people understood this complex looking diagram easier kind of similarity is just how nft Works in general the nft ownership is already on chain but most of the your jpeg metadata information isn't there how do you retrieve it's not working science there's something called token URI is part of the erc71 nft standard which just specify the Gateway you sorry the
URL and the URL could points to another openc database or it could be IPA decentralized file system you get it so what the previous specification enable is to treat ens similar to how nft Works in general and another thing interesting is is one of the uh smart contracts on ECM and one unique thing is you can set by your name so even though if I have a matoken.edh quite often like you know most other dabs and the stuff you kind of have to rely on some doubts to deploy to a certain chain and you just use the
chain they deployed in your case you can kind of create your own custom resolver to specify your your your preference of the storage place and you can set by your name so this and then you can also if you do it on your name you can also do it for your sub names so what this chart kind of graph is showing like if you have prime example I'm going to explain cbids like you know cbid could issues all the sub names in uh coinbase's uh storage or like if you can send it to some other chains so that that's kind and you can pick the storage of your choice and yeah well I kind of run the solution but why do you use
example of these off-chain resolvers is most popular is One CV dot ID this morning I went to The Venue like 15 minutes before the gate opens and I thought oh I had to kill time and then when I look at the side and then there's a coinbase cafe and I experienced like oh yeah I want to have a coffee and then they said well you have to force install the coinbase world and you have to you know load these five dice so you can have a coffee I love to be in the guinea pig so even though it is spent more than 30 minutes I actually did everything and I ordered a coffee using coinbase but amazing thing is you know they show me that you know all the show that like
when I send from usdc from one city to another even though uh yeah it was using a coin I think base they're using base chain that they were actually resolving the ACM ens names and they had it everywhere that was beautiful so it's already in use at coinbase already oh actually sorry that example is still using of chain solution so it's just using uh in this uh one previous example it's stories in is in their coinbase database and another example is a lens protocol lens has a something called lens profile where it has the lens so study for example the founder of it and the lens protocol they have he has done the lens the data is stored on the lens
protocol on polygon chain but we they can they integrated extended so that you can resolve the study.lens with study.learns.xyz and again this is in a different chain and one example is is lobo here now okay so issuing sub names is still a bit technical solution so there are a couple of companies start popping up to it provide this kind of solution as professional service so it recently pulled together said we're going to issue put together these sub names and it's done by some external side it's like names them which I think is Run by One Baba most active in a star members
and that's good but but we can see the meta okay so what does that mean I did it so one of the thing is of gem is always good but it just means that it's another trusted solution what that means is the Gateway service are explained in a diagram that's actually the uh basically the how to say uh trusted solution that Gateway service is just another Central Point that like if that uh Gateway Services is kind of compromised uh people attacker could actually change all the ECM address or your user sub names so people could send all these Eco precious nft to the attackers address so
there's some some people have to trust the Gateway as a service itself which is good for something like in a coinbase coinbase's main business is custodial wallet they have very good security teams so you would trust a certain extent but even them they'll trust trying to work on the you know more decentralized solution so what we are we again just we've been working for almost like two years and still work in progress is so-called L2 resolver I also call Trust minimize solution which only works on so-called Roll-Ups not on not any next side chain or other change but it works on opportunity uh roll-up chains such as optimistic roll up
optimism arbitrum or ZK roll up the bay all Basics roll-up chain has a common trait that they basically realize Security on L1 by regularly kind of snapshot in their so-called uh State Route which is a hash of the entire L2 State into ECM periodically so that's the part of their security change security mechanism and what uh we do is the is the the Gateway instead of just returning the data you can actually return the data with a so-called storage proof on etl2 which allow allows all the L1 resolver smart contract to be able to verify the this data actually exists on
this chain so in the worst case scenario when Gateway it's obviously got compromise uh 31 result but can simply reject this is something don't show it and if you start moving to L2 resolver this also has a benefit of the uh kind of easy to use resolver in general that you know of chain resolver solution you either have to deploy your own Gateway service or you kind of have to trust someone like names don't do not you know secure the network but which of chain sorry L2 is over you don't necessarily have to trust it because even if it gets compromised uh yeah you can invalidate so when you set resolver to Saturn L2
resolver you don't have to maintain this middleman web services you can use any any Services which provide this similar things and so that's the difference of chain resolver and the L2 resolver and in terms of status we have approval concept for on arbitrum stockware and optimism and interestingly so linear who just went main I think yesterday or today they actually were very keen on issuing sub name on their chain using this trustless approach and the amazing thing is we have a dock where you specify how to do it they just read it they understood and they all
wrote the solution all by themselves so they they actually have the test Net Solution on their linear test net they already minted 400 000 names so if you want to try out go for it but uh so not all teams as you know how to say not Genius Like great well I can't say no that's great uh how to say yeah I mean it's great but like you need a lot of resource if you want to build something from scratch so many people ask hey I want to do something similar but do you have something deployed on my chain or solution so we need to provide canonical solution so that you don't your team doesn't have to
develop from scratch for every time so and but that is actually quite a long process of the so what we decided is we kind of split the phase into four and try to deploy the most minimum viable version as early as possible and the first step is actually to be able to just so the final kind of no our no star is that all these setting things are quite complex so we don't expect people to pick uh you know China with your choice we want someone like wallet or like exchanges or these players to issue sub names under their choice of network so that's like issuing sub names and the stuff that's a
no stop but currently I think we want to Target to you know technology so someone who is willing to guinea pig who can spend 30 minutes in front of the cafe you know just trying to you know sell everything so what we're trying to do is at least if you own your name you can pick your choice of resolver to set the record so that at least if you want to change your avatar record every now and then it becomes gas almost free or gas cheap so that's uh first step we are working with uh guys I think there's a couple guys from a company called dm3 they are known as a company building the uh messaging service but they also wanted to use ens text records to store
their your preferred messaging protocol information and they didn't want that to be gas expensive so they're kind of he just got a lion and they went ahead and they started creating a production code it's again another great thing about open source and if there's an open source and the document there's someone smarter than us just already building and in the front running I love that kind of running so like you know even though I don't have any like fancy UI to interact I just throw there uh basically GitHub repo so there's some genius out here just like diving into this code and if you have any questions I'm happy to answer any of them because I'm I'm currently the one just guinea pig in this guinea pig okay and for those people who wouldn't be interested in
like looking into the GitHub code one thing I wanted you to remember is INS is not just for ethereum but yes it's a service powered by ethereum that's only thing you screenshot take take photo you know tweets all that stuff that's it thank you very much [Applause] [Music]