ยฎ๏ธDexNS 2021
Last updated
Last updated
Dexaranโs Naming Service, DexNS (named after myself obviously) is the first naming service developed for Ethereum CLassic mainnet. It goes live on Dec 21, 2017 (check the EthereumCommonwealth announcement).
Ethereumโs Naming Service, ENS was being developed and launched at about the same time (March 2017), however, its launch was not going as smooth and the first ENS launch was postponed due to contract vulnerability (read ENS launch postmortem). For that reason, it was decided to use DexNS as the naming service on the ETC chain at that moment. On Dec 17, 2017 Ethereum CLassic Naming Service (ECNS) was successfully ported and launched on ETC mainnet (read my announcement and proposal thread here).
One way or another, ENS, ECNS, and DexNS coexisted at that time. DexNS had its own UI (also developed by me) at dexaran.github.io/nameservice. It was deprecated in favor of ClassicEtherWallet at the moment EthereumCommonwealth started maintaining it (I remember this commit with some nostalgia: Goodbye DexNS).
Later on DexNS was redesigned to become a cross-chain naming service with a focus on users and mass adoption while ENS focused on a more complex structure mosty suitable for organizations rather than ordinary users. DexNS was natively supported by ClassicEtherWallet while EthereumCommonwealth was developing it (watch this ETC tweet for info).
Currently DexNS is still operating on ETC mainnet and is available live on wallet.callisto.network. Registered names still persist and if you register a new name on ETC mainnet then it will allow you to use it on any chain that is supported by wallet.callisto.network.
If you will type a Name (for example โdexaranโ without quotes) to the address input at Send Transaction tab then it will fetch your Name against DexNS and find its assigned address if there is one.
Immutable since 2017. This is how the โoldโ DexNS was intended to operate. For reference, I will call it DexNS 2017.
Now it was decided to redesign it once again and launch at Callisto Network mainnet as an upgraded DexNS 2021 version. Letโs dive into details.
Long story short: in 2017 Names were code, now Names will be NFTs.
Lately I published a new article describing a new Non-Fungible Token standard, CallistoNFT.
And so, itโs time to apply this standard and illustrate its advantages in action!
DexNS is a good trial as Names are organically converted to NFTs and this can significantly improve the Name management process (which was relatively cumbersome in DexNS 2017 and even more difficult with ENS / ECNS).
Name NFTs to have actual use cases (they replace your hexadecimal addresses that no living person can remember) and serve as potential proof of identity.
DexNS 2021 is a smart contract that can create special NFTs โ Names.
The Name is a digital entity with a relatively complex structure. The Name NFT can store the following data:
Assignee addressโ who this NFT points to.
Ownerโs address โ who has the right to assign this NFT to an address.
Expiry date โ determines how long this name will last.
Metadata (Properties) defined by CallistoNFT standard โ this is where things start to get interesting. Metadata can be used to attach any text data to the NFT that you own on-chain and allow any third-party services to read it (explorers, wallets). For example, you can assign it a link to your personal website, your email, and your Telegram account, thus connecting your on-chain hex-address to your media accounts and creating the live proof (written in the NFT you own).
DexNS allows users to โrentโ Names and allows them to manage the contents of owned Names on-chain.
A Name can be purchased with a fixed fee for a fixed period of time (currently 820 CLO per name for 365 days; this is subject to change prior to launch). Each Name is identified by an ASCII string (lowercase only) โ โdexaranโ โDexaranโ โDeXaRaNโ are the same Name from DexNSโs point of view and it will only allow it to be registered once.
First come, first served acquisition principle โ clear and simple. You want a Name โ you pay for it and get it instantly. No auctions, no delays.
The owner of a name can renew it for another 365 days at any time โ other users cannot buy names that are currently owned. However, if the owner of the Name is unable to renew their payment within 365 days, the Name will again become available for public purchase and the NFT will be forcefully reissued to the new owner if he pays it.
Why donโt we fork the ENS and need our own Naming service? The reasons remain the same as in 2017:
ENS is mostly suitable for organizations, not ordinary users.
ENS names are acquired via auctions which introduce delays. DexNS names are acquired instantly.
The format of the metadata is important here โ setting up ENS Resolver is not an easy task for a person without basic programming experience. Setting up DexNS metadata is just one contract call, which can be described as a set of simple instructions that anyone can follow if they can read.
With the introduction of the CallistoNFT standard and implementation of NFT-Names, we eliminate the necessity of Name marketplaces. CallistoNFT introduces a โbuilt-in tradesโ feature โ anyone can track your Names, anyone can offer you money for it without any 3d parties involved.
Operating with human-readable Names is a step towards improving user experience as compared to hex-addresses.
For comparison, you can take a look at the EOS account system. Here is one EOS account dexaraniiznx. EOS account is a 12-symbol string connected to a set of keys with different action permissions. These account names can be easily remembered and operated with by ordinary people. Also, this solves the problem of sending to a non-existing account โ if you try to send to the name that is not registered then the transaction will not happen.
Anyone can register a new EOS account at any time by paying a โresource feeโ (roughly $7 at the moment of writing). Oddly enough this works similar to how DexNS was intended to operate. In EOS this is a built-in feature at the protocol level. In Ethereum we have to construct such a system ourselves and we utilize smart contracts for this purpose.
Naming Services solve the following problems:
User Experience
Sending to non-existent (not owned by anyone) addresses
Identity verification
Connecting on-chain activity to external media resources
Attaching metadata to important addresses on-chain