Unruggable Names

Unruggable Subname Rentals

We are building a smart contract-based system that extends the capabilities of the Ethereum Name Service (ENS) NameWrapper contract to enable unruggable rentals of .eth subnames. Our system ensures guaranteed renewable subnames, eliminating the need for subname renters to trust parent name owners, binding subname renters and parent name owners to predefined renewal policies. It also simplifies the renting of subnames including seamless registration and renewals.

How does it work?

Traditionally, renting subnames introduces a problem: if the parent name owner can change the renewal price at any time, they can potentially rug the subname renter by setting an unreasonably high price, such as $1,000,000. To address this issue, we contractually bind the parent name owner and the subname renter using a specially designed smart contract called a Renewal Controller. Each subname wrapped by the SubnameWrapper has a Renewal Controller assigned to it, which both the subname renter and the parent name owner trust to manage the rentals.

How do renewal controllers make subname rentals unruggable?

To prevent the parent name owner from altering the renewal price, a Renewal Controller is assigned to each subname in the SubnameWrapper. Once set, the renewal controller for a subname cannot be changed by the parent name owner or anyone else. This intentional design ensures that subname renters can always renew their names, regardless of the parent name owner's intentions. This feature is what makes the rental process "unruggable."

Why can't we set the renewal price of a subname to a fixed dollar amount forever?

Setting a fixed dollar amount for renewal indefinitely is not feasible due to two reasons. Firstly, the value of a dollar could possibly increase or decrease significantly over time. Subname owners may use their names for many years, even decades, and predicting the long-term value of any fiat currency, cryptocurrency, or token is impossible. Additionally, relying on oracles or stable coins to set on-chain prices carries risks, as these technologies could change over time.

If we need to trust the Renewal Controller, how is the rental unruggable?

Renting subnames inherently involves trust, and a fully trustless rental agreement is not possible. In the case of ENS second-level names (e.g., example.eth), renewal is necessary to prevent expiration. The price, such as $5/year for example.eth, is set by the ENS DAO, which aims to protect name owners from arbitrary price increases.

What's the end-game solution?

We believe that the market will ultimately determine what constitutes a trusted Renewal Controller. Our SubnameWrapper is an open and permissionless smart contract, allowing anyone to create their own registrars or Renewal Controllers. Unruggable Names, our DApp, utilizes our own trusted registrar and a curated set of Renewal Controllers. We are currently in the process of setting up a Renewal Controller that will be governed by a multi-signature wallet. Our goal is to establish a long-term stable renewal price that can be used by anyone to rent subnames.

We invite you to join us in building a vibrant ecosystem of communities renting subnames. Check out our live demo site running on the Goerli testnet at http://unruggablenames.com. We welcome your feedback on our demo of Unruggable Names which is currently deployed to Goerli testnet. Your feedback is valuable to us as we continue to refine and improve our system.