 Hello, how is everyone? I'm Nick Johnson founder of ENS and lead developer And I'm here to give you an update on what's happened with ENS in the last three years Which is give or take three hundred years in crypto Before I actually start Can anyone who's got an ENS card hold it up above their head? Wonderful probably about half of you. I'm so delighted with the hell everyone's been doing with this If the person next to you held a card up Have a word with them say hi Tap your phone to their card and you'll get a poet that proves that you visit other you met them at DevCon We still have a few of these cards left at our booth on level three So after the event come down. We'll print one for you with your ENS name and your ENS avatar on it We expect we'll run out sometime this evening. So I'm sorry if we don't get to everyone But this is a great opportunity to meet the person next to you and have cryptographic proof of that afterwards So first off the agenda I'm going to recap everything we've done in the last three years and then go on to talk about What we're working on now and what we're working on next First of all in the next category Thorin which is ENS's new look and design system and new app Second of all talking about scaling ENS with off-chain reads and writes Next the name wrapper which you may have heard about as a way to improve the functionality of ENS names and the ability to issue trustless sub-domains Finally zero gas DNS integration how we can use these other components we've built to make ENS integration possible for DNS names without any gas fees and then the conclusion First of all the recap it's been a long long time since I've been at a conference since I've talked on a stage in front of a lot of people Since I've given anyone an update on ENS Last time I spoke was at last DevCon October 2019. We're just transitioned from the interim auction registrar to the permanent registrar Featuring its current renewal model and That was a mere five months ago and while it was doing well at the time We had very little idea of the phenomenon ENS was going to be coming in the next Few years. We had about 50 integrations with various wallets including MetaMask applications such as Etherscan and so forth. That's changed a bit in the last three years Our set of integrations now looks more like this So as you can see we've come a long way from under 50 integrations to over 500 We had about 300,000 registrations back in the day. That's now over two and a half million We had about 96,000 Ethereum addresses that had interacted with ENS in some way. That's now over a million addresses 66,700 years of registration had been purchased. That's now over six and a half million If you strung them all end-to-end figuratively And the nascent ENS treasury had a stunning 382 Ethernet at the time. That's now 38,000 Ether And I'll talk soon about the Dow and how it's able to put that to use Of course, it's not all about the numbers ENS has accomplished a lot on both technical and governance fronts in the past three years Some of it will seem like old news, but it's been a long time At DevCon 5 we had limited DNS integration with only the dot XYZ TLD supported You could take an ENS, sorry, dot EXYZ name You could import it into ENS and use it just like you would any dot ETH name Since then this has been expanded to nearly every top level domain That supports DNSSEC, so that's nearly 90% of all top level domains Nearly any name can now be imported into ENS and used as a native name Just ask our developer advocate Luke.computer. It's printed on his badge, I believe There are transaction fees associated with importing any of these names And at times when gas prices have been very high and the ether price has been very high It's been quite pricey, but we've got a plan to improve that massively, which I'll talk about shortly Another major improvement has been ENS's transition away from being just a way to name wallets and decentralised content To being a Web3 native identity platform With the introduction of avatar records and text fields that provide information about your profiles Such as your Twitter handle, your email address Your ENS name now represents you as your Web3 identity It's a universal portable identity And one project that's been bringing that to more users is Sign In with Ethereum It started out as an RFP issued by ENS and it was funded by a joint grant from ENS and the Ethereum Foundation Spruce won the bid for that and has done an outstanding job of growing it into the primary way that people authenticate with Ethereum replacing a plethora of incompatible and different standards for signing messages to assert your identity With a symbol system that can be, thank you, that can be Easily plugged into existing systems including Web2 legacy systems But of course when I talk about the last three years and particularly the last year Top of most people's minds will be the launch of the ENS DAO Which is now one of the largest and most active DAOs in Web3 Which I am absolutely both blown away about ENS has always aimed for gradual decentralisation Starting with the minimum set of permissions held by the widest number of people we could Which was the original four of seven multi-sig Unlike most multi-sigs it included participants from around the ecosystem not team members And they had limited powers to upgrade ENS to replace components Our goal was always to move from that to a system where ENS was governed by a decentralized organisation Since we launched all the way back in 2017 The only example we had to go on was the DAO Which needless to say was not a stunning success that inspired us to immediately decentralise But things changed a lot and the DAO space is now a lot more mature than it was in the past And we decided that the time had come that things were mature enough that we could Let the ENS community govern ENS And the DAO is the major milestone along that path of gradual decentralisation The DAO is now responsible for almost all governance levers and controls available to ENS Including approving contract upgrades, changes to core parameters such as pricing and how expired names are used It's also responsible for treasury grants and projects using the funding gathered from the protocol In the year since the DAO's launch The ENS DAO has shown that it can maintain a high level of civilised discussion Made useful progress forward in improving the protocol Besides budgeting and day-to-day bookkeeping, it's made meaningful changes to the protocol Including changing how expired names are handled in order to safeguard the stability and fairness of the system The DAO has also started to build out public goods and grants programmes of its own One example of this is the small grants rounds that we now run Inspired by nouns props room This is a regular system where anyone can submit a proposal for work they want to do or work they have done Anyone with ENS tokens from the DAO can vote on them And the top five in each category, we have a public goods category and an ecosystem category Then receive one each in funding to pursue it The public goods is focused on anything in the wider ENS ecosystem And the ecosystem category is focused more on things that relate directly to ENS And we hope this can work to better incubate and start up new projects Both for ENS and for the wider public goods on Ethereum and Web3 ecosystem Working groups have also funded initiatives on scales small to large Ranging from a 200,000 K, sorry, 200 K ENS token grant to the protocol guild Who have formed to help fund core developers throughout the platform 169 K GITCOIN matching pool and we continue to fund and support GITCOIN And smaller projects such as this plugin for discourse forums Which provides you with insight into the roles of delegates and their participation on the forum Which is something that any DAO that uses discourse can take and plug into their own system This was built by Karma and integrates with all their stuff You can also just use it to provide insight into how your delegates have voted How active they are, how many tokens they have and so forth The DAO has also resulted in more community participation in the core protocol One major success story is Rafi's work on improving ENS's normalisation functions Normalisation is how we handle names like uppercase knack, being different from lowercase knack Ambiguous emojis, hidden characters and so forth To start, we used a well-tested system called UTS46, which is what the domain world uses But it's become clear over time that ENS has some unique requirements And we wanted to enable things such as emoji and other characters that are popular in the community But not supported directly by DNS So Rafi has been working on harmonising all of this We're very close to rolling out the new standard for DAO approval And it will enable a much wider array of characters, while also providing more protections against deceptive names The last three years has also seen an explosion in community-led ENS initiatives Independent projects that build on top of the ENS ecosystem One popular example you may have seen is the ENS leaderboard Which shows people with Twitter handles that contain .eath and their ranking relative to followers We've had some pretty popular ones, including Paris Elton, for instance, right up the top of the leaderboard I myself am now ranked, I don't know, number 400 or something We've had the launch of ENS Vision, which is a third-party ENS trading market Allows people to now register names from scratch and also trade existing names And projects such as NEMI, which is a web3 profile Site, it lets you generate a customised profile and in fact the eth.limmo gateway folks have integrated with NEMI So if you have an ENS name that doesn't have content set up It will automatically show your profile with your PoEPS and so forth and you can customise it as you wish Before we start talking about what's new, one small announcement TrueNamesLimited is the name of the development company that builds ENS The company I founded that gets paid by the DAO employees about a dozen of us to build out ENS When we formed it, we didn't really think of it as a name that would be visible to people It was purely an internal thing, but in the intervening time it's become more and more visible And every time we have to say we're from TrueNamesLimited, the company that develops ENS and it gets a bit tiresome So we're renaming to ENS Labs Limited to better reflect what we do and who we are So what's next? First we're going to talk about Thorin Thorin is ENS's new design system and it's built from the ground up with usability and Web3 in mind We've used it to completely rewrite the ENS app from the ground up Coupled with improvements to the smart contracts behind ENS This enables a huge improvement in usability for ENS users The ENS UI faces kind of a unique challenge from amongst Web3 apps and in fact kind of apps in general In that it needs to provide an interface that is both easy and user-friendly for new users But has the advanced levers and sophisticated interaction required by advanced users We don't want to create a situation where the app is sufficiently flexible to do anything with ENS But deters existing users, which is a little bit the case of the current app Or is so straightforward and wizard-based that you need to go somewhere else if you do have more than basic needs By surfacing the important details and flows while still making advanced functionality available under the covers The front-end team have done an outstanding job of writing an app that is all for all users Aside from the functional improvements, we've hugely improved the loading times and made the new app 100% mobile-friendly The new app is at feature parity and live now on the girly testnet Would be live on Ropsten, but that's already been deprecated And you can try it out now at alpha.es domains Just to emphasise it's only on girly. It is a little bit You know sharp edges still the team really raced to get it out in time and did an amazing job Please send us your bug reports, but we aim to have this Launch on mainnet shortly after DevCon once the name wrapper and other contracts are approved by the DAO as I'll discuss shortly So keep your eyes peeled Thorin isn't just for E&S either We've made it available as a standard react library that anyone can use for their web3 apps You can check it out on thorin.es domains And you may have noticed it powering a number of our other sites such as the swag microsite and so forth One of our major ongoing projects is scaling E&S For many projects, this is accomplished by going multi-chain deploying to just multiple chains If you're Uniswap for instance, you fragment your liquidity a bit, but you can work in parallel across multiple chains E&S is in kind of a unique position here We need to maintain a single cohesive registry of names And it's far too early in the L2 and the roll-up ecosystem to pick a single service as the winner that we're going to migrate to Instead we've been pursuing options that make it possible for people to host their E&S names anywhere Without the resolving having to know or care where that is Earlier this year we launched CCIP Read as a collaboration between E&S and Chainlink While previous systems such as bridging often introduce new trust assumptions and require L1 transactions to execute CCIP Read uses a lower level primitive of proofs Which means that in many cases such as with L2s This can be done with no additional trust assumptions over those the L2 itself requires Meaning you could host your E&S name on optimism, have users resolve it from any client that doesn't know what optimism is Without introducing any additional trust that relies on the gateway operator for instance Further the solutions far more flexible than bridging Allowing data to be stored not just on L2s or side chains, but on arbitrary systems including centralized databases At its core E&S is a way for any contracts to fetch data from off-chain resources Because contracts can't directly talk HDB requests This ends up being a little bit like having one of those conversations With a couple who have had a fight and are refusing to talk to each other Well, you tell the gateway that I think that they should give you this data I need So the conversation tends to go like that Unfortunately, just ask them yourself isn't an option So the client has no choice but to play middleman the end result is good With the resolver and the gateway agreeing on a protocol It's possible for the client to facilitate a lookup of off-chain data Without any knowledge of what their shared languages or what the off-chain system in use is The necessary proofs to make this trustless are encapsulated in the response sent by the gateway And verified by the resolver before returning the result from the name resolution This means that implementing the base protocol is enough to enable all current and future L2s and off-chain storage Systems to be used in the ns name resolution For instance, ethers already supports this Which means that you can resolve any ns name that uses it Even if it uses an L2 that didn't exist when the ethers implementation was written CCIP readers already in use in production Both ethers and web3js Support it And so if you use either of those libraries or in fact as of I believe today Web3.py Upgrading to the latest version will mean you automatically support ENS off-chain resolution Some of the largest apps and wallets have already upgraded to support it too including meta base Metamask coinbase wallet as well as ethereum etherscan There's a long way to go in terms of making this latest change universal So please reach out to your favorite wallets and apps If you see that they don't support these new names and ask them to let them know how important it is Like our thorn CCIP read also isn't just for ens. It can be used to add off-chain resolution support to any project Coinbase has gone a step further than just integrating CCIP read for name resolution They're using CCIP read ens wildcard support and ens's dns integration Together to allow their wallet Their wallet users to create ens names under the dot cb dot id Domain for free These names will instantly work in any wallet or dApp that supports ens's new resolution improvements And they have no transaction fees to set up for either users or coinbase Likewise lens is using CCIP read to integrate their own dot lens naming system with ens Any dot lens name you can add dot x sorry dot xyz to the end And it will resolve in metamask or any other wallet that supports this So off-chain read support is great But how do we enable writes? The default option for every platform is to provide its own interface for users to update their records Meaning if you use coinbase wallet, you have to use coinbase to update your records If you use metamask, you'd have to update with metamask But this leads to fragmentation and makes general purpose apps like our own manager much less useful Fixing this is still a work in progress But eep5559 lays out a way forward by enabling a discovery mechanism that allows clients Such as our manager to discover how they can send a transaction or an htp request to update data that's stored off chain It's currently supports writing to evm based l2s or sidechains Or sending signed messages to an htp API, but this is extensible with new methods as they crop up Adding support for this to the enes manager and further standardizing the best practices and making it as as flexible and extensible as possible Is an active area of research and development for the team So next up the name wrapper, which you've probably heard about griping about on twitter because it's been underway for a while Enes predates all of the nft standards And while the dot eth registrar was written after eep721 came out That functionality only applies to dot eth second level domains. So nick dot eth, but not wallet dot nick dot eth or nick dot xyz or whatnot As a result, not only enes names can be transferred, exchanged, etc using standard nft interfaces Further one of the main advantages of tradability is trustless ownership If somebody sells you a name or a subdomain or gives it to you You want to make sure that they can't take it back next week and set it to a different address You're kind of reliant on their goodwill. There are solutions to work around this you can Give that ownership of the name to a contract and we've had a system for that called now dot enes dot domains for some time But it has significant shortcomings in that you're committing your name to a specific contract Where it has to live for the rest of time Which limits what you can do with it The name wrapper solves both these problems It allows any enes name at any level whether it's a dot eth or a subdomain or a dns name To be wrapped as an erc 1155 nft It also allows owners of wrapped names to revoke permissions such as the ability to replace or delete subdomains By mechanism we call fuses Fuses allow the owner of a name to revoke their own control and that of any subsequent owners Over certain functionality on a name such as the ability to unwrap it again To create or to replace subdomains To transfer it to another user and so forth Once the fuse is burned that fuse can't be reset until the name expires Giving a user's guarantee a guarantee as to what can be done to or with their names until the name Exploration is reached the name wrapper tracks these permissions and provides a very easy API for fetching the set of restrictions Currently applied to a name and when they'll expire Alongside the name wrapper, we've also implemented a suite of other contract improvements Including to the dot eth registrar controller The reverse registrar and the public resolver Altogether these will prevent a much smoother registration process for end users and cut down on the number of transactions and gas required As well as other quality of life improvements like allowing contract owners to set primary names for their contracts The long and short of this is that with the new dot eth registrar you will be able to Register a name wrap it in order to set permissions burn fuses And set your primary name all in a single transaction and using less gas than doing those operations would cost today All of these updates are live now on the girly test net And we're planning to submit them to the DAO for approval on main net very shortly after devcom Thank you Finally i'm going to talk about something else i'm excited we'll be able to release soon gasless dns integration Presently claiming a dns name and enus cost a substantial amount of gas It's about a hundred k to a million gas per signature. It has to verify Depending on the ether and gas price that can range anywhere from 20 bucks to at the extremes libel market a thousand dollars Obviously this isn't a particularly scalable solution And so this can be a substantial barrier to dns integration. Fortunately, we have a plan for reducing this all the way to zero So first a quick overview of how dns works It uses a chain of trust just like ssl The root zone is signed by a well known certificate authority and they sign keys for each of the subdomains such as dot com dot link etc Each of those zones uses its keys to sign this their subdomains and so on and so forth Our current dns integration uses this to allow users to claim dns names inside dns Our front end collects up all the complete set of proofs necessary and submits them to a smart contract Which verifies the signatures and if they match it lets them claim the name If you've been paying attention to the talk so far, this may sound quite familiar to you Similar to something else we've discussed ccip read if we treat the whole of enus as a massive off-chain distributed database We can have a gateway that fetches dns data Collects all the proofs necessary and submits it to the chain just like when you're resolving a name So then we can write a resolver for dns names that uses that gateway to resolve Names in enus entirely using data stored in dns users can set dns records to configure their name And they will resolve any of their enus is supported with zero on-chain transactions necessary Claiming on chain may still be useful in some cases. For example, if you need granular control over the subdomains But for most users, it'll be possible to claim your dns name just by setting some text records We're working on this right now The dns set oracle changes are done and we're working on implementing fixes from an audit before we roll it out We hope you have it ready to go before the end of the year There's been a lot more going on with enus, but compressing four years down into 25 minutes Naturally means I have to leave some things out Just one more thing the DAO is nearly a year old, but still in its infancy We have a lot of a lot to learn and a lot to do and we need your expertise Please take a look at our governance page Reach out to enus domains on twitter see how you can get involved and help us build a truly decentralized public good naming for web 3 And that's all I have for you. Thank you very much awesome Do we have any questions for nick? Please raise your hand. We'll get you a mic There's a lot of things that we talked about. We see a hand over there Keep your hands raised so we can find you and get the mic to you Hey, nick. Thanks a lot for the talk One thing I was thinking about uh, you should probably be able to use enus to uh, the problem is when you Use ui to uh to communicate with a page The metamask will generate you It will provide a transaction for you and basically You have no idea like if actually the ui Is the right ui and you if you are calling the contract you want to be calling and I guess you could un s it could be you You could un s for this for linking both the The domain and the smart contracts with the same enus and have metamask check it basically to provide A lot of attacks connected with the ui Yes spoofing. Yeah, definitely a better user insight into transactions as I think probably the major adoption barrier and and phishing and so forth issue in web 3 today um Naming contracts with enus names is one big step towards making that a bit better and in fact the latest contract updates We're pushing out uh make it easier for contracts to get enus primary names um I am also the author of a proposal with richard more on how to better provide insight into transactions, which is also very relevant there Yeah, and could you make uh Basically the the calls from the other side meaning Metamask could somehow check with dns like what what this contract Is what enus is this contract associated with? Yes, uh and further you could uh put authorized frontends in your enus record so that will warn you If you're making a transaction to say uniswap from a scammy site Which is an excellent idea. Yeah, perfect. Perfect. Thanks. Cool. Thank you very much Awesome. We have one last question here set the front row and uh then we'll be at time Uh, hi I was wondering if you could kind of give us a state of the union on efforts to resolve pages via browsers and at the os level Sure So at the os level is depending on you look at it tricky or easy You can run your own dns resolver in which case you personally get to resolve all enus names Getting it rolled out to everybody is a very steep hill to climb I think we're going to have more success getting this integration to browsers such as brave and opera which already support it Rather than integrated directly with os's On the other hand, there are efforts around dot eith talking to ethiopia about whether they would be willing to relinquish that This is all very nascent. However, so there's absolutely there's nothing Concrete for that right now the shorter term solution is as said browsers. I think Awesome. That's all the time we have please give nick a big round of applause Thank you