Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Now here is a controversial question... Can we have a free of cost top level domain? What are the actual costs associated with registering a domain? If let's encrypt can provide secure certificates free of cost, why can't a different no profit provide domains free of cost as well? It doesn't have to be pretty. It could be a UUID v7 stacked on top of another UUID v7 for all I care but it would be globally unique and available free of cost.

And once you go to the site, your browser will remember it anyway so you don't need to type the monstrosity.

Or is it a really bad idea™?



A free of cost TLD is probably not practical. There are some special things that go along with being a TLD and being in the public suffix list: https://github.com/publicsuffix/list

If you drop the TLD part though, you can do whatever you want with any domain you want, up to and including handing out free subdomains to anyone who asks. As usual, though, if you try to do this, the dark internet will make you regret it as one day, quite suddenly, you'd find you were hosting the DNS of some massive scam email or other, or any of who-can-even-enumerate ways of making you sorry you put this service up because of their abuse of it. Just like anyone can make a URL redirector, and many people even use it as a sort of "learn this language project" but if you actually put it up online you will rapidly regret it.

It's a bummer and I'm not celebrating this fact, but, yeah, it's not something you want to do.


Why can't it be a keypair like a .onion domain?

DNS is not a sybil resistance mechanism


Because .onion isn't a DNS domain. It uses the same syntax but you have to be on Tor for it to work and it does something completely different than DNS resolution. I read the original question as specifically about having top-level domains, not "something like domains that works on a special network".

Special networks can do as they like, but then they won't be DNS.


> It doesn't have to be pretty. It could be a UUID v7 stacked on top of another UUID v7 for all I care but it would be globally unique and available free of cost.

This is basically where did:plc comes in, for atproto. https://web.plc.directory/ provides free ID numbers. For example, mine is https://plc.directory/did:plc:3danwc67lo7obz2fmdg6jxcr .

Your domain then uses a txt record to indicate that you want it to be associated with that particular did:plc.


just to note, did:web is also an option, but has drawbacks like losing your identity if you lose your domain.


> It could be a UUID v7 stacked on top of another UUID v7 for all I care but it would be globally unique and available free of cost.

You're essentially talking about IPv6 addresses.

Interestingly, most residential ISPs these days already issue your home network an IPv6 /64 or better! But they (sadly) just firewall off use of most ports that residential users have no purpose for — on my own network, even if I configure my router to allocate each machine on the network a public-routable IPv6 address, the only port the network (not the router!) is willing to allow non-established incoming flows to is 22/tcp.

But even if they worked, they'd still be ephemeral. At best, even if your ISP keeps the allocation the same, you'd lose it if/when you switch ISPs. (Similar problem to ISP email addresses.)

The real key here, would be if someone was freely giving out tiny slices of IPv6 https://en.wikipedia.org/wiki/Provider-independent_address_s... to individuals; and there were hosting providers / residential ISPs willing to add BGP routes in their ASN for these tiny prefixes. Then you could have a stable and portable and free IPv6 address for life. (It's certainly possible in theory, just not built yet — similar to how LetsEncrypt was "certainly possible in theory, just not built yet" until it was built.)

---

That being said, if you really want this to be DNS (not sure why; if it's not a short memorable name [and thus inherently competed over by typosquatters], then DNS is the wrong tool for the job), then you could do what systems like ngrok do, but directly serving those dynamic records as domains under its own gTLD, rather than serving them as subdomains under a domain. Maybe with each domain getting its own DNS zone and everything. That'd certainly be neat.

Note that way back when, the .me ccTLD sort of did this — they gave away .me "domains" for "free"; but with all web traffic on those "free" domains being intermediated by their L7 reverse-proxy servers, where they'd inject ads into any delivered HTML pages.


.tk used to be free and was the top ccTLD in the world by the number of domains registered. You can imagine what it was mostly used for.

Facebook sued the operator (Dutch company called Freenom) for facilitating phishing and now we can't have that anymore.


.tk was widely known for taking back domains once they got popular and turning them into ad spam. That's how they made money "giving" the domains away for free: lead generation, basically.


There was a .FREE initiative but that got all weird after a while, the deadlines were not respected and then nothing happened... https://icannwiki.org/.free


That's almost like regular free dynamic DNS, just people don't mentally frame "example.dyndns.net" as their online "handle"


There are some github project which offer free domains if you send them a issue asking them kindly for subdomain iirc

https://github.com/topics/free-domains

Another thing, the thing that you mention is really similar to how tor onion links work... Except they offer encryption and prevents MITM/any other ways while still having your ip hidden.

Another idea which I use sometimes is to use something like cloudflare tunnels or ssh forwarding with things like serveo.net or any ssh based remote forwarding in general like pinggy or even ngrok.

If you are using this in some internal thing, I can also suggest something like piping server which I really like and I want to build something like a web browser tor-onion links esque but on top of piping server, its really really cool

https://github.com/nwtgck/piping-server


running a domain costs money. there's no way around that - it requires server resources to respond to dns queries, and that requires servers and electricity.

so to offer it for free means somebody has to subsidize it. letsencrypt can operate because big companies with lots of money want their ads to be delivered without being intercepted by an ISP. what's the motivation for anybody to subsidize free domains?


> running a domain costs money. there's no way around that - it requires server resources to respond to dns queries, and that requires servers and electricity.

I guarantee you I can store and make available over DNS the less than 1 KiB of data for less than a penny a year.

Instead of free, charge a flat $1, put it in long term US treasuries at 5% / TIPS at 2.5% and you’ve covered your hosting costs forever. The principle will never need to be touched.


okay, so why aren't you doing that. if you can offer domains for $1, you can undercut all the existing players by a huge margin. that's a big opportunity, no?


You would need to pay the ICANN fief


Everyone would get a subdomain and so you only need to pay for 1 TLD.. that's <$20US/year.


How about DNS on a blockchain?


https://docs.ens.domains/learn/protocol/

Supporting DNS all up should be possible but organizing the other decentralized services (compute, storage) is the hard part


The name service is easy, namecoin did it more efficiently than ENS a decade ago.

The decentralized services need not be attached to some blockchain due to the resource constraints. But there are examples like Filecoin and such.


Aka DNS where if you lose your passphrase (or get phished) you irreversibly lose control of that domain.


But the tradeoff is that it’s free right?


They already work in Brave too or for other browsers if you install a webextention.


That sounds like an unnecessarily overcomplicated nightmare.


It's been tried. People quickly distribute a JavaScript snippet to remove whatever monetization you put on there, as Namezero discovered.


I might not be fully understanding the idea, but the difference here is that a let's encrypt certificate can be generated on the fly. domains are considered branding, and getting a 5 letter domain nowadays is impossible. The cost here is that you're renting a domain that others might want aswell, people don't really want your LE cert


X lets people own a 5 letter username for free. Renting names is not even industry standard for platforms. It seems like it's only DNS that charges for names.


Just FYI: there is handshake. It was on HN quite a few years ago: https://handshake.org


Maybe AT over TOR? A hidden domain / onion address is totally free... I would supporting this a really nice enhancement to the protocol.


The main thing standing in the way isn't technical feasibility, it's governance and control


Umm ever heard of .tk domains?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: