-
Notifications
You must be signed in to change notification settings - Fork 21
Home
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 the blockchain name system, formerly known as Openname, 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.
The Blockchain Name System 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 Blockstore (on the Bitcoin Blockchain). The protocol is key-value store-agnostic and blockchain-agnostic, but any given namespace can only exist on one KV 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.
Entries in the Blockchain Name System each have:
- a entry type
- a globally unique identifier
- 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.
Each entry type may also have it's own terminology. For example, user identities on the system are called passcards. In addition, their unique identifiers are referred to as usernames 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 the Blockchain Name System, 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.
- Passcards (identities for people)
- Canonical Content Identifiers (identities for digital media)