J1 RF 05 Nick Johnson an update from ENS
Ethereum Paris·Tue, Oct 9, 2018, 12:00 AM
Transcript
hello test ha good afternoon I hope everyone had a good lunch my name is Nick Johnson I'm a developer for the etherium foundation on the go aetherium team but primarily I spend most of my time lately on ENS the etherium name service for which I'm the team lead I'm here today to give you a quick update on ENS progress since last I spoke at DEFCON 3 and announced a few new things with how we getting on so this is not working right so client adoption of ENS continues to grow in leaps and bounds where we're continually having to shrink the size the icons to fit more in which is always a good sign we've now got adoption across a wide variety of wallets of both mobile and desktop as well as an increasing number of apps such as warm and named desire litter using it we're working with others who are yet to launch an optimistic that we'll be able to grow this list a lot in the future our goal as the ENS team is to make eagerness so ubiquitous that nobody needs to manually type in an address unless their developer just like nobody types and an IP address at least through a developer into their web browser nobody should have to deal with blockchain addresses day to day and so pretty much everything we're doing here has the goal of making that easier and more straightforward so what's new with you nice three main things today ian is limited ian is working groups and instant registration of subdomains and I'm gonna go into each of those in a lot more detail so first of all I announced at DEFCON 3 that would be we would be forming a separate organization for ENS to help for DNS as goals to pay for development and to run a sort of a standards organization to standardize E&S and protocols based on it and ensure wide adoption so after much delay we're pretty pleased to announce that we're finally actually forming the ENS organization it will be a not-for-profit headquarters in Singapore it's it will direct and fund research and development as a nonprofit entity and it's separate and distinct from the etherion foundation they have generously agreed to fund us for at least our first year which will allow us to hire a couple of couple extra developers and other experts and get things really moving but we will be a separate and independent organization next the other main thing we've been working on the meantime is launching working groups for ENS the goal here is to make it easy for everyone yourselves included to participate in the standardization process to improve ENS to build new protocols on top of it and to make it more usable for people so we have just launched the ENS working groups you can access them now at discuss any stock domains we have working groups and discussion groups on building the permanent registrar which is our number one priority building the replacement for the current interim registrar which we hope to have really approximately a year from now DNS integration so making it easier for you to register unis names that match up to a DNS name you hold or hosting your DNS name based offer unis both of which are underway as separate efforts dispute resolution which I'll go into more detail in a minute about ways to resolve issues where one person registers a name and somebody else believes they have a claim on it or situations where a name is registered but is used by spammers or fissures or used for other forms of attack usability the number one thing that's going to improve adoption of ENS in the space is making it easily usable and transparent to users ecosystem and adoption so building out more clients more depth support everywhere and finally depths directly related to ENS such as the Registration Act the manager app and so on and so forth so if you have any interest in this at all particularly any interest in in the working groups where we can standardize things and help build them out I'd strongly encourage you to go along sign there pitchin it's a bit bare bones at the moment because we've just launched it but expect a lot of activity over the coming days and weeks so to go over briefly a few of the challenges we have first up dispute resolution the the idea is that the base aeneas system and the DA teeth registrar does not have a built-in dispute resolution system once you've registered a name it's yours as long as you follow the rules and those rules don't include a system for arbitration or for removing your name from you and the outcome of the first DNS workshop last August and in London was that we should initially start working on this issue as a second layer problem so we don't want to modify the bassy in its system instead we want to provide a way for people to build their own dispute systems on top of that much like the way spam lists work with email the goal here is that the I seem to have lost some labels or at least they're very hard to see the leftmost box is the user the middle box is the dispute resolution the blacklist and the right noise box is eNOS itself so in this example we want to resolve food X Y Z the user sends a query to the blacklist and says give me food X Y Zed the blacklist says I don't have that in my blacklist I'll Ford the request on to the regular NS registrar and return what's the result in the case where you try and resolve something that is on the blacklist say bad dot X Y Z again you send it to the blacklist but this time the blacklist finds it in its lookup tables is that no that's a phishing domain we don't want you going where and returns an empty address and stared which the client can interpret as being blacklisted or non-existent and so the idea here is that everyone can establish their own dispute resolution system if they wish they can set their own rules for inclusion and everyone who wants to use Enes can choose whether or not to opt into this or any other blacklisting system we already have some work underway on this on the the enos domains github project and we're hoping to really sort of start to standardize this with feed the working next up the design of the permanent registrar we launched the original interim registrar using a deposit an auction scheme the idea there is that you bid on the name you want the person who bids the most gets the name they pay the amount of the second highest bidder so the Vickery option and then the money they paid rather than being spent or burned is deposited into a contract for sort of safekeeping and it stays there for as long as they retain the domain if they decide they don't want the domain anymore they can give it up and they ricchan recover their deposit this works reasonably well as a way of applying an economic cost but one thing that we underappreciated at the time is that the cost of capital for someone varies depending on who they are if we look at these three different classes of user here we have the regular user who wants to buy any a nice domain and use it more or less forever they win the win the option for say one ether that means they pay one ether and that ether is going to be locked up in the deposit forever because they want to keep the domain forever on the other hand we have an investor they're buying a bunch of domains with the intention of selling them on to people later and in that case they really only have the cost of what else they could have done with their money you know they could have invested it in the stock market or savings account or any number of other things so the cost to them is a yearly cost and it takes a long time for them to basically call it a loss and write it off and then on the third the third class of user you have a speculator who has ether already all there if that would have been doing was sitting in an account they go well why not I may as well throw some of it at something in East domains and the cost of them for holding onto it is effectively zero they they're not losing anything by doing so and this asymmetry makes it easier than it should have been to sort of pollute the namespace by buying up speculatively lost domains to resell them and proportionally more expensive for legitimate users so the solution we have is to switch to a rent model auctions are still still likely to be used for initial allocation of names but in order to retain a name you will have to pay to the system some fixed rent it will be the same regardless of whether your name is obscure dock eath or you know top e and s domain teeth but it will be a fixed fee that ensures that some small cost has applied which discourages people from buying and squatting on a vast number of names they're never going to use so one of the main questions is how do you set this rent because ether price as you all know fluctuates wildly with with external constraints we can't simply set the prices of domain as 0.1 e through a year because you know give it a little while then it'll be either a vast amount of money or not much at all so what we're proposing and it as a work in progress but the initial proposal is a feedback system and the way this works is the system itself measures how many domains are being deregistered and the intuition here is that the goal of the system this rent system is to encourage the D registration of domains that aren't being used so that they return to the system so we measure the D registration rate which is the blue here where say we're targeting 2% a year and the feedback system is built that anytime the D registration rate increases it decreases the cost of registration and vice-versa anytime it decreases it increases the cost and this forms a feedback loop that encourages a reasonable level of cost and that if it was too high fewer people would register names and if it was too low more people would be inclined to as I say this is a work in progress there are some interesting issues with gain ability of the system and again this is another excellent reason if you have better ideas on how to build an economically stable system around this then we would welcome your input the other main improvement we're anticipating is for the permanent registrar design and that is rolling options presently in order to buy a domain you first have to start an option and then bid on an auction and then in the reveal period reveal your bird so that's three separate actions and then I've finalized at the end to actually take control of your name one of the weaknesses of this is that you have to reveal the hash of your name in order to start the auction and although it's hashed in many cases the names are fairly predictable and also there are people out there who will speculatively bid against you just in case you know they think that they can make some profit of it instead we're proposing to move to a system called rolling auctions and the idea here is that every two days a new auction window starts and oh dear something's gone horribly wrong with these slides in Safari the so at the beginning of the the period we open an option that lasts say two days and in that period anyone can bid on any name whatsoever they don't have to open the option first after the two days are over anyone who bid in the previous two days can now reveal in the following two days and then at the end of that period if any bids were revealed for a name then the auction is settled between those birds and who the bid wins if somebody started bidding on in the second period and there were also bids in the first period and they would simply get their funds refunded so the way this works is effectively you can start an auction on a name any time you want without having to announce what you're bidding on which makes it almost impossible for anyone to determine what options are going on at the time and sniper and the final thing that I want to go over is DNS integration so I mentioned previously one of the working groups will focus on the integration with DNS there's sort of two directions this can go and one is hosting DNS domains on Airness and we're speaking to internet registrar's and others who are interested in doing this but the one that is more quarter a aeneas is the idea of being able to take ownership of your DNS name inside a aeneas meaning that you can have my name calm as a valid e and s address that resolves to an aetherium account address or a contract just like any other and the way we're doing this is with DNS SEC which is the secure layer on top of DNS first of all if the way DNS set works is every record set can be signed by a key and those keys are attested to by the parent domain so in this case I have we have the root domain and all we know to start is what the hash of the keys for the root domain is and then from that we can fetch the keys for the root domain and then from that we can hit we can ask it what is the hash of the keys for expose it and then from that we can fetch and verify the keys for expose it and the process repeats on down so we fetch deathly expose heed we know it's hash then we know the key then finally we can fetch a DNS record and verify that that record is correct and all of this can be done on chain from inside a smart contract it's already deployed on Rob stone you can test it out now so any DNS second Adel domain you can prove the existence of Ian any DNS record ants complete contents so using the system it makes it possible for us to prove the ownership of a DNS domain and therefore claimers inside DNS so again we've lost some labels on the left here is the user and the second box is the Oracle first of all the user submits proof to the Oracle proving that particular DNS SEC records have a particular value the Oracle verifies the signatures and accepts them secondly the user submits a claim to the registrar that is in charge of dealing with DNS domains and it says I own this domain dot X Y Z say F lab dot X Y Zed the Registrar then queries the Oracle and says please give me the text record for beef lab expose it which returns it and it verifies that the address that's embedded in that record matches the address that you actually submitted this query with and finally if it's correct it goes off and it tells the ens registry yes this person should own this domain transfer ownership of it to the original user account so with this any domain that supports DNS SEC and the algorithms we support can be used on aetherium in earnest presently on Roxton we've rolled out support for it with dot X Y Zed and at present approximately two-thirds to three-quarters of all DNS top-level domains support the combination of algorithms we need in order to do this so shortly after we deploy this on main net we anticipate roll this out to vast number of domains and most DNS domains including all the popular ones die like ComNet etc will be usable in say DNS and this is awkward sorry I've never tried these slides in safari before so you'll have to bear with me for just a second yep it doesn't help that it's French people with either and and it also doesn't help they can't even see the interest so this was announced at DEFCON 3 but I'm pleased to say that it's now finally available and fully functional on main yet this is called ENS now the goal here is to make it easier for anyone who wants to name their wallet to get a nice name instantly without going through a link the option process without having to know really anything about the system at all so the user interface is about as simple as it gets we interest [Music] name in here we'll say if CC will give it a second and it looks up all of the available second-level domains that are in the system currently that's give me the Ethan want some death you pick the one you prefer I'm gonna say I prefer each CC dot once somebody 'the we can see that the owner of want some death once charge point 0 0 5 ether that's about 4 bucks at the moment I'm happy with that I click no blast and again I'm I'm hit by the fact that I'm using not my own browser if any case if this was working because you had met American stalled you would click there it would pop up a meter mask transaction window you don't need to enter any manual date or anything you just click approve to sign pops up a dialog as soon as the transactions mind you now own it CC dot once somebody's and what's more that address has automatically been pointed at your wallet the one that sent the transaction so now you can already go to other people and tell them that's your wallet address was just a single interaction with chain I'd encourage you to try it out now if you have some interesting second-level domains that you think people might want subdomains of please come see me after and we'll arrange to add them but other than that that's all I have for you today so thank you very much I think I have about two minutes for questions if anyone has any yes one second yes thank you for your presentation I was wondering with the main app integration of DNS names are you afraid of any like any of forms of attacks or anything like that so I guess it depends on the attack you're thinking of I I'm confident in the security of the ena system to it because of its hierarchical nature the worst that can happen is is signatures under the given domain can like I can't break out of the air sort of sandbox there are of course a number of possible attacks such as somebody obtains the private key for dot XYZ and then signs a whole lot of invalid records those same attacks already exists with DNS so effectively the security of a DNS important name is no higher than the security of that name itself and that's one reason that people may want to continue using dthe despite having a profusion of other names available is there's a different trust model and it relies on on different sort of antecedents another potential attack model of course is the sainte-chapelle where you know some some organization with sufficient power orders your domain offline and the registrar on the internet follows and then somebody can then prove that your domain no longer exists which means it gets deleted for me and s so another reason to use da teeth if you believe you might be subject to that in terms of the the security of the actual on chain components one of the reasons we have an orchard on main it yet is because we want to get really secure sorry really thorough security audits before we go live on may need time for one other question maybe we don't have any thank you so I have some questions about the auction process in the for buying name services so I am bit confused about the bidding process so when you bid on an on a domain name what what is hidden at that point is it the name that you build on or the amount of ether that you that you want to bid with on that name service and also for the reveal I wanted to know like why if you forget to reveal you lose it a bit do you lose your ether or you only use the bid that you don't have the name of anymore and what I wanted to say also and why do you pay the second highest bid bid not the highest bid yep thank you so when you place a bid the only information it's available to somebody outside is that you placed a bid and the amount of ether you sent in the transaction and the way it's constructed you can send along more ether than you actually bid just to disguise the true amount which means you could be point one that seemed a long T and ether and the sphere effectively disguised the true not true size of your bid obviously that's not perfect protection but it's the best we can get short of ZK snacks unfortunately with the current auction system before you can bid you have to open an auction and that provides a window where people can associate the open transaction with the bid transaction and decide that's probably what you're bidding on and knowing what you're bidding on and what the most your bid could be gives them quite a lot of information as to yours I'm gonna go for your third question first why you have to why you lose your bid if you don't reveal maybe that was your second question the the reason for this is that if you don't there is an extortion attack possible suppose I want to be particularly nasty to you I know you're going to be buying some great names eath and I know you're prepared to pay quite a lot of money but there's maybe not much competition for it what I can do is I can place bids at teeny third 20th or 30th or 40th or 50 ether and then once you've revealed your bid I can go to maybe your bid is 45 I can go to you and say you know be really bad if someone revealed a bid for 40 ether wouldn't that be terrible you'd like have to lock up all this money if you give me five ether I won't reveal my bed and so by disqualifying and effectively deleting bids that weren't revealed we prevent that attack because you would be guaranteed to lose everybody you didn't reveal and sorry and your other question was why do you only pay the second most the best summary of that is that this is a Vickrey auction and if you look it up on Wikipedia there's a good description of the game theoretical mechanics but the short version is that by only bidding the amount about by only paying the second highest bid the rational way to bid is to bid the maximum that's possibly worth to you because you do so knowing that you'll only have to pay as much as the most it's worth to someone else whereas if you paid the amount of your bid you would be instead being a guessing game we are trying to bid just a smidgen above the next highest bidder which makes for a much less efficient system and that's all we have time for so thank you very much [Applause]
Automatic transcript — names and jargon may be misspelled.