Hacker News new | ask | show | jobs
by preseinger 1657 days ago
What? Practical addressability requires centralization by definition. How could it work otherwise?
3 comments

If we go for human-readable and decentralized with reasonable security, we can look towards 'petname' systems, like the 'Address Book' software popular on the I2P network. Petnames are the subjective binding of public keys to shortened names, where a user resolves domain names to keys according to a combination of their own personal list (which can be easily expanded with specially-formatted 'address helper links') and the lists of third parties which they have chosen to trust (or which they have been bootstrapped into, thus trusting the bootstrapper by proxy). No need for environmentally unfriendly proof of work schemes or what-have-you. This falls on the 'less secure' point of Zooko's Triangle in the sense that, although it is very practical, decentralized, and usually avoids conflict, it does have trust-based security flaws if those providing their lists ('resolvers' if you will) manage to swap out keys for a petname without anyone noticing.
You're suggesting each user maintain their own DNS lookup table?
See https://en.wikipedia.org/wiki/Zooko%27s_triangle for an exploration of the tradeoffs.
From the PetNames site,

> Each name set consists of three elements: a key that is global and securely unique (but not necessarily memorable); a nickname that is global and memorable (but not at all unique), and a petname that is securely unique and memorable (but private, not global)

An essential component of a practical addressing system is names which are global, memorable, _and_ unique. Colloquially, I need to be able to say "Google dot com" over the phone to someone, and their experience using that name needs to be identical to mine. A system that doesn't provide this property doesn't solve the problem.

...for an arbitrary definition of "practical".

There isn't a single world-wide authority that assigns names to people or companies, or plate numbers to cars or airplanes. It's partially federated and we accept the tradeoffs.

Humans can use ad-hoc disambiguation where needed - "it's the A1 Computers down by the lake" - but computers can't handle one name resolving to two different sites. When a1computers.com is registered twice, it won't automaticallychange one to a1computersdownbythelake.com and the other to a1computersbytheairport.com.
> computers can't handle one name resolving to two different sites

There's plenty of ways do to so: by configuration, by quorum, by bookmarking pet names on first use, or by asking the use (what every search engine does when people look up e.g. "netflix")

I'm all for embracing the invariants of eventual consistency, but an internet addressing system without an authoritative (i.e. centralized) truth is practically useless.
We're talking about name resolution on the internet. Some source of authority is required to keep the overall system sound. Said another way, if two people query the same name and get categorically different answers, or reliably non-deterministic answers, the system is unsound.