Your dapp isn't finished without ENS - Brantly Millegan
ETHGlobal·Fri, Oct 9, 2020, 12:00 AM
Your dapp isn't finished without ENS with Brantly Millegan from ENS
Transcript
let's jump into it my name is Bradley Milligan I work for an organization called trams limited which is a non-profit based out of Singapore we manage we're like the de facto managers of the etherion main service which is an open source project on github that's our website our lead developers Nick Johnson and our initial patient was the etherium foundation just kind of the outline of what I'm going to talk about here so first naming systems so a lot of people overcomplicate what naming system is so a naming system is just a lookup system like that's it that's all it does it's super super simple you just you provide a name and it provides you with information your system then might do something with that information but that is separate from the naming system so a lot of people think for example that like with ENS we send your transaction on to the wallet or something like that we don't do that we just tell the tell the wallet where to send it and then the wallet does it so so why do we have naming systems obviously because what makes sense you know for computers with computer identifiers it doesn't make sense for humans and vice-versa this is a so naming system to our bridge between them we have a naming problem in the blockchain world by the way we could be solving that naming problem with the domain name system of the internet the current one so you can store any information there we could be storing theorum addresses Bitcoin addresses but we you know why don't we do that well DNS you know it came from the 1980s it's fairly centralized it's in secure cryptocurrency you're dealing with money as you know this could be this could be bad and in blocked chains and smart contracts law for a better system anyway but I start to point out that we could be using DNS is you know DNS could you know can can name anything so why are we better than the DNS well we have simpler infrastructure you know we've replaced servers with just a couple smart contracts to zero downtime because it's just on the blockchain you can even have your own local copy that can't be DDoS attacked decentralized it's more censorship resistant we have built in cryptography and individual ownership so so DNS was actually developed in the 1980s came out in 1985 back when public private key cryptography was illegal to use I don't know if you guys know the history in the 90s there was the whole fight with PGP led by Hal Finney which got that changed which is great but at least in the United States I should say was where it was invented it was illegal to it was illegal to use so there's now a cryptography system for dns called DNS SEC which is an attempt to kind of put that on it it's not widely used in our system of course it's built in programmability and interactivity with their other aetherium smart contracts so so this is something that's completely unique to our system obviously that you can program that your names do things based on other things happening in the theory ecosystem that maybe have nothing to do with naming so that's a really powerful powerful feature we of course have d th's are our native top-level domain I'll say more about that here in a bit but we have over three hundred and ten thousand of those registered which actually would make it one of the most successful new talkable the mains on the internet we also have integration with other DNS TLDs dot X Y Z dot Lux credit art and and the rest of them most of the rest of them coming soon to work in our system a top-level domain so that's like the suffix the kind of end of a names like com org we have 37 Walt signed up for our crypto currency wallet naming we have native integration opera if you have any other browser you can use meta mask we have a partnership with ipfs with protocol labs we're actually in and in I can't accredited registrar already in circa we also have special integrations in truffles suite so how does the e NS work so a key thing to know is that we have no servers like we don't run the servers anywhere we have no servers you don't need our permission to use DNS sorts a registered name or anything like that it's it just entirely runs as a set of smart contracts on aetherium this often can confuse people say oh hey how do we get to your API or something like this like we don't have one you just have to interact with with it on on etherion another thing why is e NS called the etherium name service it's not because it's a naming system only for the etherium ecosystem we do serve that obviously but but it's because it's a naming system built on etherium so we do serve the etherium ecosystem but we much more beyond that this is what a lookup looks like so you had so you have a name you you you query the ethereum blockchain in the ENS registry smart contract on the etherion blockchain you say hey I have this name where do I find the records it spits back the answer and then you go look up the records on Shane at that location the reason we have that extra step is that you can create your own record sets if you wanted to now we have a kind of a standard record set but if you didn't want to use that you can create your own so that extra step means that the the record sets are not hard-coded into the system so our standard record set we call the public resolver and this is what it looks like we have a field called address for an etherium address we have fields called other addresses for other cryptocurrencies like Bitcoin litecoin a anything you'd like we have a Content field for an IP FS or some more hats swarm hash actually this is incorrect toward out any addresses actually do work now I'm sorry about them text records voluntary personal information we actually support traditional DNS records although we're not doing much with that right now so so I I'd say more about top-level domains on ENS so even s really is is naming infrastructure it's not a namespace so a lot of people think ENS is dot eath and that's not entirely true so we are naming infrastructure that yes created Dottie has a name that works on our system but we could serve any name on our system and as I as I mentioned we're actually working to integrate the DNS namespace to work on our system so this already works for dot X Y Z like I mentioned so for example I on Brantly X Y Z in the DNS system and I claimed it and own it on ENS as well same name but two places for the records and we're rolling that out to the rest most of the rest of the DNS namespace in the next two months or so it's like you could have Brantley comm is your ENS name not Brantley eath brently dark horn alright so how to integrate so our goal with ENS which is the goal of really of any naming system is that every time a user might otherwise see a cryptocurrency address or a Content hash or any kind of computer identifier in your DAP they should instead see an e NS name that should always be the case they should never be seeing these scary computer identifiers x' it's just bad UX there's no there's no reason for it so the easiest use case with e NS is a crypto currency is called crypto currency address forward resolution so what does that mean it just means that let's say I have a recipient field i'ma send cryptocurrency to somebody where I could be putting the crypto address right I instead put in an ENS name and then your program grabs the appropriate address and you know when they send it you send it to that address but from the user's perspective they're sending it to the name so that's super easy so just so name to address we also do aetherium address Traverse resolution right now we only have this for a three my dresses so but reverse resolution is just the opposite so let's say I'm logged into your DAP with my aetherium account and your may be identifying me by my public aetherium address that's bad you why i'll so what you can do to actually look up to see is they're on a three is there an en si I'm associated with that aetherium address oh there is let's display that instead so that's much better so user names very similar to to reverse resolution you can if they if they don't have a name maybe already set up or something like this get you know your dowdy Thor something like this as part of the user onboarding process give them a a subdomain off of that you know like Brantly is the man your daddy so lets them choose their username and then they can name it and then you can display that in any place where you would have a username and your def and there are projects doing exactly this like universal login with alex van de san authorial other projects are doing this as well so ipfs warm toward an onion resolution so this actor this works like i said in an I think it's like in their beta browser you can put like your death and it will resolve like a normal website even though it's stored on ipfs and using ENS it's not touching any of the normal part of the Internet and then if you have meta mask in it in like Chrome that will also work we have a project called East DNS which bridges DNS DNS and IP FS basically we own East Link on DNS and we've set up a special server there so that if you have like a unique name and you don't have meta mask or something like this just add dot link to it and it'll resolve like a normal website like if you want to register a new name okay great question so just a p NS domains fact about it if I have time here I could show you show you that here in a second so toward onion resolution so if you have the tor browser and since it's firefox space you can get all the Firefox plugins if you have meta mask enabled you can we actually have names set up that that solved the tort on any naming problem if you're familiar with that in that space you can go to go toward either it will resolve to their denyen the onion version of the website dns records we actually have some projects set up with some people in the DNS community to basically use ENS as a replacement name servers more I could say more about that but not super relevant to what you guys will be building here but we have a ton going on in the DNS world I just got back from on I actually came here from Montreal from an I can conference there I can 66 and people are extremely excited about ENS ok just it's incredible ok and then so then everything we haven't thought of like I said you can always customize your records if you want if you have a new use case in fact you know if you have a new use case standardize it and submit it to us we may include it in our standard record set in fact that's how we got toured on any an address resolution there was a hackathon project at East or Don onion thing we loved it and then we added it was great these are some useful links and here I can show you guys some examples here real quick so this is Chrome with meta mask enabled sorry I can actually go to Brantly da teeth this is an IP FS website just load it up if I didn't have meta mask I go to Brandt Leith dot link and that just loads up like a normal web site I can also show this real quick tour huh the meantime I'll show you our manager so if you go to a penis domains is how you register a DA teeth name or it's also how you would claim a DNS name on there but that's that's a more complicated process go to bring Keith do you see it whether our the records look like so I'm the register and controller there is an expiration date you have to renew it you can pay ahead a few month o resolver that's just where the records are so that's just the standard record set I've got my etherium address a Content hash here ipfs I've got all my other cryptocurrencies dresses here you can send me Bitcoin things like this to Brantley da teeth txt records here this is like the voluntary person who is it's actually an interesting website that somebody made ENS dot monster our text records are sort of new but this is you could you know build this into your doubt but you can put in an ENS name and like see their theme for personal information that they've done here it's kind of cool if I wanted to register a name let's say eath water let's see people Waterloo death is available it's not available let's do a DH Waterloo test hadith okay that is available so if I wanted to register this I'm not going to do it now but it would take about two minutes or so it's cost about five dollars a year I can register four more years if I want I'll just click request to register it there's like two transactions to get it so we're on the we're on the test that so you can you can test there too and our Doc's are at Doc's taught in s domains which explain more about that in fact we also have dot test I think on girly I think that you can you can do testing all right any questions about anything yes yeah so once you once you register the name know this here so once you register the name it's a two transaction process and the reason for that is that it prevents a certain attack called front-running with minors which i won't explain but it just takes like a minute and then yes so you have to set the resolver and basically that just says what your record set type is and and where it is so you set that and then you can start setting records you don't need to make any new smart contracts or anything like that no you can just use our system yes oh I'm sorry you could but I mean there's no browser that would be like resolving that right now if you want to use it as like a website I recommend putting your files on ipfs and putting the ifs hash in the content record and that will resolve like in meta mask with chrome with meta mask a lot of people like ethers jeaious because some people think web 3j s is too like big and unwieldy whereas they think ethers j s is more efficient better any just your personal preference D Thursday s is a lot of people like a good but I knew any of these will work that you can do some of these types of like add certain functions to your DAP without having to do like all the coding so they put most of that code in the library and then you you what you can do is for your DAP you say oh I have my code plus this library and then at certain points you can easily do those functions without having to write out all the code yourself so I mean you just you set that you can set that up in our manager and then if you're adding that to your DAP there just depending on which library you use just like a line of code or something I can actually show you a cryptocurrency resolution though I just thought of this stay I'm here in meta mask I want to send to Brantley eath there you go so it has my dream address oh it's a good question I don't know that we do have that maybe you could build that correct yep so that's if you have in a 3-man dress and you want to look up see if there's an Associated you nesting no that is what he was asking he was asking though if there was like an app somewhere that you could just put that in and it just just demonstrated no it's not like a website it's just it's a function so basically all that is is that on on aetherium you can set it up so that your theme address is linked to an ENS name like in the opposite direction so that if a person queries the ANS smart contract on ethereum blockchain and says hey i have this this etherium address is there Nina's name there then it that will work so but it's just it's just it's just a mapping thing on the ethereum blockchain okay so that means you don't have a resolver set yet so you so you register you register daddy --the name you're saying and then you just hit sets and hits to click use public resolver and then and then set that and that'll be a transaction and then after that you can start setting individual records and it works right away okay so so you're talking about creating subdomains and you can do that yeah so you just go here up to the top says subdomains and you can hit add subdomain and then you can create you know like let's say wallet dot Brantly da teeth or something like this and then subdomains in terms of the records function exactly so so some terminology that's called a third-level domain and so like this Brantly da teeth is called a second-level domain and see like da teeth it's called a top-level domain so it's like top level second level that was like you're going down a hierarchy if I had wall at da brownie that's a third level domain that is functions exactly the same as a second-level domain and that you just you have step or resolver you have your own separate records its own completely separate thing no there's not any expiration actually for that that that's that is a difference so the records exact work exactly the same there's only we only have expirations for second-level domains but then subdomains or third level domains are free and have no expiration date as long as you keep the second-level domain current so it's like a hierarchy of control going down exactly yeah just use public resolver in fact we're actually gonna be making a change where everything is defaults to that that but that all that does is it's saying here is the record here is the record set that I'm using and where you find it on the ethereum blockchain that's what that is saying and the reason we have that extra step is that one we can easily upgrade the record set without having to change the whole DNS system and also if you had a a custom use case you could instead of using public resolver you could put your own resolver in there and with your own record types so like so most people are just using the public resolver like 99.9% of people like if you had a special use case you could have your own record types if you wanted to know so it'd be completely separate so if you own a name on Gurley that's that's just there it's not on maintenance so if you wanted to also own in our main net you'd have to also register that on maintenance hopefully it's available yeah I mean the wallet has to be acquiring it correctly but yeah yes it just I mean it depends on how the what the walls do the Wallace decides which two grabs as long as the wall it's doing it correctly than it should work all right sir I think we're done on time okay well thank you very much if you have any other questions you can talk to me afterwards thank you
Automatic transcript — names and jargon may be misspelled.