3 ms·
The easiest path to decentralization is to either: 1 Give every user a publicly reachable IP address at their home or business, or 2 Give every user an accoun
by gwu78 13y ago
The easiest path to decentralization is to either:
1 Give every user a publicly reachable IP address at their home or business, or
2 Give every user an account with some remote organization that with a publicly reachable IP address, where the user can be listed in some sort of IP address directory. (Some users now use "dynamic DNS" for this purpose.)
I say 1 is better than 2.
The first big hurdle in the problem of decentralization is reachability; 30 years later, users of today's internet are not "directly" connected for two way communication. By getting users past this initial hurdle of end-to-end connectivity, it opens up the problem of centralization for all developers to solve. The user can pick and choose her software to make direct connections to other users, or she can choose none of it.
The www is a given. Every web developer assumes users can access the www. Direct connections to other users should also be a given. And every developer should be able to assume that users can connect to each other.
It's clear that users want direct connections to each other. They want to communicate. The success of store and forward solutions like email over several decades is proof. What's not clear is that they want (or need) a middleman to broker their connections.
- amirmc 13y agoI agree and I'm working on a tool that helps with this [1] but based on domain names. Of course that still depends on the registrars (e.g Verisign) but we believe it's easier for folks to remember names rather than numbers and then use the infrastructure. There's a paper we wrote that goes over the architecture and examples, in case you're interested [2]. [1] http://nymote.org/software/signpost/ http://nymote.org/software/signpost/ [2] http://nymote.org/docs/2013-foci-signposts.pdf http://nymote.org/docs/2013-foci-signposts.pdf
- gwu78 13y ago".. we believe it's easier for folks to remember names rather than numbers..." Yes, but regardless of whether they use names or numbers, they still cannot get "public reachability" (a public IP address and allowance of unsolicited ingress traffic) without either getting a publicly reachable IP address (ISP's in the US call this a "business class" account) i.e. option 1 or somehow involving at least one computer that already has public reachability i.e. option 2 or 3. At least, _I_ know of no other way. If you know how to create public reachability without giving the user a publicly reachable IP address or involving a computer that already has public reachability, please develop and release the code; I think you are a networking genius and have done the impossible! In any event, my point is that it's probably better that the computer that already has public reachability be owned and controlled _by the user_, not some third party "provider". The user should only need one provider to communicate over the internet: their ISP. I say just give users a publicly reachable IP address: "upgrade" their account with the ISP to allow unsolicited ingress connections. A myriad of communications and data synchronization solutions will follow. I reckon developers would love to write code for an end-to-end network. It would certainly be more functional that one where eevrything must be done via HTTP through a "web browser". OCaml NaCl and dnscurve. Nice work! I hope your project succeeds!