Unstoppable and the Infinite Sadness
RicMoo — October 26, 2021

This began as a venting post as writing out my thoughts often helps me evaluate my feelings, calm down and respond with some decorum. I usually delete these once I've come to a rational and appropriate response, which then becomes a tweet or a short comment. But after refining this article, I believe it serves the purpose of an appropriate response itself. :)

TL;DR: I've always had serious reservations adding UD to ethers, they were fully aware of my concerns and have since made the problem worse by adding more TLDs; me participating a few ENS meetings and doing code reviews (at this point, pro bono) is because I believe it is important to the future of blockchain and does not constitute a conflict of interest, subject to disclosure or otherwise.

For those unfamiliar with me, I'm the sole author of ethers.js, which is a JavaScript library to simplify Web3 development. It has since become a quite popular library, and something I spend the vast majority of my time on. I now receive a salary from the EF to work on it, and occasionally get a granthere or sponsor there; enough to dedicate full time effort to it and I love the freedom working on a project I created that others also love and choosing its direction.

I was recently attacked in a Tweet by Unstoppable Domains (UD) which accused me of anti-competitively and inappropriately closing a PR involving their service and not disclosing any conflict of interest. I feel the PR explains my reasons, but I will go into more details.

I was approached by UD and had a meeting with them in January 2021. They wanted to be integrated into ethers; for which I had concerns as their system was using the TLD .crypto, a gTLD which I explained would almost certainly be under high demand during the next gTLD auction, especially by well-funded actors.

For some background, the issue I was concerned with is that ENS had released an awesome DNSSEC registrar on Ropsten for .xyz and would be releasing a similar registrar for all supported TLDs. Nick gave a great demo at DevCon 3 in 2017 and it was epic; this would allow traditional web domains to interoperate seemlessly on the blockchain, a clear win for the Web3 universe! (FYI: it has since been launched on mainnet and supports over 1,300 DNS TLDs, such as .com and .org)

Once .crypto becomes a gTLD (through an ICANN auction), this would cause a name collision, since if someone tries to resolve ricmoo.crypto, should it resolve against the ENS registry (which resolves against the DNS system) or the UD registry? They would almost certainly disagree and it is likely that whoever buys the .crypto gTLD is intending for it to work correctly within the blockchain ecosystem.

Since then, they have been expanding the collection of TLDs being issued (e.g. .wallet and .nft) which exacerbates the problem, especially since these names will very likely be highly sought after by the well-funded.

This then becomes not just a nuisance, but a security concern. A malicious actor could purchase an intentionally-conflicting name, in hopes that some services rely on the service they registered on allowing them to receive ether, tokens or NFT's intended for someone else.

After a few DMs and e-mails from them, pestering me and escalating (at this point, it was quite fair) to get their PR looked at, I explained my concerns and tried to tactfully explain that while I did not consider them necessarily "bad actors", I did consider much of their activity to be not in the best interest of the ecosystem.

They messaged back, explaining they were sorry I felt that way and that they would like a chance to chat on Zoom to explain their side of the story, so we scheduled a meeting in January 2021. I would much rather discover I had misunderstood the situation and everyone wanted to march towards a better future. :)

During the chat, UD assured me that they had contingencies in the event they lost the gTLD auction; since, if this happened their registry would diverge from the .crypto namespace in ENS, as the ENS entries would mirror the values from DNS for people who purchased ricmoo.cryptothrough services like Namecheap.

Their worst-case contingency, if they lost or were unable to amicably cooperate with the winner of the gTLD auction, was to revoke all the .cryptonames that were issued on UD, over some grace period, and migrate people onto "something else".

I've also been thinking about and developing a process to migrate wallets and applications off of UD, but hopefully they will win .crypto and all this will be moot (I told them I would add them in a heartbeat if they owned the .crypto gTLD). I would love to see them win it and then ENS can just set a wildcard resolver for the .crypto TLD, which uses the UD registry, at which time they would automatically begin working in any existing ethers-based software.

At the time, I began writing an article explaining that they had quelled most of my concerns and that I would probably adopt UD into ethers, how there were contingencies they were working on and their reasons for believing they would successfully acquire the gTLD when it came time for the next ICANN auction.

During the call with UD, I also explained that I would be reaching out to the various wallets, services, etc. which had already integrated them to get more feedback on their confidence in their various solutions and contingencies.

The feedback was pretty unanimous across the board and did not leave me feeling as comfortable as I felt after the Zoom call with UD.

When I met with each project, most shared my same concerns, some hadn't thought of it but after chatting became concerned. When asked why they decided to include support for .crypto, it was because UD had already done most of the work (as they did in the case of ethers, with a PR) and because UD offered them grants to merge it. They also offered me a "significant grant", but never disclosed an amount; I told them I would want to further contemplate the ramifications first before discussing any grant.

So, I put the article explaining why I would adopt UD on hold and pretty much just ghosted them (which was quite inconsiderate on my behalf, I agree and do regret) until a week ago when I closed the outstanding PR(unmerged) in preparation for v6, which prompted the Tweet that "inspired" this article.

I may not always agree with actors in the space, and sometimes we butt heads, but my emphasis is always on what I personally believe will benefit the health of the eco-system and do not appreciate being accused of working against its best interests, which is what I wanted to explain in this article and share a more detailed background on my decision.

Thanks. RicMoo.

Notes

  • ENS uses .eth which is an ISO 3166-1 alpha-3 which ICANN at the time and currently has no future plans to release; making it a safe TLD.