We were fortunate when the world wide web emerged that the Domain Name Service (DNS) was already baked into the user experience. For current users of Web3 this isn’t the case, however, for many, I believe it will be, as we’re still so early in the evolution of Web3.
It’s not just .xyz
The availability of DNS ensured that when users went online via a web browser for the first time, they could enter an address such as http://web3labs.com in their browser’s address bar, instead of the raw IP addresses such as http://188.8.131.52/.
It also ensured that they were able to send email messages to readable addresses such as firstname.lastname@example.org instead of email@example.com. This mapping of hostnames to IP addresses emerged during the days of ARPANET (the precursor to the internet), where computers connected to the network held a text file on them that contained mappings from IP addresses, to a human-readable alias.
A centralised directory for this data was established for ARPANET, to ensure these host files didn’t need to be continually maintained by individuals on every computer on the network, but even this centralised directory became impractical to maintain and scale.
Then during the 1980s, the Domain Name Service and the Berkeley Internet Name Domain (BIND) Unix service were created. This decentralised approach to host addressing became a foundational component of the internet.
The first generation of the Web saw the explosion in popularity of the top-level .com domains which enabled companies and individuals to lay claim to their own piece of land online. The .com domains were joined by regional variations such as .co.uk in the UK and .com.au in Australia, and the alternative .net and .org domains, but none of them held the same appeal as the .com. Cybersquatters emerged realising that they could speculatively register .com domains and sit on them waiting for an attractive acquisition to come along, and companies scrambled to secure their piece of this new market.
Interestingly, as Chris Dixon pointed out domain names marked the first time that users could actually own a piece of the internet, which until Web3 came along, we hadn’t seen such innovation since. Over the subsequent years, a number of further top-level domains emerged such as the alternative .co for companies and .io for technologies firms, but nothing has proven to be quite as enticing as your very own .com domain.
With this explosion of different domains, in Web3 you’d think that companies would be spoilt for choice with what was already available, however, we’ve seen a new breed of top-level domains appear with a focus on this ecosystem. The .xyz top-level domain first emerged in 2014 and gathered significant traction off the back of Google adopting it for their Alphabet rebrand at abc.xyz. However, they’ve also been widely embraced by Web3 companies and protocols due to their neutral nature insofar as the .xyz doesn’t actually stand for anything, unlike other domains which are aligned with organisation types or specific niches.
However, the .xyz is just part of the story for Web3. After all, many of the Web3 protocols are building out entirely new ecosystems underpinned by blockchains and decentralised storage technologies. This brings with it its own unique challenges, which still need to be addressed, as anyone who has sent crypto to another wallet, or purchased NFTs on OpenSea can attest to. You cannot avoid the strings of hexadecimal digits at the current time in Web3. These strings such as 0x2e11E3b40Ca0C4aba93a2Cd7C9046394b8dd7501 can be used to represent crypto wallets, smart contract addresses, transactions and blocks themselves. They are unwieldily and scary to anyone who isn’t a programmer or computer scientist.
Like the aforementioned IP addresses that were once the bane of ARPANET’s users, we’re at a point in Web3 where you can’t escape them. Fortunately, there are services that will help eradicate them in Web3 such as the Ethereum Name Service (ENS) or Solana Name Service (SNS) which enable wallet addresses to be replaced by more legible names such as web3labs.eth or web3labs.sol. These addresses are in fact NFTs which reside in a user’s wallet and have a mapping held in a smart contract as to the address of the underlying wallet they represent. Unfortunately, these services are not yet ubiquitous, so in the meantime, Web3 users are still confronted with lengthy hexadecimal strings in order to perform rudimentary tasks in Web3. This will change over time, but we’re not there just yet.
These aren’t the only DNS-like services in Web3 however, Unstoppable Domains also provide NFT domains, with extensions such as .crypto, .nft, .wallet and .dao. These too can represent wallet addresses and other assets such as website addresses and decentralised website addresses on IPFS. Unlike ENS and SNS, the Unstoppable Domains service isn’t intended for a single blockchain protocol, although, it is implemented on Ethereum using their Crypto Name Service (CNS). It is also not completely permissionless like ENS, as it is governed by a commercial entity that chooses to reserve certain names to reduce the likelihood of name squatting which, like with DNS is common in ENS and SNS.
These multitude of services for mapping wallet addresses to human-readable names are still in their infancy, and it’s certainly feasible that more services will emerge to compete in this space. My hope is that it won’t be too long before such services establish themselves as the default for all users, which will certainly reduce the friction for onboarding many new users of Web3.
There are a number of exchanges that do support these services, but the issue as I see it currently is that they are optional for users and most exchanges don’t request users to send funds to Web3 domain addresses by default they still use hexadecimal addresses. This optionality is slowing the widespread adoption of these services.
Where it does get interesting is with the interplay between these native Web3 name resolution services and the traditional DNS services. There is support in all of the Web3 services I have mentioned for adding records linked to websites from .eth, .sol and .crypto domains, and it’s possible to map .com and other domains to wallet addresses, using those same Web3 services. We are also seeing web browsers such as Brave and Opera providing native support to domains registered with Unstoppable Domains. These integrations are a step in the right direction. However, where there is still a missing piece in the puzzle is how people can trust when using these Web3 naming services, that the owner of such domains is who they claim to be. E.g. when requesting payment to a wallet, how can you ensure the recipient is correct? It may be possible to infer this information by referring to information contained on-chain, however, this is likely to be out of reach by the average user due to the high barriers to entry.
At the present time, we embrace the existing trust layer of the internet for Web3. For instance, you trust when you go to app.ens.domains to register a new ENS domain you are in the right place. Whilst this is relying on the public key infrastructure that underpins much of the existing trust model of the web, it isn’t necessarily a bad thing if it reduces the likelihood of users being goaded towards malicious websites.
This is one area where decentralised identity initiatives such as verified credentials could play hand in hand with Web3 naming services, but again, much like Web3 these services are still being built out and it’s likely to be a number of years before we have such next-generation decentralised services being used globally by your average online user.
In the meantime, it’s probably worth your while registering some Web3 domains with the likes of ENS, SNS and Unstoppable Domains to be ready for when these services replace the cryptic hexadecimal addresses users still face in Web3.