Towards a Permanent ENS Registrar
Devcon·Tue, Oct 9, 2018, 12:00 AM
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/3/towards-a-permanent-ens-registrar Nick Johnson gives their talk titled, "Towards a Permanent ENS Registrar" Speaker(s): Nick Johnson Skill level: Intermediate Track: Developer Infrastructure 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 3 was held in Cancún, Mexico on Nov 1 - 4, 2017 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
[Music] so good evening so I'm Johnson lead developer for earnest and I'm here to tell you about what we've done in the last year and what our plans are for the next year so ENS launched on the public main network on May the fourth as in may the fourth be with you it had an eight week soft launch period during which we gradually released names for availability in a randomized process over that eight week period and like there we go over the eight week period 180,000 names were auctioned as you can see after an initial sort of gold rush spike that was a fairly consistent rate over the whole period and to buy those 180,000 names roughly a hundred and seventy thousand ether was deposited into a smart contract users who purchased names have their atha hold held for at least a year or until they release the name as you can see from the graph here the contributions the the amount that was being deposited on names reduced fairly sharply at the end of the eight-week launch period which is a fairly good indication that most of the contentious names were bought during that period so it's interesting to look at how much people paid on average for an ENS name or rather how much they deposited and what proportion of names were contentious had more than one bid so if we divide names up into names that were in a shortlist that we have of common domain names and dictionary words and those that aren't about 35 percent of those that were in the dictionary work intended had more than one bid compared to only about 7.2 percent of names that weren't on the list as you can see again for the names that were in the list after a short sort of gold rush period there was a gradual decrease some contention rate while names that weren't on the list the line on the bottom there were fairly consistent in terms of how often they were competed for so again splitting up by whether the name was known or not the average price paid for an NS name in the list was about 0.05 ether and the price for a name not in the list was only 0.02 and as you can see on the right side there when the soft launch period came to an end the both of those bottled out to very low contingent rates and very low median prices indicating that most people that wanted to compete for a name got up during the launch period so one of the main concerns about the auction process was the potential for people to lose their bids by failing to reveal during the correct period and that was something we can consume we shared in the design of the registrar as you can see here from an initial reasonably high rate of loss for deposits that rapidly decreased and we had an average of is only 0.3 percent we're satisfied that the rate is is quite low but we're not sort of resting on our laurels we want to continue to improve the auction process make it easier for people to interact with and less likely that they will lose funds or harder to make mistakes as we'll see soon it's also interesting to look at the ownership distribution of names because this gives us an indication of how many names were bought with active use in mind as opposed to how many were bought with the intention of hoarding them so roughly 8500 people bought names during the launch period of those about a hundred and twenty three of them 1.
4 percent of the total registrants own half the registered names and in order to buy those half the registered names they paid only about twenty percent of the total registration fees or about thirty four thousand ether and from the histogram here you can see that the vast majority of accounts over five thousand of them own no more than five names with a long tail distribution continuing off all the way to the largest ENS named whale here at 17,500 and seven names client adoption since the launch has been excellent we have support in meta masks my ether wallet ether scan a variety of other clients and mobile wallets and one of our main efforts for the ongoing ENS effort will be to increase client adoption particularly with exchanges you might notice we only have one pioneering exchange in this list and we really want to improve that in August 2017 we had the first ENS workshop this was a gathering of people interested in advancing the state-of-the-art with the aeneas building out new infrastructure and deciding what the permanent register I'd look like we had 27 participants and we discussed over three days a number of issues including dispute resolution design of a permanent registrar how to secure subdomains and DNS integration and I'll go briefly over what we determined in the workshop and how we've progressed things since then so the first topic that we discussed quite extensively was dispute resolution E&S with the interim registrar on death has no built-in dispute resolution mechanism and this was a deliberate choice because we wanted to build the simplest possible registrar to get things started and then learn from the experience in order to build a better permanent registrar the consensus decision at the workshop was that the dispute resolution should initially be built as a sort of a second layer so we would have opted in black lists they would follow their own processes whatever they see fit for black listing domains and users and wallets could then voluntarily subscribe to a blacklist that met their requirements or none at all if they prefer so for instance here we have an example black lists in the middle the user doing the resolution on the left and ENS on the right the user wants to resolve Saifu dot XYZ in this case the domain isn't in the black list so the blacklist simply passes the request onto Egon es which response as normal if the user then wants to resolve a domain that is in the blacklist like bad dot X Y Z the blacklist detects this and returns a null result ensuring that phishing and spam domains and scanners don't get resolved and sorry I should add the goal in the long run is to build experience with operating Lee's blacklist registrar's as a second layer and then evaluate further later whether they should be integrated into the base layer or whether it should continue to be a separate opt-in solution the second major topic of discussion was design of the permanent NS registrar and one of the unanticipated consequences of the deposit based model for DNS is that different participants in the market have very different costs of capital on the left here we have the user who is registering a domain with the intention of using it directly and to them the cost of putting down a deposit was effectively the whole cost of the deposit because they intend to retain a name indefinitely they can't count on relinquishing the name and getting those funds back on the other hand you have the investor who is looking for some way to invest their ether and the cost of them is effectively the opportunity cost of not being able to use it for other things and finally you have the speculator who would be holding ether regardless and they see pianist names as an almost risk-free way to hold Barrett ether and so our conclusion from the workshop is that we should transition to a rent based model and in the rent based model every name has an annual fee which is assessed sort of continuously and as a result everyone has effectively the same cost for holding a domain it's also important to note that the plan is that all domains would have the same ongoing rent this wouldn't depend on how much you paid for the domain as option because we have no desire to penalize people merely for being popular the next logical question is how you determine the rent an ultimately unsatisfying option is to simply have somebody sit by Fiat as it were and revise it from times but we think we have a more elegant approach and this was suggested by Vlad Cynthia at the workshop the insight is that the goal of having rent is to encourage deregistration of unpopular names or unused names that aren't wanted and so we can monitor the D registration rate which is the blue line there and set a target D registration rate the contract can monitor how many names are being deregistered and then it can adjust the rent price to attempt to maintain a fixed rate so in this example here some external event perhaps an increase in the price of ether results in a spike in the D registration rate and the Registrar responds by decreasing the rent until it reaches a stable level again and you can see here another event perhaps increasing popularity and ENS results in a decrease in the D registration rate and the Registrar responds by again increasing the price until it's stable the next issue that we addressed and this has actually come up largely subsequent to the workshop and as a result of discussions in our internal gears or channels was ways to simplify the option mechanism although it's generally behaved quite well there is some inevitable information leakage in that you have to start an auction on a name in order to bid on it and that provides some information to people on what names you're likely to be bidding on and what names are up for auction in general and this can be disguised by opening sort of chaff options alongside the real ones but this disguise isn't perfect so our proposal for the permanent registrar is to switch to a rolling option mechanism the way this works is auction period start every 48 hours in this example and you have a 48-hour bid period during which anybody can bid on any unknown name and that's immediately followed by a 48-hour reveal period during which anyone who bids needs to reveal the name simultaneous with the start of the first reveal period a second bid period starts and again any unregistered name can be bid on if somebody bid on a name in phase one and then another person bids on the name in phase two then when the name is revealed they simply get a full refund the result of this is that there's no information leaked as to what names are being optioned which means that people have to bid the legitimate value of the names they want rather than sort of sniping and griefing the system and this continues on an ongoing basis with bid periods automatically starting it also simplifies the system it reduces the number of interactions you need to engage with the system by one so the next feature I'd like to announce this as you can see is a perfectly ordinary my ether wallet instance this is on the Internet publicans you can see it's connected to Roxton and I as you know my ether wallet has had support for DNS names since day one what it hasn't had is the support to resolve these names last and that's the problem with doing a presentation on screen if this was working and I'm going to blame the internet connection what you would have seen there we go it's correctly resolving an earnest address for an XYZ domain and to figure out why this how this works we need to take a bit of a diversion and talk about DNS SEC DNS SEC establishes a chain of trust from the root key which is signed by ICANN and down through each key so we start off knowing only the hash of the root key of D NS and this is coded into a smart contract Oracle given that given the hash of that key we can pass in the actual key we can verify that it matches the hash and we can add it to our set of trusted records and given that key we can now verify any record that is signed with that key so in this case it's the hash of the root key for the XYZ top-level domain and given that then we can recognize the key and so on and so forth so next we can recognize the key for F lab dot X Y Zed given that we can recognize sorry the hash for the key and then the key itself and finally we can validate a signed text record containing an aetherium address so this is how the overall system works given that chain of trust established previously users can submit proofs to a DNS SEC Oracle on the chain and the proof is exactly what we saw earlier for any records that it doesn't know about it contains the record and it contains the signature verifying its accuracy once they've done that the user can call the Registrar the new DNS SEC registrar which has a claim function the Registrar then queries the Oracle and says is there a text record for the name they're trying to claim and it responds with any text records and the Registrar passes those text records through to many in e NS addresses if it finds one sry aetherium addresses if it finds one it checks it against the caller checks that the person who's calling the Registrar is and fax the address specified and if they are then it calls a genious and sets the record in ENS and this is now fully functional on the robson test network you can register any DNS domain thank you so initially for testing purposes we're starting only with the dot X Y Zed top-level domain and we're grateful to them to cooperating with us on this but in principle this can be expanded to any DNS SEC domain that supports SiC Peter sorry RSA and char 256 so well will initially start off with this and migrate to main it initially with it we want to expand it out to support all of those domains so that means not just X Y Zed but also all of these domains and all of these domains and these domains and these domains and these domains and these domains and these domains and it ends at some point there we go and all of those in total about three-quarters of Internet TLDs currently support the algorithms we need and if we integrate sha-1 support that rises to about 96% so the next thing I'd like to show off is something that aims to improve the usability of ESP and users one of the major barriers to adoption has been that for somebody to simply name their wallet requires a multi-step process involving an auction process and it's always been our vision that most users don't buy top-level domains in the same way that most users signup to Gmail rather than buying their own vanity domain and E&S now is our attempt at making this easier for users and it makes the process of registering a subdomain extremely easy that didn't go quite it's supposed to so in this case I'll search for Vitalik for instance if I can spell his name which apparently I can't and we see that we have different top with our second-level domains gimme thee and want some once some is already taken so I'll click on gimme thee pops up a meta mouse confirmation window grossly enlarged here thanks to a full screen as you can see it's going to cost us about two dollars eighty four point zero one ether takes a bit of gas click Submit as soon as that's mind which is instantaneous in this case the name is registered and it's pointed at your wallet that's one step and about thirty Seconds to register in aeneas domain for any wallet [Music] so before I go one more thing and I'm going to pause to see if anybody gets the pom maybe not I'm pleased to announce that we're going to be forming the ENS foundation an independent legal organization whose goal will be thank you will be to Ford the goals of ENS to help promote its adoption and to help standardize things it will be a not-for-profit organization and in the pattern of the w3c Orianna in sorry the IETF intended to help promote E&S adoption and no there will not be any form of ACO finally I'd like to close by thanking everyone who made this possible particularly all the attendees at the ENS workshop alex van der sent who couldn't be here because he's having a baby Leonard tan Arrhenius volunteer who recently presented some of this material to I can including the ICANN Technical Working Group and the board and I honestly do not know how to pronounce his name Ollie ollie who inspired the rolling auction system by coming into the getter channel and complaining about how bad the existing system was easy DNS for their support with DNS SEC integration and Meno from ENS listing for feedback on ENS now and that's all I have for you thank you very much [Applause] [Music]
Automatic transcript — names and jargon may be misspelled.