Service Provider Stream Nomination Thread

Name and website of Provider:

Unruggable* is an independent R&D firm dedicated to scaling ENS through open source development and protocol engineering.

ENS: Unruggable.eth
Web: Unruggable.com

*formerly Unruggable Labs

Name of main point of contact:

premm.eth / clowes.eth

What do you want to build on ENS?

We are seeking funding from the ENS DAO to support our ongoing research and development of the ENS protocol as well as development of open source software products and services designed to support new user growth and improve the user experience of registering and using ENS names.

➢ How do we plan to scale ENS?

  • R&D on an official ENS L2 registry
  • R&D on “ENS Chain”
  • Primary name gateways

➢ How do we plan to make ENS more usable?

  • ENS account abstraction plugin

➢ Official ENS L2 Registry

All second level name (2LD) registrations such as vitalik.eth are currently registered on L1 Ethereum, which has very high gas costs, often more than $30 for a $5 name. In order to onboard the next million users and beyond it will be necessary to allow for registering 2LDs on L2s. The problem is, which L2 should we use? We are actively working on R&D dedicated to determining the best method to allow for ENS 2LDS, such as vitalik.eth, to be registered, as well as host resolver records, and register primary names for EOA wallets. Our goal is to present our work to the broader ENS community, providing valuable insights on how we can move registrations off of L1 and onto an official ENS L2 scaling solution.

➢ “ENS Chain”

One possibility for scaling ENS is to create a dedicated ENS L2 chain. With a dedicated ENS chain it is possible to guarantee that our future is not dependent on another DAO, for example the Optimism Collective or Arbitrum DAO. Recently Optimism has introduced OP Stack and the Superchain, their solution for L2 appchains. Offchain Labs, who develop Arbitrum, also have plans to offer a similar stack. ZkSync has Hyperchains. We will be actively working with each of the top solutions for L2 appchains to better understand their strengths and weaknesses as well as develop several ENS test chains.

➢ Primary Names

Currently the ENS system of primary names has only one namespace, which means that it needs to be updated to work for multiple chains including L2s. The updated system will allow for primary names to be registered on each L2 chain. To resolve names on L2s it will be necessary to use CCIP-Read with gateway servers that can fetch the primary names and proofs to be verified on L1. We are developing our own independent gateways, which can help to decentralize ENS primary name resolution, as well as provide redundancy, similar to the way that DNS has multiple independent providers of root servers.

➢ ENS for Account Abstraction (AA) Wallets

With account abstraction it is possible to overcome long-standing UX challenges, including abstracting away seed phrases, allowing for recovery methods for lost credentials, and smart features like fraud controls and spend limits. With ENS it is possible for users to never even encounter their 0x address. We are building an open source AA plugin that will allow any AA wallet developer to register ENS names at the point of creation of the AA wallet. The plugin will be integrated with our own L2 subname registration system, wherein a new user of an AA wallet will only have to type in a wallet name, and make a single user operation to both get their wallet set up as well as register their ENS subname, such as mike.avid.eth.

➢ Timeline

Over the first 12 months of funding, we will diligently pursue the areas of research and development detailed in this application, as well as provide regular updates on our progress, such as quarterly reports, as well as present our work at ENS Ecosystem Working Group meetups. Based on our research we plan to complete at least one ready-for-audit development, based on feedback from the ENS community as well as demand from users and the broader Web3 community, with a target of 18 months or sooner for launch.

Past experience working on ENS:

Unruggable was founded by Prem Makeig (premm.eth) and Thomas Clowes (clowes.eth).

Our research demos include:

Prem has been dedicated exclusively to the ENS protocol for over two years. His contributions to the ENS protocol include numerous bug findings, protocol design and core features, including the design and development of core code contributions to the Name Wrapper and Public Resolver contracts.

Upgradable Name Wrapper
Proposed: February 2022
Merged: May 2022
Upgrade namewrapper by jefflau · Pull Request #94 · ensdomains/ens-contracts · GitHub

Support for “Controllers” in NameWrapper
Merged: Jan 2023
Add token approvals to PublicResolver.sol by nxt3d · Pull Request #177 · ensdomains/ens-contracts · GitHub

Renewal Controllers (Renewal Managers)
Proposed: June, 2022
Merged: March, 2023
Add ERC721 approve #217 by jefflau
Prem introduced the idea of approved contracts that can be set permanently, which can be assigned to a name in the NameWrapper dedicated to renewing names. These ideas were later implemented for approved contracts and the CAN_EXTEND_EXPIRY fuse.

Bug in NameWrapper allows the DAO to deploy a malicious upgrade contract.
Discovered July 2023
https://discuss.ens.domains/t/security-advisory-a-malicious-dao-update-could-reduce-the-registration-duration-of-registered-eth-2lds/17576

Other bugs:

Fix setFuses Return Data
Merged: February 2023

https://github.com/ensdomains/ens-contracts/pull/195

Change Parent Controlled Flags into Fuses
Identified: November 2022

Disable Transfers During the Grace Period, bug and design of fix
Identified: November 2022

Issue with Expiration Dates
Identified: November 2022

NameWrapper updates (including testnet deployment addresses) - #31 by jefflau.eth

Problem with Setting Fuses
Identified: July 2022
Fixed by ENSL: July 2022

Problem with Supporting Interfaces
Identified: July 2022
Merged: August 2022

https://github.com/ensdomains/ens-contracts/pull/113

Removal of Unnecessary Function getFuses
Identified: August 2022
Merged: August 2022

https://github.com/ensdomains/ens-contracts/pull/114

Thomas Clowes (clowes.eth) has a degree in Economics from The University of Leeds. He has worked in the domain name industry for the past 15 years working at Domain Name Sales (which became Uniregistry) as well as independently consulting for select industry clients.

His dissertation (2013, updated in 2016) was on The economics of domain names.

He has been actively involved in building tooling (ENSTools.com) and integrations (Labelhash.com) for the Ethereum Name Service since 2017, having been involved in the wider Ethereum ecosystem since 2015.

He is an experienced Solidity developer as well as a full stack web developer.
StackOverflow | Ethereum Stack Exchange

Tools include:

The original iteration of EthTools.com - the first independent interface for the initial Vickrey auctions.

Labelhash bulk registration/renewal interface

Size of team and commitment:

We are budgeting for two full-time founders, as well as some part-time contractors to add to our capabilities when needed.

Links to documents with further information:
Application Doc

Conflict of interest statement:

Premm.eth is currently the ENS Fellow for Term 4.
https://discuss.ens.domains/t/ens-fellowship-term-4/17958

10k Endorsement link:
https://snapshot.org/#/nominations.ens.eth/proposal/0xb204977cb0be0085d166e13b53fcf0bdb4deac1ee73de8166c2b95f60918d597

Budget Requested:
$400,000/y

Other notes:

➢ Summary for Snapshot

Unruggable is an independent R&D firm dedicated to scaling ENS through open source development and protocol engineering. Unruggable was founded by Prem Makeig (premm.eth) and Thomas Clowes (clowes.eth). We are seeking funding from the ENS DAO to support our ongoing research and development of the ENS protocol, including R&D on an official ENS L2 registry, R&D on “ENS Chain”, and independently built and managed primary name gateways. We are also working on an ENS plugin for account abstraction (AA) wallets that will allow the registration of ENS subnames on L2s at the point of creation of an AA wallet. We are uniquely qualified to provide high-quality open source software public goods and services to the ENS community, with many years of past contributions including core protocol features, developer tools, and R&D of ENS on Layer 2s.

11 Likes