The blockchain holds great promise for developing decentralized protocols and applications such as marketplaces (e.g., openbazaar), registries for digital and physical assets (e.g. mediachain) and social networks that have no value extraction by a controlling company. Everyone who wants to develop such applications though faces the same foundational problem: how to refer to resources and people without resorting to existing centralized systems.

On the existing web we use URLs to point to resources and identity is provided by companies such as Google, Facebook and Twitter. For decentralized applications we so far have IPFS to point to resources, which uses pointers that are not human readable, and we don’t have an identity solution at all.

Blockstack is a system on top of the Bitcoin blockchain that solves both of the problems. It has been developed over the last year and a half by the team at Onename and the Blockstack community. Blockstack provides decentralized namespaces that can be used to point at resources and at identities.

Many things are exciting about Blockstack including the fact that it is fully operational today. But also that it has been designed from the ground up with the capabilities that we would and should expect from such a system, including:

name lookups on a decentralized naming system



name registrations and transfers without centralized registrars



automatic binding of names to owning cryptographic keypairs



automatic cache invalidation



immunity to DNS cache poisoning



robust certificate pinning capabilities



resistance to censorship of name registration and resolution



If you want to really dig into what informed the underlying design decisions you can read this academic paper by the team.

So if you are working on decentralized applications or are excited about their potential, please go and check out Blockstack.