Blockstack is a new decentralized internet where you own your data and your apps run locally without remote servers.
Blockstack provides decentralized services for naming/DNS, identity, authentication and storage. Developers can use JavaScript libraries to build serverless apps and they don't need to worry about managing infrastructure. Blockstack replaces the current client/server model; users control their data, apps run client-side, and the open Blockstack network replaces server-side functionality.
- Architecture
- Code
- Tutorials
- Papers
- Events
- Swag & Brand
- Requests for Comments
- How to Help
- Media Guide
Blockstack has been used in production for 3+ years and 70,000+ domains have been registered using it.
With the Blockstack software, a network of computers collectively maintain a global registry of names. When you run a Blockstack node, you join this network, which is more secure by design than traditional DNS and identity systems. This is because the system's registry and its records are secured by an underlying blockchain, which is extremely resilient against tampering and control.
In the registry that makes up Blockstack, each of the names has an owner, represented by a cryptographic keypair, and is associated with instructions for how DNS resolvers and other software should resolve the name.
Different layers of Blockstack are shown in the following figure:
You can read more details about Blockstack's architecture by reading the following articles:
If you're just starting with Blockstack, here are the main software repositories you should checkout:
- Blockstack Core - the reference implementation of Blockstack written in Python.
- Blockstack Portal - the Blockstack Browser Portal providing a graphical interface.
- blockstack.js - a JavaScript library for using Blockstack identity and authentication in your apps.
- CLI (Command Line Interface)
- Decentralized Apps
- "Blockstack: A Global Naming and Storage System Secured by Blockchains", Proc. USENIX Annual Technical Conference (ATC ’16), June 2016
- "Extending Existing Blockchains with Virtualchain", Proc. Workshop on Distributed Cryptocurrencies and Consensus Ledgers (DCCL '16), July 2016
- "Bootstrapping Trust in Distributed Systems with Blockchains", USENIX ;login: Magazine (pre-print)
- Mailing List (3,000+ members)
- Blockstack Forum
- Live chat on Slack (2,400+ members)
- Meetup Groups - Join Meetup groups around the world
- Engineering Blog - Engineering updates by developers
- YouTube - Watch videos on the YouTube channel
- Twitter - Follow the tweets of the Blockstack community
- Contribute code - all Blockstack software is free and open source, so send us pull requests if you have any suggestions for ways the software can be improved
- Help with software testing - we really appreciate and value our testers, and encourage people who want to support Blockstack to run the software and file issues in the appropriate repository for any bugs that are found
- Improve the documentation - we can never have enough documentation so if there's anything you'd like to clarify or add, just fork any of the Blockstack repos, start writing and expanding on the docs, and submit a pull request
- Organize community events - we welcome anyone interested in putting together anything as simple as a meetup at a local library or community center to discuss the latest Blockstack developments and applications with like-minded people from your area
- Produce and share content - if you have ideas or insights about Blockstack or decentralized applications in general, write a post and submit it to the Blockstack community blog or share it in the forum