Deployment of ENS equivalent Fuse Domain Name Service (FNS) on Fuse

Summary

This draft FIP describes the details of the Fuse Domain Name Service (FNS), a proposed protocol and ABI definition that provides flexible resolution of short, human-readable names to service and resource identifiers, as defined in EIP-137 (ENS on Ethereum). This permits users and developers to refer to human-readable and easy to remember names, and permits those names to be updated as necessary when the underlying resource (contract, content-addressed data, etc) changes.

The goal of domain names is to provide stable, human-readable identifiers that can be used to specify network resources. In this way, users can enter a memorable string, such as ‘mark.fuse’ or ‘www.flambu.fuse’, and be directed to the appropriate resource. The mapping between names and resources may change over time, so a user may change wallets, or a website may change hosts, without the domain name changing.

Motivation/Rationale

As the ENS on Ethereum proved to be very useful and saw great adoption, we believe that a similar service on Fuse will be beneficial for Fuse and even see greater adoption thanks to lower transaction fees on Fuse network, as well as it will be useful for different applications being developed on Fuse for better UX. For example, each user of Flambu, may have their subdomain created for them automatically and connected to their wallet address in the app, so that users can easily send and receive funds by just typing the subnames under the specific domain related to the app (e.g. mark.flambu.fuse can send funds to maor.flambu.fuse, by just sending to maor inside the flambu app, which will be resolved to the full domain address maor.flambu.fuse to the connected wallet address).

In addition to the usefulness of the feature inside the apps, we believe it is a great opportunity for the Fuse ecosystem to have a domain service since the late announcement of ENS airdrop raised greater awareness and adoption, but many people that would like to have a specific domain on Ethereum ENS and can not afford the high transaction gas fees on Ethereum, can register their names on Fuse. Moreover, with the development of the new NFT marketplace on Fuse, people can buy/sell/swap their owned domain names as easily as any other NFT.

Objective(s)

  • Make ENS available on the Fuse network with any necessary adjustments so that every individual or service can claim their domains which can in turn be used individually or on separate service levels by different organizations that build on Fuse.

Deliverable(s)

  • Deploying ENS contracts on Fuse mainnet after adjusting the necessary parts - eg, the top-level domain will be .fuse instead of .eth
  • Creating a UI that connects with Fuse mainnet (and for testing purposes Spark testnet) for registering and setting Primary FNS aligned with Fuse’s brand guidelines

Cost of Registering domains on Fuse

Initially registration costs will be set at the following prices (same as in ENS, but will be effectively much cheaper to register on Fuse due to much lower transaction fees):

  • 5+ character .fuse names: $5 in FUSE per year.
  • 4 character .fuse names: $160 in FUSE per year.
  • 3 character .fuse names $640 in FUSE per year.

3 and 4 character names have higher pricing to reflect the small number of these names available.

Budget

TBD. We have already started testing the deployments and we will propose a budget after validating the deployment on Spark testnet.

Contributor(s)

Bertrand Juglas: Fuse Assembly member & Blockchain Engineer at Request Network, DevOps+ Cloud+Blockchain engineering background of 20 years

Maor Stamati: Fuse Assembly member, Co-founder & CEO of Flambu, QA, Backend & Full stack development background of 9 years.

10 Likes

Good idea and will be useful for the Network.

Could you expand the comparison with ENS costs and why shorter names are more expensive.

Has a grant amount been decided?

Rob

1 Like

@RB_1010

Similar as with ENS, shorter names are more expensive because they are more popular and because there are fewer shorter names available. Less characters equals less options :slight_smile:

1 Like

@RB_1010 thanks for the question and sorry for the late reply!

About the shorter ENS names, it is indeed as @LucCrypto explained, as there are fewer short names and there is naturally a higher demand, they are more expensive. We took the pricing as-is from the original ENS project, but it is open for discussion, we can lower those prices.

As for the budget, we have so far spent about 30 hours combined with Bertrand and managed to deploy the main contracts to the Spark network, but it is still hard to give an estimation for the overall timeline and therefore the budget because we have faced many issues while trying to deploy due to compatibility issues with hardhat as well as some issues related to the Fuse explorer. Also this weekend we will join the NFTHack by ETHGlobal so hopefully we will make more progress. We will update the required budget as soon as we can have a good estimation.

Initially registration costs will be set at the following prices (same as in ENS, but will be effectively much cheaper to register on Fuse due to much lower transaction fees):

  • 5+ character .fuse names: $5 in FUSE per year.
  • 4 character .fuse names: $160 in FUSE per year.
  • 3 character .fuse names $640 in FUSE per year.

Unstoppable Domains allow you to mint domains on Polygon for free and have only a one-time registration fee and no renewal fees on Ethereum. “Per year” sounds like I have to renew my domain every year, as in today’s Web 2.0 world. If that’s the case, why is it when I could just hold an NFT that doesn’t have a follow up cost every year.

All domain purchases are a one-time payment. Unstoppable Domains have no renewal fees.

2 Likes

@jan thanks for sharing this. I think both have advantages, for example in ENS renewal fees create a continuous revenue source for the project, but I agree that the unstoppable domains model seems fairer and more relevant for web3. We can create a model in the middle, for example:

5+ characters: $5 in Fuse per year or $25 in Fuse forever
4 characters: $20 in Fuse per year or $100 in Fuse forever
3 characters: $100 in Fuse per year or $500 in Fuse forever

NOTE: The amounts above are just examples, we can finalize the numbers later if we decide that this makes sense. A more sophisticated model can also be created where the price for a domain can change according to different factors such as how many times a certain domain was searched or other factors, but I think it overcomplicates it a bit :slight_smile:

By the way, we have also considered with @bert0x to use Superfluid to create a continuous subscription for the domains so that the user can start a payment stream and use it as long as they need and then stop when they don’t need it anymore (no strings attached model).

1 Like

I like the idea of a one-time fee, and I think it’s also fair to increase the price as needed. I also see the ongoing revenue stream, but I don’t think it’s fair to charge for something that doesn’t have a monthly cost. Of course, it’s up to you how you design your business model in this area. That’s just my two cents :slight_smile:

1 Like

Thanks for your input I appreciate it and I think you’re right the fixed cost makes more sense as well :slightly_smiling_face: @bert0x what do you think?

1 Like

I think we don’t base FNS on Unstoppable Domains which I’ve not seen used yet in most of the dApps and which has done much marketing by dumping the sustainability of the recurring revenue and pumping the pricing to one-time fee to get it upfront as much as possible.
So I believe more in a DAO which will get funded by the usage of the service to maintain it than something to get a grant without any maintenance after it because people think there isn’t monthly cost.
If we want to do marketing then we can also mint domains for free on Fuse but we don’t have the same funding than Unstoppable Domains centralized company neither the same spirit. I feel much more aligned with ENS decentralization.

This is nice, I’m happy this is even being considered!

I support the fixed cost too. And like ENS a token of its own could be made

1 Like

Good idea.

And I suggest we can provide some discount for $FUSE early users and ENS users.
For early $FUSE users: it’s easy to understand.
For ENS users: I think the ENS users might be the early adopter for Web3 domain services, with their support, we can let the FNS expand easier.

1 Like

I was even thinking to offer free migration from ENS to FNS, so for example migrating from juglas.eth to juglas.fuse
What would you think about that @kevin0x0 ?

2 Likes

@bert0x I also think that it is a great idea to let users of ENS to claim their same domain names on FNS. The question is will it be technically feasible to develop?

yes, NEAR wallet also cant use short addres,like XXXXX.near ,
but metamask know short address?

yes by using the AMB bridge or ENS subgraph to check if the connected address owns the ENS name claimed.