Highlight: Robin Hanson's more owner-forgiving modified Harberger tax

Attack vectors: This is an issue; if it is possible for an attacker to steal a lot of money by only holding the ENS name for a very short period this is potentially quite bad for this system. I am unfamiliar with, well, everything about ENS, but in particular what the primary users and uses are, so if someone could explain that briefly or link me to a primer or something, that would be very useful.

A deterrant to this kind of attack would be, actually, making the holding period longer. For example, suppose we made the holding period/time between auctions 2 weeks or a month. An attacker could make a high bid, take a ENS and steal money from it, but would have to hold on to it for a while, and pay a fair amount of taxes, before they could re-sell in the next reallocation event. It’s actually easier to buy, steal, and sell if the holding period is shorter.

Again, my institutional knowledge is sorely lacking, but it seems like the economic time horizon on which optimal reallocation occurs in this setting is, like, on the order of weeks or months. So that’s approximately the frequency at which we should run these reallocation auctions.

Think about this. We want to trade off the benefits of efficient, frequent reallocation with the costs that auctions too often are susceptible to the kinds of “trolling attacks” you talk about. Suppose a dev works on some application for a month or two. It’s largely fine it they have to wait two weeks or so to buy the ENS they need. Six months or a year is probably too long for this kind of thing. Higher reallocation frequencies would have relatively more limited benefits, and would potentially facilitate the kinds of trolling attacks/theft you point out.

A deterrant to this kind of attack would be, actually, making the holding period longer. For example, suppose we made the holding period/time between auctions 2 weeks or a month.

