Ja Groot Profile picture
Jan 5 15 tweets 8 min read
The @ensdomains protocol is without a doubt one of the most important public goods to have been built for the ecosystem.

Without it, we would still be stuck in the primitive days of using (and squinting) at “0x2345..” addresses: one oopsies and your assets could be gone!

1/ 🧵
However, with increasingly common practice of associating your social profiles with a .eth domain, as well as the ease of examining any ENS name using a block explorer, this is incredibly troublesome for privacy UX!

This is something @ChainSafeth Solutions set out to solve.

2/
Begging the question: “Exactly how do we preserve the convenience of ENS names without sacrificing a user’s privacy?”

After a few trials, we settled on a potential solution with the aid of the L2 zk-rollup @aztecnetwork and zk.money.

3/
In the spirit of transparency, you can find our full @ensdomains specification here: hackmd.io/@jagrooot/Bked…

Here are the facts:
4/
✅ We need to decouple the receiving and spending addresses
✅ No computationally feasible means of associating the two addresses
✅ Receiving address needs to remain public
✅ Separate communication channels should NOT be required
✅ UX should not be overly complicated

5/
Since @ensdomains gives users the ability to set custom resolvers using the setResolver() method, we can write our own custom resolver to redirect funds to @aztecnetwork’s RollupProcessor.sol contract!

6/
Aztec’s Falafel (rollup service) will then listen for and process the deposit event, where the user can then either use it on L2 or withdraw to a different L1 address.

7/
Of course, this work involves writing a custom resolver contract for @ensdomains, and you can see the full proposal in our blog here: blog.chainsafe.io/bringing-priva…

8/
There's implementation details which haven't been worked out yet, as some manual work still needs to be done by the sender.

We've laid out some options, incl. creating a new EIP, or creating a custom @MetaMask #Snap (we're really flexing our ecosystem expertise here ;))

9/
Using our @aztecnetwork implementation for @ensdomains privacy, the current gas costs are:

Deposit ⛽️: 51,000 gas
Internal send ⛽️: 17,000 gas
Withdraw ⛽️: 5,000 gas for ETH to EOA; 30,000 gas to contract.

10/
@Aztecnetwork guarantees private txs within L2, meaning that a sender’s identity or balance is not visible to anyone. Users can simply use zkMoney’s UI for withdrawal to any other L1 address (don’t use your original ENS name address)!

11/
With a simple registration on zkMoney and the help of our custom resolver, an @ensdomains user can now receive publicly and spend privately, thanks to @aztecnetwork!

Check out this video demo of how it would work:

12/
We presented this at the @ensdomains @ens_DAO Weekly Ecosystem Meeting in Dec 2022, and drafted a formal DAO forum post here: discuss.ens.domains/t/using-aztec-…

13/
We’d love to hear more! Please respond to our ENS DAO forum post, comment in our blog, or comment directly in this tweet thread. If this is useful for end users at all, we’d love to keep exploring in this direction to bring privacy to one of our most important public goods!

14/
To read the full blog, including introductions to @ensdomains, @aztecnetwork, as well as the full implementation details, you can check it out here: blog.chainsafe.io/bringing-priva…

FIN

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ja Groot

Ja Groot Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(