Has that been true for very long? It seems like nowadays it is trivial, but a decade ago it was extremely common for users to have to do manual port forwarding to receive connections.
As for VPSs, that's basically a non-starter in terms of user experience, similar to the issue you raise with p2p software. For the audience of HN, NAT etc. are a non-issue, but for real democratization to occur, the process needs to be as simple as "install app, run app, share link provided by app to friends".
The point about VPSs is that extra public IPs have been easily available. If simply being able to receive incoming connections was sufficient, the process of setting up a VPS would have been easily automated. In reality, server-based protocols such as HTTP/DNS are insufficient for decentralization, and developing replacements takes work.
That seems to be true but I’m unsure as to why. What’s your take?
2. Even worse, the single authority is bound to a single (logical) authoritative server.
Using pubkeys for names, like Freenet or IPNS, solves (2) but not (1). Which does allow content to be wholly retrieved from peers (a massive step up!), but still relies on a single authority. So I would think that well-known authorities will still crop up, centralize, and abuse market inefficiency. Although much easier to fork, so more pressure to behave (imagine being able to say hey use my faceboot alternative at http://newsite.com, and have all the content automatically there, without the hostile software!).
I've been thinking about this for quite some time, and ideally (1) would be solved as well. The only system I've seen in the wild that attempts to distribute authority itself is Camlistore's "claims". But the idea being that a "far" link should truly be changeable by the end user, rather than to a singular authority.
It's a massive pita for reliable consumer VoIP.