State of the ENS by Nick Johnson & Jeff Lau (Devcon4)
Devcon·Wed, Oct 9, 2019, 12:00 AM
Speaker
Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/4/state-of-the-ens Updates on the state of the Ethereum Name Service, and our plans for the next year. Speaker(s): Nick Johnson & Jeff Lau Skill level: Intermediate Track: Developer Infrastructure Keywords: ens, updates Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 4 was held in Prague, Czech Republic on Oct 30 - Nov 2, 2018. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/
Transcript
good afternoon my name is Nick Johnson I am the team lead of aetherium name service since we receive very generous grant funding from aetherium about six months ago ENS has turned from a one person's spare time project into a fully funded team of nine people and we have been spending last six months building out the earnest features and functionality that we think will make ENS integral to the future of aetherium n web 3 so today we're going to go over the the new look what we're doing about ecosystem support how we've been integrating with dns and new ENS management tools and our D on the new registrar that will replace the current option system so first of all as you've probably noticed already we have a new look a shiny new logo and so forth and this represents the fact that any sort of takes the sharp edges off etherium and we've been rolling this out across all of our applications so one of the main efforts that we've been engaging in in the last six months is integrating with existing DNS services eeeyah nice when it was launched hit only the dot eath top-level domain and death is exclusive to aetherium into a genious it works only to resolve services inside DNS and so on but we consider it to be a part of the global route these sort of shared namespace that all DNS names exist in and we're conscious that we want to be a good player that we want to integrate well with them we don't want to pollute the namespace and we also want to integrate with existing systems wherever possible so although it's initially launched with teeth we're pleased to say that we've already launched two new top-level domains inside ENS dot X Y Z n dot luxe and these both correspond to those same top-level domains in the DNS system so let's have a quick look at how we've achieved this integration first of all for dot XYZ into what we're doing is we're using DNS set DNS SEC is the Internet dae-sik as the Internet's system for securing domain name lookups and it permits us to actually prove the ownership of DNS names and the content of DNS names so using that a user is able to register their domain using the regular internet registrar whatever your caller your favorite registrar is they enable DNS sick which depending on your registrar may just be a one-click operation and then they add a text record under their name saying this is the etherium address I want to be responsible for this name and then finally they go into our tool and they submits the proof of it that's gathered from DNS that proves that they own that name that is the address they wanted to be assigned to and that tool then sends it to a smart contract which verifies all the cryptographic proofs and submits it into a nice and from then they can manage that name inside Enes so if I own my name die X Y Z I can go through this process and I can end up owning my name dot X Y Z inside here nice and if I go to my favorite wallet ass I can type my name to X Y Z to see myself funds and so on and so forth so this is a permissionless integration it doesn't require any cooperation or involvement from registrar's or registries or I can because it relies entirely on public infrastructure the DNS system you can claim your own name now for dot XYZ via DNS CNS domains and some registrar's such as easy DNS are already working to make this easier by doing most of the work on the backend for you if you're a developer there are a couple of client libraries there available these automate the process of gathering proofs of DNS compiling them together into the data that our smart contract recognizes and submitting it to it this isn't restricted just to use with E and s either if you have an amp that needs insight into DNS you can use this you can use it to fetch any data from DNS that is in DNA second abled and trustless lis prove its existence inside theorem unfortunately of course the the trustless nature of this and the sort of crypto heavy nature of it means that it can be a little less user friendly than it might otherwise be the other integration have been pursuing is with dot lux and what we've been doing here is actually working directly with the daleks registry and registrar's and they've been cooperating to integrate directly with etherium so rather than sort of doing it through the the open route via DNS sick and having to do everything ourselves this involves the registrar's and the registry actually working directly with us in order to support DNS what this means is that if you register Lux domain with the supporting registrar you could simply go to that registrar's interface you can go to the control panel and you can paste in the address that you want to be responsible for it inside etherium and hit go and that certain just one step service we think demonstrates the sort of usability that you can get and the sort of improvements in in usability by integrating existing systems with with web 3 this is dot luxe is available now for pre-registration and officially launches on November the 6th and before we before I continue I should actually say the integration with DNA SiC that we've shown with XYZ we will be rolling out to a number of other top-level domains basically our goal is to support any top-level domain that has the necessary Dionysiac tooling setup for it and we'll be doing this after we've finished the new manager and we're confident with the infrastructure and the sort of beta period that we're doing now so and another avenue of research and development has been the new d3 just rawr and this is probably what a lot of you have been waiting to hear about for the last year and a half the initial registrar when we launched it in May 2017 was option based Stiller's and it uses what's called a Vickery option the idea is that everyone bids on the name and then you have a reveal period people reveal lipids and the winner is the person who did the most this system works very well for allocating new names initially when you have many competing too many people competing to by the same name but we've found that it's less effective at ongoing registration what we find is most people most names only get bought by one person there's the chances of two people wanting and name within a few days of each other quite low so we end up with quite a lot of option over here for relatively little return so our goal here is that we want to migrate to a new system the new system will be instant buy so instead of being an option you just buy the main for a fixed price and it will be rent based so similar to existing systems with DNS you register a name and you pay a yearly fee to rent it before we launch this we will have a one-off option for shorter names so presently all ENS names are at least seven characters will be auctioning names shorter than that on a one-off basis for a year's registration before launch and then we'll launch the new registrar and everything will transition to this yearly rent the early rent will be the same price for every domain and our goal is to set it at a price that discourages sort of mass squatting but makes it cheap and affordable for people to use the unis so our target price is more or less the same as you see with DNS names in the region about 10 US dollars a year at present that will be set by us we've been researching mechanisms to set the rent price effectively autonomously but we've been unable to come up with one that we're confident isn't gamer ball by people who with sufficient resources to influence the price in one way or another counterbalancing that you can register and renew anytime you want and for as long as you want so if you're happy with the rent price 15 dollars a year and you want your domain to be stable for a long time you can register for a century and then you can say the blockchain ensures that this name will be owned by this contract for at least 100 years which we think is pretty close to an ironclad guarantee for things like package management systems it will also be built for a common infrastructure like parent package management systems in that it will allow people to renew other domains you can always delete your domain if you don't want it but you if their domain is common infrastructure anyone should be able to sort of react to ensure a continues operating so anyone who owns a domain in the existing model will have two options in the new registrar the first option is that they can transfer their existing domain to the new registrar they have a full year to do that and when they do the domain registration get - a year after our the launch of the new registrar so you get a year's total extra registration that costs point zero one Aoife and the remainder of your deposit that you paid in the initial option to register the name gets returned to you if you don't do that within a year the name becomes available again and people can purchase the name however your deposit will always be returnable the other option is that at any time after the launch the new registrar you can release the name and get back the entire deposit you paid in the original option so one of the biggest things in building ENS into a universal platform is making sure that ecosystem support is really good ENS is not much use to us if it's just a way to register names and then a way to look at names and none of the apps support it so one of our biggest drives in the last six months has been pushing out more support for the ecosystem for libraries and tooling with the NS and we're pleased to say that ethers jeaious whips reaper jeaious web 3pi and webster ej all now have integrated ENS support meaning that if you use any of these client libraries in your debt you no longer need to have a separately NS library to do name resolution so if you are using one of these libraries that's possible your app supports NS without you even knowing it and in the case of web 3 so ethers JS for instance it actually does automatic name resolution anytime there is an address field and in the case of some of these other libraries you still need to use a separately NS module but it's integrated that was the library for you we've also of course been pushing it out to more wallets and debts and we're very grateful for the cooperation of people such as argent portal network get coin especially have been doing a lot of integration with us and mellon port and this is going to be one of our main efforts going forward is more developer relations more reaching out to folks like you to make sure that integrating NS is the obvious choice finally outreach such as events like this we held a second ENS workshop in August in which we get a lot of feedback and ideas that have helped us improve the permanent registrar and other if we had have onboarding workshops here at DEFCON there's one today at 5:00 p.m. if you you just want to sign up for a name and Thursday at 10:00 a.m. there is a workshop for anyone building adapt or a wallet who wants to know how to integrate again SPC and would love to see you there and we've done talks at a wide variety of events with ENS staff members and if any of you would have an event that you'd like to see us at please come talk to us afterwards we'd love to be there so next up we have been redesigning the interface for managing ENS names and registrations and to demo that I'd like to invite chief flower the lead of the ENS project manager project up hi everyone I'm Jeff Lao and I'm the lead developer of the nest app I've been working with ENS since June of 2017 building the original managed app which following the launch of ENS last year this was built as a proof of concept for this new tab but I'm going to show you right now and it was concentrated on functionality but with the new funding we got from the foundation earlier this year we've managed to hire a UX designer and a UI designer to help us revamp the interface so we're we're focusing on it to be more user friendly and this is what the revamp I'm going to show you today is based on so today I'm going to show you a demo of the new map I'm gonna show you how to set up your ENS name if you have one from start to finish and I'm also going to show you how to add subdomains so this is the new app right now so you're greeted by a large search bar similar that you see on GoDaddy or any of the other registrar's and here you can be nosy and search any units name in the registry so however the most useful thing you can do is search for names that you own and you can set them up for your own use so I'm gonna do that right now and I'm gonna search for true names eath which is the dns name for the company that develops Enis so as you can see here I'm gonna show you there are two stages for setting up your DNS name so first we need to set up an ENS resolver for our name and secondly we need to set up the address record for that resolver so what is a resolver and how do we set it up well a resolver is a smart contract that allows you to map your DNS name to a record the most important record that you can set up is the address so you can resolve from true named story--the to your unreadable burial dress so how do we set up a resolver well the easiest way is to use the public resolver there is Venus is deployed a public resolver contract which is available for everyone to use and it will handle most of the record types that 99.
9% of users will need if you have some advanced usage you can also deploy your own resolver and point to that instead but we're just going to use the public resolver so if I click on the pencil tool it will come up with a nice input box to type any resolver you like but we're just going to click on use public resolver which will pre-populate this with the public resolver so I'm gonna click save and run meta mask and we cheat a little bit here we're on a private network so this is gonna confirm immediately and it's going to yeah I really wish your theorem was that fast but uh just for the demo today we're gonna use a private network that's the resolver set up that means we're now to add up we are able to add our own record types we've got this nice little plus here to add our own record taking the plus we can see a drop down menu that will allow us to choose a record currently we only have each rest and content but in the future we'd like to add new add the rest of the record types that the public resolved supports so we're going to click address here and we're going to copy the owner address which is our own address so we want to point true names of each to our own ether dress so I'm gonna click Save again and confirm and that's gonna confirm instantly again and now we've set up our name so that's actually it that some how you would set up your earnest name once you bought it you set up the resolver you set up the address and now any ENS any yes enabled app will be able to resolve true names or ease to 0x9 of' etc so that's the basics now I'm gonna show you how to set up subdomains so subdomains are an advanced feature that allows you to set up more ENS names under your route name so if I click on the subdomains tab on this side it's going to show us what start domains we have available we don't have any subdomain in this right now so I'm gonna set one up so if I click on the button here you can add any kind of label for your subdomain so we're just gonna create a tip jar for true name store east so any of you kind folks we want to donate so often a foundation can do so so I'm gonna save that meta Moss again superfast etherium we're in subdomain created and I'm gonna click on this now to go into our tip jar true names eath so as you can see here the tip jar subdomain is just like any other in its name it has all the functionality of true name story--the and has the owner it has the resolver and it also has all the record fields available to it so I could do the same thing as we did before I could set up the puppet resolver save that confirm it etc and that's all set up nice and quickly the other thing we can do is change the owner so your subdomains don't have to be the same owner as the root domain and so we can actually transfer this to say a family member or maybe for us maybe like a multi-sig wallet for the true names don't eat foundation so I'm going to show you that now I'm just gonna copy a address I saved earlier might be my own address and paste that in there click transfer confirm that transaction as you can see and that changes the owner address the one I just pasted so that's pretty much it for the basics of the enos manager we also have added in some new functionality for favoriting so if I click on this heart button that will fill it up and I can go to the favourites panel and that shows you we've got favoriting abilities to save the local storage your domain so this makes it easier for you if you've earned quite a few domains to to manage them all separately and I can get rid of that heart and it will get rid of my favorite so that's all the functionality for the new in a snap there's a lot of things that we want to add to this let me go back to the presentation so present so in the future we want to add things like reverse record support which will bring up up to feature parity for the old manager we want to be able to like Nick said same DNS names via DNS SEC have that integrated into the DAP auctions for short names three to six characters Department of registrar support so the instant by ian is now which has already hosted an outtie nest of the mains but we want to integrate it with the original app and also advanced features like name and resolver history and I'm going to hand it back to Nick to finish off the rest of the presentation so finally to wrap up what's next for us obviously we need our top priority we want to finish permanent registrar design and implementation our goal is still to get this rolled out in May next year so everyone can transition to a more permanent model for registration and so that we can ease the registration process for new users we want to of course deploy this and migrate everyone over we're completing work on the new management at face that Jeff just showed us and of course this is the ongoing outreach our biggest ongoing task is always going to be making sure that Ian's asus is widely deployed as possible it's as useful as possible and convincing as many of you fine folks as possible to integrate it into your apps so that's it for today thank you very much [Applause] you
Automatic transcript — names and jargon may be misspelled.