Waves Domains: decentralized naming service
Aiming to simplify the use of crypto wallets and the Waves ecosystem, Keeper is launching its own naming service for wallet addresses. With the flaws of previously implemented aliases on Waves in mind, we have built our service to allow users fully control their wallet names, as well as enjoy some advanced functionality. Thanks to the use of NFT technology, our new address name service is capable of facilitating mass adoption while eliminating all the shortcomings of such systems.
What is wrong with regular wallet addresses?
If you’ve ever sent or received crypto, you must be familiar with a hassle that the default wallet addresses are. They’re cumbersome, impossible to memorize and, more often than not, to even read. While ensuring that every address is unique, they are anything but human friendly. Typing one in manually is a bad idea, as you risk to make an error resulting in your money transferred to an unexisting address and effectively, gone.
Of course, the copying and pasting capabilities of our devices somewhat deal with the problem, but it creates a cycle of extra actions that eventually spiral out of control and make such simple operations as transferring money time-consuming and stressful. And it is not always 100% foolproof, as you can copy only a part of the address and make a mistake anyway.
There have been various attempts to solve these problems. For instance, Waves blockchain has a checksum in its addresses. This lets users make sure that they typed in the right address, as it checks the values and warns the user of an invalid address.
Still, checksums don’t make any improvements on the readability side. While you can paste the right address, there’s no clear confirmation that this address belongs to the right receiver. This is the matter of assurance. How many times would you usually check the transaction confirmation screen before clicking the final “OK”? You may know for a fact that the info you look at is right, but your brain still doesn’t get the full picture, which makes you feel a bit anxious whenever you click that “send” button.
Why don’t aliases work for us?
At one point, Waves implemented a mechanism that allowed users to register aliases, 4–30 character long usernames that are easy to read. They could be taken for an account name, and users could use it for transactions instead of a wallet address. While convenient, over time, aliases had proven to have some major drawbacks:
- Any number of aliases could be created for one account. And these aliases were too cheap to register. They are still being registered en masse by abusers in multiple variations, in hopes that someone will mistakenly type in one of their aliases and send them assets.
- Aliases cannot be transferred or deleted.
- An alias is registered forever, it has an unlimited lifetime.
- You can’t define what the default alias for an account is.
This is why aliases are not widely used now. Just like regular addresses, they lack scalability and versatility, since they can be utilized only as wallet addresses with no extra functionality.
What would work?
So what makes the perfect address naming solution? First of all, unlimited lifetime is a bad practice due to squatters who can just occupy popular names indefinitely. The ownership should be economically justified. Users need to be able to resell the name or just discard it.
Users should be able to choose a default name as well as to connect it not only to the wallet address, but also to other things, such as a website address, a particular transaction link, etc. The same name must be bindable to several things at once, with the possibility of a contextual choice.
What is the Waves Domains solution?
Keeper makes it possible to implement a system with all the required features in place. Essentially, this is a blockchain protocol on Waves that operates in a similar manner to the Web 2.0 DNS, only more secure and censorship-resistant.
There is a multi-signature controlled root registrar. Its job is registering top-level names. Each name is represented as an NFT. This means that the name can be viewed in the wallet, traded or transferred to another user. The owner of the name is the one who owns that NFT.
The name owner may transfer, sell, bind it to anything, change its settings, create subsidiary names, and distribute them to other users. The owner can also assign a special smart contract that regulates the name’s usage and its parameters. It can tell if the name is bound to a website address, or a wallet, or something else.
Upon buying a name, an owner can use it to represent themselves in various services, such as the UI of any wallet, exchange, etc. Any project can buy a name and use it for its own purposes: loyalty programs, boosting, limited access to the service, and more.
What is the current status? When is the launch and how will it happen?
In the first phase, the registrar will create only one top-level name: “.waves”.
Registrar will be configured to grant second-level naming rights (example.waves) based on the results of a Vickrey auction. This means that during the allotted time, participants place their bids without revealing the lot and the bid size. At the end, all participants reveal their bids. The lot is won by the highest bidder. There can be an unlimited number of lots at once.
As soon as one auction is finalized, a new one will start from that moment.
The winner pays the second highest price offered by another bidder. A sealed-bid auction allows us to protect participants from targeting popular names. And it helps in determining the lot’s fair market price.
The first auction starts next week. Follow us to stay updated. A project roadmap will also be published soon.