Skip to content
John Light edited this page Aug 6, 2015 · 44 revisions

Blockstack is shorthand for "the blockchain stack". It is a collection of protocols and applications that can be used for building blockchain applications.

The various components include data storage, secure naming, authentication, user identity verification, content ownership verification, and product trading.

This stack is completely decentralized and only uses open source software. For more information, visit the wiki.

Blockstack includes blockchain ID, which is very similar to the Domain Name System (DNS), but differs in that it gives stronger guarantees on ownership and security, has no trusted parties or "root servers", and is completely decentralized.

Blockchain ID Protocol Layers

Blockchain ID is composed of several layers.

At the bottom, raw data is stored in a decentralized (most likely blockchain-based) key-value store like Namecoin or Bitcoin. The protocol is key-value store-agnostic and blockchain-agnostic, but any given namespace can only exist on one key-value store on a given blockchain.

In the middle layer, resolvers read, interpret, and verify the data from the datastore and make it readily accessible to services.

In the top layer, services grab data from resolvers and present it to the end user.

Blockchain ID Layers

Entry Types

Blockchain ID entries each have:

  1. a entry type
  2. a globally unique identifier
  3. a data container for storing descriptive information

Each entry type has it's own namespace in the key-value store and has its own set of specifications for how to format data. Some example entry types are people, businesses, digital media, websites, physical products, and places.

Unique identifiers are referred to as "blockchain IDs" and the data containers store descriptive information about the person (specifications for formatting this data can be found in the wiki).

If there's an identity type that you'd like to see added to blockchain ID, simply propose it in the issues and start a discussion about it. Once the community approves it and there are specifications established for the type, it can be added to the wiki.

Specifications