Blog Contact
Avvy
The Avalanche Name Service

Dec 31, 2021 Development Update

December 31st, 2021

Happy New Year! Thank you for your continued support. We are wishing everyone health & happiness in 2022 and can't wait to deliver a great product!

If you missed last week's update, we covered the creation of the web application. This week we've made significant progress on the web app. We're anticipating 2-3 more weeks of work before the product is ready. 

In this update we'll cover:

  1. Progress that's been made.
  2. Upcoming challenges relating to keeping information private.

 

Front-end Development

This week has primarily been dedicated to development of the web app. Progress was generally smooth, though we encountered some challenges related to generating zero-knowledge proofs in the browser. This type of progress is best shown via video (see the GIF below), but to quickly cover what's been completed:

  • Users can view the domains they've registered.
  • Users can search for domains and view details such as expiry date, registrant, & whether the domain is available for auction or immediate registration.
  • Users can register domains (after the auction process has been completed)

Additionally, we've started on the UI for the auction process and have partially completed some features. Next week we will be continuing with the implementation of the auction process.

 

Domain Registration Preview

 

Privacy / User Experience Challenges

One of the privacy protections we have implemented is to hash domain names before they touch the blockchain. This prevents others from discovering what name a user has registered (with some exceptions). You can read more about the hashing mechanism in our Dec. 10, 2021 development update.

A property of the hashing mechanism is that given only a hash of a name, we are unable to determine the corresponding preimage to that hash. This is the property that gives us the privacy we desire. 

We store the preimages in the user's browser. This works great until the user changes to a different device, or clears their browser storage. Without the preimages, the web application cannot show the user which names they have registered.

We have a few possible solutions:

  1. We can have the user manually enter the preimage. For example, if I know that one of my registered names is myname.avax, I can type in myname.avax and the webapp can discover the hash. This is the simplest solution, but it's a terrible user experience. The average user shouldn't even be aware of the privacy features that are provided; they should just be able to benefit from the features and be warned if they are taking an action that may compromise privacy.
  2. We can allow a user to backup their account to a file, which they save on their computer. Later they can restore their account using this file. This solution is an improvement, but it's still a relatively poor user experience. Mobile phones & tablets often have poor filesystem support. Many modern users even lack understanding of the filesystem of their computer. Hopefully we can do better. The final drawback here is that any time changes are made to the account, a new backup has to be taken.
  3. We can use “cloud storage” or “web2” storage to store a backup of the user's account and restore that backup when they load the webapp. This solution provides the best user experience, but comes with some tradeoffs. Because data is stored on a server, users must trust that server to not snoop their data & are also vulnerable to data breaches. The optimal way to reduce the impact of the tradeoffs is to encrypt the data prior to storage, and later decrypt it.

For the moment, we will proceed with solutions (1) & (2), allowing a user to back up their account data whenever necessary. However, we believe an optional user-experience improvement would be solution (3). We will investigate whether such a solution is possible.

 

🎇 Best wishes for 2022!

 We hope everyone enjoys New Years Eve & we are looking forward to the New Year! 

 

Join Our Community

Join us on social media to keep up with news & development.

Twitter  x  Telegram  x  Discord