Requiring bids to stick around for at least 2 weeks definitely seems reasonable to me! Another alternative (and I think my preferred one) that mitigates “trolling attacks” is to cap the rate at which the fee can grow, to eg. one doubling per week, so you can’t force the fee up significantly without exposing a pretty long time period within which the buyer can just sell to you. This also has the nice property that if you prepaid for N weeks, you know you get at least log(N) weeks of stability regardless of what happens (can replace “week” with any other time period if desired").

@makoto could you share screenshots from Glen’s tweets, he blocked me on twitter cause I called him an idiot.

Just visit his twitter page in a private browsing tab

With respect to 2., your mechanism actually changes this property: if auctions are used to set prices, rather than the owner self-assessing a price, then the (allocatively) optimal tax rate actually becomes 100%.

Interesting! I can see how that’s true. Then the scheme just reduces to an auction where the existing owner has last-mover advantage. Though in practice we’d want rates lower than 100% because investment efficiency matters too.

[Glen’s comments]

Glen’s main criticism seems to be basically the point that I anticipated with this paragraph in my original post:

So if you want to buy hexagon.eth, and the buyer knows that you’ve already spent thousands of dollars on trademark and business registration for “Hexagon” and used that name to pitch to investors, yes, you’re screwed (though still less screwed than the status quo, where the owner has no penalty in raising their price!). But in my experience, snapping up the domains is one of the first things that you do as part of starting a project with some name, so you’re not yet stuck with complements.

I’d also add that allocative efficiency is NOT the only benefit of Harberger taxes. The other benefits are (i) it’s a tax and you can use the money raised with it to do other useful things, and (ii) it reduces the unearned privilege that early entrants into the system have. I think people really undervalue (ii); there’s going to be a lot more pressure to compete with ENS in 2035 if all the domains are owned by randos that got lucky in 2015-2019.

1 Like

Agree with both (i) and (ii). You can see this in, e.g. radio spectrum allocation – early uses of EM spectrum (radar, TV broadcasting) have much lower data efficiency and thus economic value than modern uses (wifi, 5G). But since the earlier users hold perpetual use licenses, they basically get to extract all of the value from late users – and moreover the govt doesn’t capture the revenue from the big increases in spectrum value for spectrum that’s already sold.

If ENS domain names are sold using Harberger licenses, it’s both easier to reallocate down the road, and has the benefit that if ENS dramatically increases in value, the central platform can make revenue not only from selling new unallocated domain names, but also from the tax payments flowing in from already allocated names, which are probably the more valuable ones.

Imagine, for example, if internet domain names were allocated with Harberger licenses, with the revenue going to a foundation used to fund open source projects, e.g. through a quadratic voting system or something. The foundation would be pretty well off, with flow payments from big valuable names like home.com, USA.com, etc.

I thought a bit more about how to set the tax rate; haven’t done any math but it seems a reasonable heuristic would still be to tune it to the approximate horizon on which investment has value. If investments in “advertising” a domain name seem likely to make users associate a domain name with a certain group for e.g. half a year or so, we probably want to tune the tax rate so owners have a substantial stake in the asset half a year in the future, so maybe 5-10%, no more than 20% monthly taxes. Basically targeting something like 50% depreciation each half year, so a license holder can be thought of as holding a stake in the asset, which discounted and added up, lasts roughly half a year into the future

Unfortunately this number probably changes over time – turnover is probably relatively high for early-stage platforms and users and slows down as the ecosystem settles down. And we don’t yet have a great understanding of how to adjust taxes over time in a reasonable way.

ENS is means to be basically a domain name system to be used for things inside the ethereum ecosystem, so I think the investment horizon is in many cases going to be many years. So my instinct is definitely to target <10% annual.

1 Like

I like where this is going, but I’m still super-duper hesitant to implement anything that can result in someone losing their domain unexpectedly due to inaction. With renewals, the user knows they don’t have to check back until the time comes to renew the domain. With a harberger tax, though, that could happen at any time, meaning they (or an automated service) have to keep a constant eye on the domain.

A limit on the rate-of-change of rent mitigates this a bit, but since it can still grow exponentially, its usefulness here is limited - to be sure of holding a name for a year, you’d have to lock up 2^52 times the current yearly rent.

I’m also still hesitant to embrace the basic idea behind a harberger tax for ENS: That a domain owner should be charged rent proportional to how much other people want the domain. Unlike land ownership, there are large externalities to owning a domain; mew.eth might be much more valuable to a scammer than it is to MEW themselves, because while a scammer can steal funds, MEW themselves might only use it to trustlessly issue subdomains for their users’ convenience.

There’s definitely a tradeoff between convenience for owners and convenience for bidders and you could move that slider around; eg. you could set the minimum doubling time to 3 months instead of a week, or you could set it to a fixed amount, eg. $10 per year per day.

That a domain owner should be charged rent proportional to how much other people want the domain.

The extent to which other people want a domain is the best guide we have to how valuable a domain is, and unless we want to privilege people of today over people who live 20 years from now, some kind of permanently open competitive dynamic between present and potential owners is necessary…

If we had Barry’s coercion resistant voting gadget with a functioning identity system, then one could use some form of quadratic voting to allow people to signal public-good value of a domain. But we don’t have that so…

MEW themselves might only use it to trustlessly issue subdomains for their users’ convenience.

The use of ENS for subdomains definitely is an argument in favor of strong stability of ownership; it’s hard to coordinate everyone to force an upgrade. So one possible equilibrium of this whole experiment is that short ENS names would get gobbled up quickly and be very inflexible with persistent owners, but most people would interact with the system through subdomains, and then you can have an open market for registration and economic mechanisms at the subdomain level, the same way we do in traditional DNS.

1 Like

One thing worth considering is that we can actually test this out on a domain-by-domain basis. Anyone can write a smart contract that implements one of these variants and commit ownership of a name to it irreversibly. The contract can use some or all of its income to pay rent on the .ETH registrar.

If the system turns out to be useful, we can apply to ICANN to obtain .rad or .radical TLD which allows to mirror the .rad TLD on ENS using DNSSEC and set the HarbergerRegistrar to the TLD. Combined with EthDNS, you could even enforce a special TLD which only allows people to host website using ipfs/swarm contenthash!

It would be interesting to set it up on a domain by domain basis, but it might only be an effective test, if we can get enough people interested in that domain.

I like the ideas that @vbuterin put forward about needing a system that allows for fair allocation to people that don’t exist yet. We already know that DNS has not allowed that fair allocation and almost all domains names that are worthwhile are already taken. Those that are not born yet haven’t got a chance.

I wonder if there is any other way to stop the rent growing exponentially without a rate limiter as @nickjohnson pointed only mitigates the issue. If someone is long on ETH, attacking a domain by adding a bunch of ETH to that name is effectively free, especially to a name that cannot be realistically given up (i.e. mew.eth due to subdomains). I could see this happening just to ‘grief’ high profile projects rather than any intention to buy the name to scam, possibly by a competitor with a lot of ETH.

@vbuterin Is there a reason there isn’t a fee for a bid? What about adding a ‘tax’ to having your bid sitting there on a name? It might reduce the likelihood of someone putting a bid up for a particular name without any intention of actually buying it.

The fee for a bid is the possibility that if you bid dishonestly you get called on the bid and you end up having paid more for something than the value you get from it. So people casually putting up bids for things just in case is imo intended behavior. If this design leads to people paying fees that are too high, then that means that the tax rate was set too high and should be lower.

I fully agree with Nick here.

ENS will eventually be a critical piece of the Ethereum infrastructure and if we want to see mainstream adoption, people need to be sure that they can rely on their ENS address as a part of their digital identity. Especially if you know how decision processes in many conventional companies work, you realize that no one will ever give ENS a chance if an address cannot be guaranteed or if the company cannot at least plan with a certain duration during which they are the sole owner.

Imho, the proposed fix for the Harberger tax is not a fix. While I like Vitalik’s idea of not privileging people of today over people of the future in general, the proposed Harberger tax seems just like a sophisticated way of again privileging people with money instead, or in other terms: people who have early ethers or a pile of ‘old’ fiat money. And that is because @jefflau 's comment is plain true when he says:

If someone is long on ETH, attacking a domain by adding a bunch of ETH to that name is effectively free, especially to a name that cannot be realistically given up (i.e. mew.eth due to subdomains). I could see this happening just to ‘grief’ high profile projects rather than any intention to buy the name to scam, possibly by a competitor with a lot of ETH.

And thus the sales in the proposed system are only in theory owner-initiated. In reality, the sales are only owner-initiated until the company or the individual runs out of cash - even if this company or individual is the entity that puts the address to its best use. Also, (and I appreciate this discussion and don’t want to sound rude but) the proposed fees I read here (although they are only first ideas: 10 $ per year per day, doubling even ‘only’ every 3 months, …) are completely over the top and would most likely ruin ENS as a system - you certainly read how people reacted when we discussed the fixed annual fee and whether it should be 5 or 10 $ per year? No one would understand why a common DNS domain costs a few dollars per year while an ENS domain costs a fortune to maintain.

By the way: Harberger tax is just too complicated for mainstream adoption - obviously for none of the tech-savvy users in this forum and not for the smart blockchain startups. But it’s paradoxical that we try to make the use of ENS easier and, at the same time, propose a at least non-intuitive billing system.

So from my point of view, the most recent solution, where we have an annual fee that can be slightly adjusted by the ENS team if necessary is still the most feasible approach.

There are compromises to consider. For example, there are plenty of domains that cost $5 per year that really really don’t need to cost $5 per year. So I’ll propose a “capped modified Harberger tax”: a domain by default costs nothing to rent, but people can submit bids, and if you submit a bid you have the ability to raise the rent of a domain to a maximum of $5 per year (that might require a $500 bid). This would be a strict net improvement to users, because users would not pay fees for domains where the fee really isn’t necessary and is a pure economic deadweight loss (eg. long 12 letter domains), but the fees would still exist for domains that really are rivalrous. From there you can talk about raising the maximum to eg. $50 per year if someone bids $5000 for a domain.

Is there any argument why such a capped system would not be an improvement over the status quo?

Your suggestion solves names where usd 5 is too high but dont solve names where usd 5 are too low. It may add a slight improvement but not worth the complications for the sake of trying out new system where the fee is affordable. Again, may be a good application to 1-2 chars where we expect the annual fee are expected to become expensive.

Got it, so sounds like “try it out in a more limited context and see how people respond to the mechanism”.

I think the idea is to set the limit to higher than $5. e.g., set the limit to $50 / year, which is still less than many TLDs. I would tentatively argue that we should set the limit closer to $100 or $150, which is just about the most expensive class of TLD available. The vast majority of people will end up paying far less than this (likely close to $0), but we would have a system that allows us to figure out who should be charged for their domain (because they are competing for a good name) and who should get it for free (because they took a name that no one cares about).

Wouldn’t that even encourage blanket purchase 1000 of names for free now as it becomes easier to sell to others?

You would need to lockup enough capital in each name to protect against someone draining your paid up capital and then purchasing the name for cheap. Though, 1% tax rate may be too low to defend against that since you would have 100 to 1 leverage on each name. One can even imagine 50% or 100% tax rate so the person holding the name really has no advantage over the person trying to buy the name. With 100% tax rate you can buy a name by just being willing to pay more annually than the current holder, up to whatever cap is set.

This works better, but I’m still concerned about names where the main value accrues to people other than the nameholder. Do we really want to put a (potentially very large) price tag in front of every operator of a common-good domain that issues subdomains? We can build a contract that either raises rent from, or pays out to, the owners of those subdomains, but then we’re back to them having to pay constant attention to the system.

With a hard cap on rent, we can mitigate this somewhat. One thing that we need to bear in mind, though, is the design of the permanent registrar: the registrar itself allows its controllers to extend the rental period of a name, and to register new names, but not to shorten that period or transfer the name. Any innovation needs to be implementable as a controller under that regime.

If you are issuing desirable subdomains, I feel like you should be charging for them in order to cover your costs. If you have wall.eth and are issuing subdomains to people, you really should be designing your system to be sustainable so you can afford to cover your costs.

Generally speaking, I’m not a fan of trying to design a system that is optimized for “the public good” because it will almost certainly be exploited by someone. In the case of names, this exploitation occurs in the form of squatting. While I can appreciate the desire to try to hand out names to those most deserving of them, I think that is an unrealistic goal without massive centralization (where the centralized authority gets to define “good” and is capturable).

We could leave the caps as they are now but have Harberger tax up to that cap so that most people pay less (since ENS is not a profit seeking venture, this seems reasonable). This still gives people a maximum that is no different than today (thus only a reduction in cost compared to today) but reduces cost for many people.