My take on blockchain name registries

Vlad Zamfir
8 min readMar 9, 2017

--

I’m sharing my thoughts on blockchain name registries ahead of the ENS launch because I want to have a debate about the long term future of ENS, and about the long term future of the .eth TLD.

We should all extend warm thanks to Nick Johnson for his effort in getting the ENS rolling, and for ensuring that the ENS and the .eth TLD can be upgraded over time. Thanks Nick ❤❤!! Special thanks should also be extended to Alex Van de Sande and Maurelian for their effort in making this happen.

Also consider taking a look at the ENS documentation!

Read bold text only for the tl;dr.

Names as a marketing service

Rick Dudley convinced me in a short conversation a few months ago that name registries are fundamentally a marketing service. I can abstractly understand “marketing” to mean “discovery” — which isn’t far off from conventional language.

The clients of a name registry are clients of a marketing service. They are either hoping to discover something that they expect to be associated with a particular name, or they are hoping to “market” something by associating it with a particular name. Lets call the first set of clients “users”, and the second “registrants”.

For a user, a registration is useful if it helps them discover something that satisfies their expectations or something that they end up liking. The value of a registration to a registrant includes the marketing value of the name and also the price for which they are able to sell ownership of the registered name.¹

The value of a registration to users is subjective.²

It is therefore impossible for the registry to know that one registration is more valuable to users than another without relying on oracles.³

This impossibility means that a registry cannot identify (by itself) whether a registration is being made by someone who is intending to use it for marketing purposes, or whether they are making the registration in order to later sell the name.

Name squatting as rent seeking behaviour

Registering a name in order to sell it later is called “squatting”.

Squatters do not create value for users because they are not using the name registry to help users find something they value or expect. They make registrations for the purpose of selling names to would-be registrants who presumably might want to have users.

Squatting is rent seeking. It only adds value to the squatter. The would-be registrant who wants to register a squatted name has to pay the squatter for the name, because this squatter has a monopoly on that name. This leads to a deadweight loss in the market for name registrations.

If there is at least one registrant who will not be able or willing to make a useful registration because of the squatter’s need for rent, then squatting is bad for users of name registries. I’m just going to say it: squatting is bad.

Whether we consider selling a name to which one has legitimate use to someone who has more users can be considered rent-seeking or causing deadweight loss inefficiencies in the market is an interesting question. I’m not super comfortable talking about this because it’s at the limit of my ability to handle such thoughts, so I will make the simplifying assumption that either a name is squatted by a dishonest registrant who does not give value to users, or a name is held by an honest registrant who is giving some constant, maximum value to user.

The uncompetitiveness of blockchain name registries

Public name registries have strong network effects. User experience is better if users only have to consult one name registry, because interfaces otherwise have to expose the ability to choose between which registries to use for name resolution. The mist browser, for example, will only resolve names using DNS and ENS (I assume).

Users often benefit from finding the same content associated with the same name as other users, and this benefit is harder to achieve if users have to coordinate to use the same registry. Registrants benefit from having to register names on fewer registries in order to reach their intended users.

There may also be other reasons that name registries have network effects, I don’t know. But these network effects mean that the market between registries is not perfectly competitive. Indeed, my hypothesis is that the network effects are so strong that the market between registries is not competitive at all, once there is a single market leader.

My guess is that ENS and the .eth TLD is going to be the market leader in name registries, for the Ethereum ecosystem. This means that the value that users are going to get out of the ENS is going to be a function of the ENS protocol itself. And I don’t at all doubt that lots of value will be derived from ENS.

But this all means we cannot wave the problem of providing optimal name registrations away by citing “the free market”, but instead need to do our best to make sure the ENS protocol is as good as it can be.

Squatting in the current .eth TLD

The current architecture for the .eth TLD uses a vickery auction to choose a winner out of competing registrants, as described in EIP 162.

The interesting thing about the auction is that unlike in traditional auctions, the “price paid” by the winner is not actually paid, but instead is placed on deposit. The registrant can, after some time, withdraw this deposit and deregister the name.

The great thing about the deposit mechanism is that this provides an incentive to deregister a name when it is no longer in use, as having the registration locks up capital. I’m a big fan of that.

The disconcerting thing about this mechanism, though, is that it does not reveal how much someone is “actually paying” for a registration. It doesn’t even let you put a lower bound on the cost of a registration. This is because different actors have different costs of capital for ether on deposit. Specifically of concern is the fact that people who have long ETH positions don’t mind locking up their ether as much as people who might want to sell their ether, or who believe that the price of ether is likely to fall.

Lets assume that all registrant (honest or squatting) will bid their reserve price (Vickery auctions are truthful). However their bid is not actually paid but instead is placed on deposit, and the cost of capital is paid. A rational actor’s bid amount is therefore calculated out of their reserve price and their cost of capital.

Will honest registrants generally have enough ether to place a bid such that their cost of capital is their reserve price? This is unclear. Is it the case that honest registrants have lower cost of capital than squatters? Also unclear.

Worse than this, squatters who know of an honest would-be registrant for the same name may be able to tell that they will only need to keep their ether on deposit for a short time, and therefore have a much lower cost of capital than the honest registrant who intends to keep the name.

For these reasons I expect name squatting to be a problem for the current architecture of the .eth TLD. Thankfully, registrations of less than 7 characters will not be allowed, I think in anticipation of this squatting problem. Also thankfully, ENS is designed to be upgradeable.

However, even if we replaced the current auction mechanism with one where the winner actually directly pays for the registration (a deposit could also be additionally required, so we can keep the great incentive to deregister), there will still be squatting problems.

It is impossible for a registry protocol to determine whether a registration is honest or squatting without oracles. These fully objective and economic mechanisms are therefore fundamentally squattable. They can increase the cost of squatting, but only while also increasing the cost to honest registrants — because they cannot tell the difference between an honest registration and squatting.

How dispute resolution systems can fight squatting

Lets imagine a registry equipped with a means of fighting squatting by transferring ownership of names as a result of a dispute resolution process, rather than requiring would-be registrants to pay squatters.

Such a registry might have a 'dispute_registration’ function with three parameters (disputed_name, proposed_rightful_owner, case). The dispute resolution system would look at the case, make a determination, and either transfer the disputed name to the “proposed rightful owner” or do nothing.

Lets also assume that this is a particularly simple registry where anyone can simply pay 'registration_fee’ to register any unregistered name, and 'dispute_resolution_fee’ to trigger the dispute resolution process.

If 'registration_fee’ > 'dispute_resolution_fee’ and the dispute resolution process always favours honest registrants over squatters, then we can show that squatting is always unprofitable: squatters pay 'registration_fee’ in order to squat, but honest registrants just take the name from them for ‘dispute_resolution_fee’. If squatters offer the name for any price greater than the resolution fee, they won’t get business because the honest registrant will use the dispute resolution process. If squatters offer the name for a price lower than the resolution fee, then they will be offering the name for less than the registration fee they initially paid to squat the name, meaning that they do not profit from squatting.

In this model, we are able to eliminate all for-profit squatting.

Of course, it may not be realistic to assume that the dispute resolution process is perfect at choosing honest registrants over squatters, or practical for the dispute resolution fee to be lower than the registration fee.

Philosophy and security questions

The subjective nature of the value of name registrations fundamentally means that the capacity of objective economic registration systems is limited in its ability to guarantee that users get as much value as possible out of name registries.

However, if we instead take the purpose of name registries to be helping initial registrants by giving them strong property rights, rather than to maximize value for users, then maybe a purely objective economic system can be optimal.

The story about tradeoffs between the interests of users and the interests of registrants in the context of rent-seeking behaviour is probably more complicated than I’m making it out to be.

The dispute resolution proposal is arguably pretty radical. To like the dispute resolution idea you need to believe that the name registry should be governed by arbiters who act as squatting oracles.

This kind of active governance introduces security problems. What if an honest registrant is disenfranchised because of corrupt arbiters? The protocol won’t know this happened except through input from the arbiters themselves. It also introduces the question of how the arbiters will be compensated for their work.

On the other hand, without something like a dispute resolution system, economic rents absolutely will be extracted from honest registrants by squatters. And there absolutely will be users who are underserved because of the absence of useful registrations that would otherwise exist.

Are we willing to actively govern a name registry in order to seek optimality, or will we accept the costs associated with an objective name system? I really don’t know.

In any case, I’d say that we need to continue to seriously explore the name registry design space, including both purely economic mechanism design and architectures that also use oracles to bridge the subjectivity gap.

I’m happy that we have time to think about it, and the ability to upgrade ☺

I am pretty quick to analyze and criticize, but less quick to provide solutions.

Thankfully there are people who move fast to provide solutions — here’s to ENS being a great success!

  1. For the scope of this conversation, I’m going to assume that registrants have “ownership” over names. This ownership allows them to change the data that is associated with the name, and also to transfer ownership over the names. It is noteworthy, however, that name registries do not need to have this property, at all.
  2. In this language, something is ‘objective’ if it can be verified by the protocol itself, and is called ‘subjective’ if it cannot be verified by the protocol. A protocol is said to be ‘objective’ if it only makes decisions based on information that the protocol can authenticate, and ‘subjective’ if it makes decisions based on information that the protocol itself cannot validate.
  3. By “oracles” I am referring to any source of extra-registry-protocol information that the registry cannot verify with logic internal to itself.

--

--