What's the Difference Between 3DNS and ENS? A Deep Dive into Domain Minting and Name Resolution
Exploring domain minting and name resolution in 3DNS and ENS
The advent of blockchain technology heralds a new epoch in the DNS industry, exemplified by innovative protocols like ENS and 3DNS. Both are not only propelling a wave of innovation but are also enhancing privacy and user control in the digital domain landscape, but the functionality of each varies. Both aim to revolutionize how we think about domain names, but they do so in distinct ways. This article aims to dissect these differences, focusing on domain minting, name resolution, and the technical intricacies that define each system.
Web2 and Web3 domains
What would be most helpful is to start by explaining what the difference is between web2 domains (.com, .inc, .wtf etc.) and web3 domains (in this case, .eth)
Web2 domains
Domains provide a human-readable address (e.g., 3dns.box) for a specific location on the internet, which corresponds to a machine-readable IP address (e.g., 192.168.1.1). The Domain Name System (DNS) facilitates the translation between the domain name and the IP address, directing users to the desired web resources when they enter the domain name into their browser.
Web3 domains
Web3 domains, specifically ENS, provides human-readable domain names within the Ethereum blockchain, replacing traditional numeric addresses (0x1234…) with easily memorable names (pudgypenguin.eth). They facilitate the resolution of domain names to various types of records, including Ethereum addresses, other cryptocurrency addresses, and content hashes, simplifying user interactions within the web3 ecosystem.
Domain Minting: NFTs and Ownership Models
3DNS
3DNS takes a different approach to domain minting by integrating with ICANN, the Internet Corporation for Assigned Names and Numbers. This allows 3DNS to offer TLDs like .com
, .xyz
, and .io
, among others. When a user registers a domain, it's initially created in an offchain ICANN registrar. Shortly after, an NFT is minted on chain, serving as the definitive record of ownership.
The smart contracts governing this process ensure a one-to-one correspondence between the offchain registrar and the onchain NFT. Any update to the onchain data requires possession of the NFT, effectively making the domain owner the sole entity capable of modifying domain records.
ENS
ENS operates purely on the Ethereum blockchain and offers the .eth
TLD. Domain minting occurs through a set of smart contracts, with ownership represented as an NFT. ENS doesn't interact with ICANN, meaning the .eth extension doesn’t resolve in the browser or offer traditional TLDs. This makes ENS less integrated with the existing domain name infrastructure but offers a more straightforward blockchain-native approach for abstracting away the complexities around wallets. You are able to import your web2 domain into ENS. When you import it, it’s generated as an NFT, and you can use it like you would any other NFT. The difference is that when you transfer the NFT, you don’t actually transfer the ownership of the domain in the web2 world. You also aren’t able to update name servers, A records or anything else associated with that domain.
Name Resolution: Browsers and Interoperability
3DNS
3DNS domains resolve in browsers exactly like traditional domains. Since 3DNS aligns with ICANN, it can offer a seamless transition from traditional to blockchain-based domains, without requiring users to adopt new browsing habits or software. By using NFT’s to manage domains, 3DNS adds an extra layer of security, ensuring a tamper-proof domain management system that fortifies frontends of websites against common threats.
ENS
ENS names do not natively resolve in browsers. To view an ENS-based website, one needs to upload data to IPFS, and add the content hash to their ENS. It will then be resolved through a .limo extension. This adds an extra layer of complexity for end-users and makes ENS somewhat isolated from the traditional web.
Functionality: How can I use each domain?
3DNS
When using a domain with 3DNS, you are essentially combining all of the functionalities that you get with a traditional domain - updating name servers, add A record, etc. with ENS functionalities of facilitating the resolution of various types of records, including ETH addresses, other crypto addresses, and content hashes like an IPFS hash. When you transfer the domain to a different wallet or sell it on Opensea, you transfer the ownership of the domain in the web2 world.
ENS
As stated above, ENS resolves various types of records, including ETH addresses, other crypto addresses, txt records and content hashes. One of the standout benefits of ENS is its ability to transform cryptic, machine-oriented addresses into human-friendly identifiers. By mapping complex Ethereum addresses to easily memorable names, ENS significantly lowers the barrier to entry for users less familiar with blockchain technology. This simplification fosters a more user-friendly experience, making interactions with blockchain-based systems less intimidating and more accessible. Moreover, the ability to resolve various types of records not only enhances usability but also paves the way for a plethora of innovative applications, fostering a more inclusive and adaptable blockchain ecosystem.
Technical Intricacies: Smart Contracts and Security
3DNS
3DNS employs a dual-layer architecture involving both offchain and onchain components. The offchain component is compliant with ICANN regulations, thus inheriting the security and trust protocols of the existing DNS infrastructure. The onchain component utilizes Optimisim’s smart contract functionality to enforce ownership and enable features like domain liquidity and secure, quick transfers like any other NFT.
ENS
ENS relies on Ethereum smart contracts, with a central ENS Registry contract maintaining a list of all domain names and their associated Resolvers and Owners. The architecture is modular, allowing for the addition of new functionalities over time, like when they enabled users to import their web2 domain (3dns.box for example) and have it function like a .eth domain.