You are using someone elses infrastructure, and even if you have done everything possible to minimize their overhead, you are still planning to use them for free. I think the other suggestions made here regarding options all have merits that I am not qualified to speak on; but I do know that decentralized/federated DNS is something highly sought after in bitcoin circles like on stackernews and nostr. You could use nostr very similarly to how you use it with your current implementation; I would very much love to use it to make remote access to services on my home network more accessible, and to allow others to use those services as well. There is a built in userbase of people that would like to host everything from cloud backups to online marketplaces to browser games, but using a centralized DNS is simply not an answer for them.
Building a decentralized name system on top of IRC
31–40 of 65 posts
Re: Building a decentralized name system on top of IRC
#32This kind of thinking is a trap that I see many people fall into. Domains cost money because they have to cost money. Human-friendly names are a scarce resource (there can only be one google.com and one @johnsmith). They have value, and the market tends to reach equilibrium. If a scarce resource costs (or is given away for) less than some people are willing to pay for it, speculators will grab it and resell it for the "right" price. Free domains for everybody actually means free domains for an enterprising businessman who grabs all of them with a simple Python script in 24 hours, and then resells them for $10 a pop. We already see that with normal DNS, short and memorable domain names go for astronomical amounts, but because every registration costs money, registering more unusual domain names if you don't actually have a need for them is not a profitable strategy, and so good enough names can still be registered somewhat cheaply. You need to increase prices to make speculation unprofitable while still remaining affordable to end users. It's a balancing act.
If you don't create the barrier to entry yourself, the barrier to entry will be created for you, and not in a way you like or can control. Such a barrier doesn't have to be monetary, it can be (difficult) proof of work, centralized identity verification and abuse prevention policies, legal consequences for scalping, invitation / vouching requirements etc, but a barrier always exists, whether created by the system developers or the free market.
This only applies at large scales of course, if your system is used by 10 people and all of them trust each other, "grab any name you want for free" is totally fine.
Re: Building a decentralized name system on top of IRC
#33Earlier quoted context omitted.
veilid itself basically just provides a p2p backbone (where peers are identified by their public keys) on which you can build other applications. i.e. it's the replacement to the "random public IRC servers" part of this equation, and not the DNS-like system as a whole.
What are assumptions involved for submitting and retrieving node’s IP address with a given public key to a Veilid network? For instance how does new users discover other Veilid nodes. Are those baked in statically? What happens if public IP addresses of the network change?
There's also support for nodes that don't have public IPs at all, which connect to the network via some other node acting as a relay. In this case, they report the relay's node ID.
Re: Building a decentralized name system on top of IRC
#34> DNS costs money to use (which I argue is not suitable for all uses.) This kind of thinking is a trap that I see many people fall into. Domains cost money because they have to cost money. Human-friendly names are a scarce resource (there can only be one google.com and one @johnsmith). They have value, and the market tends to reach equilibrium. If a scarce resource costs (or is given away for) less than some people a…
Re: Building a decentralized name system on top of IRC
#35This isn’t derived from the stability of IRC itself but the network operators as there are many holes not accounted for.
You’re not guaranteed a channel on IRC networks. A network owner may decide to remove it or, if using Services, transfer ownership if someone requests. Same for nicks and other things.
I’d also be willing to bet the network operators did not sign up to host a database for free for some stranger online either.
Re: Building a decentralized name system on top of IRC
#36Re: Building a decentralized name system on top of IRC
#37I get why people are concerned about using other people's infra for this kind of thing. But I do see a use-case for that as a backup. I don't think I'd ever implement something like this without running my own server as the enforced source instance for my apps so long as my server was running. If every other IRC server wanted to prevent this kind of scheme from working on their machines, I certainly wouldn't hold it against them. But I imagine that if other people wanted to run a P2P app, they might have their own IRC instances and would be accommodating of my downtime, as I feel like I would be accommodating of theirs. Different strokes, and all, but I definitely see how this would be pretty analogous to regular IRC usage, as far as administration and data, so I don't have any particular grudge against it - at least not without looking at what kind of traffic tsunami it could eventually cause.
Re: Building a decentralized name system on top of IRC
#38Re: Building a decentralized name system on top of IRC
#39Earlier quoted context omitted.
What part of Veilid provides a key-value store for DNS as a service? I'm not seeing anything on the site that mentions it.
veilid itself basically just provides a p2p backbone (where peers are identified by their public keys) on which you can build other applications. i.e. it's the replacement to the "random public IRC servers" part of this equation, and not the DNS-like system as a whole.
Re: Building a decentralized name system on top of IRC
#40KadNode[1]? [1]: https://github.com/mwarning/KadNode