Modifying Harberger to make it work for ENS


Since the last thread about the 3-6 char names was overrun by this topic and got confused, I’d like to separate in a thread.

Harberger trades are popular in ethereum community right now, specially since it’s the topic of a whole chapter in Glen Weyl’s book, and a topic that has been commonly supported by by Vitalik. Is no stranger to the ENS system either, being actually similar to the way the first auction mechanism we proposed for the “Mist registrar” (in which a Vickrey auction would need to run every year to determine rent) worked, basically a fused free on a self assessed valuation. Back then, it was discounted by the same reasons is not popular today:

  • Domain owners don’t like the idea that their domain can always be bought from them, even if it’s at a price they picked themselves, some names are simply not considered for sale.
  • Because tax is proportional to your current value, owners are taxed for their own success
  • In many cases, there are really only two real users of a name (like ‘google’): scammers or the natural owner
  • Because it’s a lot more profitable to steal users money than to try to build a business, scammers are willing to pay a much larger amount for famous app names than legitimate owners
  • For some use cases, it’s essential that a domain can be trusted to hold on the same content virtually forever.

On the other hand (specially after having read Glen’s book), I’m convinced that harberger are a very efficient way to solve one of the main problems with domain ownership: reducing squatting and making sure names end up going to their best usage. This is a crucial characteristic, ideally if name squatting is inefficient enough, it doesn’t even matter that much who gets the name in the first place, as it tends to be sold to a more eficient owner.

So I’d like to give harberger a new chance for ens, by changing it slightly to fit our own needs and see if we can make it work.

(If you you’re new to the discussion, the basics of a harberger tax is simple: you self access the value of your own name and pay a tax of N% of the value per year, with the caveat that if someone offers to buy at that price, you must sell it, so that you are incentivized to self assess the true value of the name. Additionally, N should be rate should be equal or lower than the chance of any given name being forcefully bought in the period, so that any potential gain you have of overpricing it in the off chance it gets bought, it’s offset by the increased tax.)

Proposed changes to Harberger to make it more acceptable to ENS:

  1. Make the tax rate a target for a long period of ownership, to reduce it enough to be equivalent to the forcible overturn rate in 5 (or more) years, so that names tend to be stable
  2. Allow a regret period of 6 months: when the potential buyer puts down an offer that covers the purchase price (or more), the owner still has the chance to pay a higher tax rate of Y*X% in order to refuse to sell. The value Y is divided between the ens foundation and the purchaser as a way to punish the owner but also to reward the prospective buyer for his loss of liquidity. Since this extra is based on the offer price, the potential purchaser has an incentive to put a price higher than the ask, to lure the buyer into selling it (or forcing them to pay s higher tax for not doing it). This long period can be used by the old owner to also inform users of the incoming change or even crowdfund money to pay the new tax.
  3. Allow arbitrary registration lengths: in order to prevent a user from having a specific “tax day”, the owner can select for how long they want to pay the fee for. If a domain is purchased before the period is over, they get a proportional refund.
  4. Allow the old owner to leave a message about the sale when they finish the transaction, where they can add information on either they trust the new buyer and what new domain they can find the old content. This message would be used web browsers and other clients as a way to detect if a website they had visited recently had changed owner and where to find the old owner. This behavior would severely limit the profitability of malicious overtaking of domains, since the users could simply follow the older link, or even be automatically redirected by the browser if the message was an alert, and lead to the new buyer to try to negotiate a deal with the previous owner.
  5. Names longer than 6 character long are exempt from the harberger system. First of all, this allows an option for names that need more stability guarantees. This also helps avoid the possibility of creating an unlimited artificial amount of domains to manipulate the turnover rate (and therefore manipulate the tax rate). Since there are about 150 million 3-6 characters names, this relative scarcity increases the usefulness of the system.
  6. Longer names can be kept for as long as the user keeps paying the fee. If Brave can’t keep brave.eth, then they can simply use bravebrowser.eth forever. The tax rate in itself can even be derived from the shorter name’s auctions, maybe the anual rate is equivalent to the price of the 95th percentile of the cheapest domains overturned in the Harberger mode.
  7. Allow multiple token support. This is a problem with any system that assumes a stable value over long periods of time, obviously if you value your name at 1 eth today, it doesn’t meant you will value it at 1 eth in six months, depending it on the market value of ether. A solution would be to allow the user to set their price in any token they want (from a list of whitelisted tokens with large market cap, high liquidity and fair distribution), with the value. The purchaser (and tax) would use the same token. So a user can set their price in dai, euro, Gemini dollar or even ether, if they want.

I think this has multiple advantages, and it allows us a larger scale test of the system of harberger, it creates a more decentralized pricing structure, and it creates incentives against domain squatting.

Announcing the ENS 3-6 Character Auction

I know a number of people who make money buying & selling domains. I can see about getting their input.

I like the choice of currency. But feels like some unintended consequences. Like, I can specify to be paid in BorisCoin, and since I hold all the supply…


This feels like we’re trying to force something to work that isn’t a good fit in the first place. The downside from much lower certainty of ownership must be heavily compensated by the gains from allocating to the best owner, and I don’t think that can be achieved here. If we’re establishing a new model it has to be 10x better than the existing model and gut feeling is we aren’t going to get there on this use case.

Also, to cover off the worst issues it seems like too much complexity is being introduced with the additional argument that most short names would already have an existing associated brand associated that you could argue should be the rightful owner.

More generally, I wrote this a while ago in response to Dean Eigenmann’s article on the topic.

In my mind, one of the strongest arguments against Harberger taxes for ENS names is the acknowledged weakness of Harberger tax itself — they sacrifice investment efficiency (or the gains from improving the asset) for allocative efficiency (gains from having the most productive owner). This means they work better where investment efficiency is of lesser importance.

ENS names are like brands, they have zero value to start with and have very high potential gains from investment efficiency (time and effort spent building the brand). If someone can just buy a ENS name off me after I spent years building brand because I can’t afford the taxes then the whole system breaks down and I wouldn’t even start.

Harberger taxes can work in lots of places and we should experiment with them, but not here, it doesn’t make sense.


I’m inclined to agree with Hugh: this is an attempt to make a round peg fit into a square hole.

Harberger taxes are elegant, for sure, but name stability is incredibly important in ENS; more important, as far as I’m concerned, than allocative efficiency. I’d rather have Status have to take “statusapp.eth” and have it permanently, than have the risk that status.eth could be taken off them at any time by a deep-pocketed attacker.


Only a few whitelisted tokens (managed by the ens foundation is root multi sig) would be accepted


What about using short name auction for 4-6 chars and only use Harberger tax for 3 char? The biggest argument against using Harberger tax for identity is the lack of stability but majority of people use three char for token ticker symbols lately which is more use for property. Limiting the usage for only 3 char is good to leave only small area for experimentation like this.


Vitalik, in the other thread, talked about shorter domains being more property-like and longer domains being more identity-like. I think a better way to put it is lexical domains(i.e found in the dictionary) are more property-like and non-lexical domains are more identity-like regardless of their char length. I suggest having Harberger tax for at least the lexical domains (brave, apple, blackboard) and using the rent model for non-lexical domains(ujo, Google).


The idea sounds good, but you also have to think about it’s implementation by may. Determining if a domain is lexical or not in a trustless/decentralized manner will be a pain ! What oracle do you propose we use for that ?


The folks over at Handshake decided to take the top 100k domains on Alexa and reserve their counterparts. We can do something similar by importing the list of lexical items from a database like and apply the Harberger tax to them.

One issue to this approach is that other languages are not as well documented as English. Some Languages do not have a dictionary altogether. The simplest approach is to apply the Harberger tax to all domains because every string of chars has the potential to be a lexical item in some language(this naming system has to be universal and not language-specific).

As for the concerns of domain owners loosing their “identity”, having a long regret/transfer period with a clear notification to users interacting with that domain shall be more than enough.


What an interesting thread. The key is in the title, Harberger can be modified and can be just a part of the solution, it doesn’t have to be applied strictly in its vanilla form. It can be mixed and moulded with other ideas.

Some other ideas:

  1. tax = k x price / length. The longer the name, the lower the tax.
  2. k determined by a dao: default value adjusted regularly by governance process, plus a process where the owner of a domain can request a lower k if somehow justified