keybase / keybase/keybase-issues

Registering names on the Bitcoin blockchain

Open
#446 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue does not name files, tests, or an entry point. It describes a broad blockchain naming-system proposal, so a maintainer would need to define the design and completion criteria before implementation can begin.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.