keybase / keybase-issues

A single repo for managing publicly recognized issues with the keybase client, installer, and website.
902 stars 37 forks source link

Registering names on the Bitcoin blockchain #446

Open oleganza opened 10 years ago

oleganza commented 10 years ago

We need a system of rules to register and transfer unique names using Bitcoin blockchain. Since names are not fungible and anyone can start a competing protocol, the social problem must be solved: initially people should not be able to squat names without restrictions (like in Namecoin) and when the critical mass of early adopters is achieved and name distribution is perceived as "fair enough" by more users to join later, registration can be made more open to anyone. Regardless of whether initial registration is restricted, transfer of names is always unrestricted: once registered, only the proper owner of the key matching the specific BTC transaction is able to transfer name to a different key.

What this gives us is an entirely new registry of names that cannot be censored and has association with pubkeys built-in. It basically replaces DNS & SSL/TLS CAs altogether and makes the blockchain the root certificate authority (in SSL/TLS terms). This solves so many problems: DNS can't be spoofed, HTTPS can't be compromised by leaked keys from root CAs, names can't be taken away from people, security compromise of any one company does not affect anyone else's keys and names, there's a single global namespace instead of different namespaces managed by different orgs, there are no fees for SSL certificates (everyone has self-signed SSL certificates, signed by the key associated with the current owner of the name on the blockchain). Names can also have rich metadata cryptographically associated with them for many purposes (similar to DNS, but we'll have JSON, blackjack and hookers): for websites, for email, for messenger services, for bitmessage keys, for other accounts elsewhere etc. Bitmessage and Tor hidden services use ugly identifiers. Names on blockchain would allow to have simple readable names, yet with all possibilities for anonymity for those who need them. This name system will also allow us to easily build great replacement for e-mail: even easier to use (your email address is not owned by anyone except you), but as secure as PGP.

Namecoin is not good for many reasons: they did not solve the social problem well (many names are squattered) and they have separate blockchain (while the economics lead to long-term convergence on a single biggest and the most powerful blockchain). We need real Bitcoin transactions to track "colored coins" that stand for unique names.

Keybase already makes users keep their own keys and passwords safe, so "owning your own names" is not an extra burden for users like it would be with a traditional centralized approach like Twitter, Facebook, Google etc.

bgpugh commented 10 years ago

See also: https://github.com/keybase/keybase-issues/issues/518

ryancdotorg commented 10 years ago

Namecoin is not good for many reasons: they did not solve the social problem well (many names are squattered) and they have separate blockchain (while the economics lead to long-term convergence on a single biggest and the most powerful blockchain). We need real Bitcoin transactions to track "colored coins" that stand for unique names.

Namecoin is merge-mined with Bitcoin which makes mining it "free". I'm not sure what the economic issue here is? I agree that squatting is a problem.