The mission of the Solana name service is to provide a decentralized and affordable way to map domain names (.sol) to on-chain data. This on-chain data could be anything from a SOL address to IPFS CID, images, text, and what have you.
One of the clear benefits of the name service is to have a human readable name that can map to a SOL address. Why does it matter? Because SOL address formats are a barrier to adoption, and having a human readable address facilitates payments by allowing people to exchange assets by simply sharing a name (e.g bonfida.sol).
But Solana domain names can have much broader applications than just payments. For instance, the data stored on-chain could be an IPFS CID (i.e the unique identifier of a website hosted on the IPFS network).
Most dApps have a single point of failure which is the centralized and censorable domain name. However, on-chain domain names cannot be censored or taken away. Therefore a website hosted on IPFS (or Arweave), and using a Solana domain name would be completely decentralized and very difficult to censor.
However, the mapping would not work with out of the box web browser’s, an extension would be needed to request the on-chain data when the domain name is typed into the URL search bar. Ideally this feature will be supported in all Solana web wallets (such as Phantom and Sollet extensions).
This all sounds great, but how does domain name registration work? Technically it’s very simple, it’s just an instruction that needs to be signed by the root TLD (Top Level Domain) authority which only costs a gas fee. But how do we make the distribution fair? If the registration process cost is just gas fees, each .sol domain will be worth less than 0.1 USD (at the time of writing). And this would be the only cost of registering a domain name for life. This is awesome because it makes domain registration really cheap and affordable, but also creates significant concern about the initial registration. Anyone could come and claim an enormous amount of domain names and then try to resell them. This wouldn’t be fair. In order to solve this problem we decided to take a market driven approach and use an auction system.
Therefore, anytime someone wants to register a domain it will create an auction. All auctions are public and will last for 7 days. This will allow other market participants to see domain names that are being auctioned and bid on them.
In order to prevent scammers and impersonators we decided to add another safeguard mechanism by preserving some domains for people who might be at risk of being impersonated.
These domains will appear as “RESERVED BY BONFIDA”
They are both part of the Solana name service, yet are slightly different. The Twitter handles can only be claimed by the owner of the Twitter account that is being claimed. In order to guarantee this, the user needs to tweet the public key he wants to associate with the account and then sign a transaction using the same public key. An oracle will then verify that the public key contained in the tweet matches with the signer. In practice, this means that twitter names are already reserved. Twitter users just need to claim their public key by tweeting.
However, this has privacy implications and requires you to have a Twitter account. This is where .sol domain names are useful. The domain names serve the same purpose as twitter handles except that they do not require to reveal any personal information or twitter account.