-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug: resolver.cloudflare-eth.com is down; change default ENS resolver? #771
Comments
A few other options: Solution (D): Mandate multiple resolvers for defaultsInsist that any naming system that wants to be included by default in boxo provide multiple (2 or 3?) independently operated trusted DNS resolvers and then add some logic in boxo to be able to try the others should one of them fail consistently. Some notes:
Solution (E): Have the dweb.link maintainers maintain public DNSLink infra that can be more agile / adaptable to issuesThis basically hides the existing problem behind a party that is likely to be more closely aligned with the boxo maintainers. On its own this basically trades one centralized party for another. That the centralized party is closer aligned with the library and its dependents can be helpful, but it also seems reasonable that responsibility around continuity of these naming systems should reside with their communities. Continuity questions are ones we'd have to bring up when considering new defaults. Solution (F): Use default Ethereum JSON RPC endpoints rather than default ENS resolversThere are many more Ethereum JSON RPC providers than ENS providers so we could use a library (e.g. https://github.com/wealdtech/go-ens) to do the ENS translation (and handle CCIP, etc.). The two major downsides here are:
Solution (G): Implement verifiable decentralized ENS resolutionInstead of using a DoH resolver for ENS, implement a way of fetching ENS data verifiably from a distributed set of peers. Personally I'd like to see this happen, but I suspect that realistically it's a lot of work and would require some coordination and funding from the ENS community to make it happen. While I tend to agree with not wanting to pick "winners", perform gatekeeping, or deal with extra maintenance work I feel less bad about giving some preferential treatment to protocols where:
Realistically, I suspect the best path forward for now is:
|
For (G) I believe the recently launched Portal Network is likely at least part of the solution, combined with some sort of light client. The Portal Network is a state storage system that allows participants to distribute all state over a large decentralized network. You would still need a light client that can do ENS resolution (which likely requires running an EVM). In theory, one should be able to build a light client to achieve these goals, but I don't believe one exists as of yet. |
Problem
DNSLinks that use ENS (websites on
.eth
TLD) are broken for users that runboxo/gateway
with default settings (incl. Kubo, Rainbow, IPFS Desktop).Cloudflare resolver at
https://resolver.cloudflare-eth.com/dns-query
is currently broken and results no DNSLink results ("Answer":[]
at the end):We've reported outage to Cloudflare, but if it does not get fixed until January when the team is back from holidays, we should consider removing .eth support from implicit defaults in Boxo (and Kubo), or switch implicit default to a different DoH resolver.
Solution
We could make things more robust by supporting fallbacks (ipfs/kubo#8173) but for that we need more than one, and it seems ENS has only one stable resolver atm.
So the options are:
Solution (A): do nothing, wait for
resolver.cloudflare-eth.com
to be fixedThis happens once a year on average. Acceptable? 🤷
Solution (B): remove default resolver for
.eth
This would break all ENS websites, and require all end users to choose or set up their own resolver.
Probably not what we want given ENS+IPFS use in the wider ecosystem, but writing this down here for completeness.
Solution (C): switch URL to
https://dns.eth.limo/dns-query
The DoH at
https://dns.eth.limo/dns-query
is a good candidate, seems to be well maintained and provided non-empty DNSLink in"Answer"
:(this is not final decision, consider this commit as a way fo kicking-off conversation what we should do in 2025 to minimize issues with proxied naming systems like ENS)
Solution (D): ?
Other ideas welcome.
The text was updated successfully, but these errors were encountered: