This is a general FAQ intended for users of decentralized applications. If you are a developer, refer to the [technical FAQ].
This is a FAQ intended for users of decentralized applications. A comprehensive list of FAQs that touch on general, technical, and App Mining questions is [also available]({{site.baseurl}}/faqs/allFAQS.html).
* TOC
* TOC
{:toc}
{:toc}
{% for faq in site.data.theFAQs.faqs %}
## What is the decentralized internet?
{% if faq.category == 'appusers' %}
### {{ faq.question }}
The Blockstack ecosystem enables the new decentralized internet. Decentralization means authority moving from central authority to local authority. Simply put, in a decentralized internet, you own your data, not the applications or services you use.
{{ faq.answer }}
{% endif %}
Blockstack envisions a world where users control their own data, and power flows back to the users. For example, when you buy something from an online company, that company collects and stores data about you:
{% endfor %}
* your name
* the information about the product you bought
* the number on your credit card
In the decentralied internet, that information stays with you and it isn't
collected or stored by anyone. Applications that operate in the decentralized
internet are called _decentralized applications_ or DApps for short.
## What is Blockstack?
Blockstack is an ecosystem to support both DApp users and DApp developers. For
users, Blockstack makes software to create Blockstack identities and find DApps.
For developers, Blockstack develops an ecosystem of software and services that developrs can use to build DApps.
## How do DApps differ applications I typically use?
DApps differ from Web applications in two ways:
* **Users have identities not accounts**. The user brings their identity to the
applications; applications do not require the user to create accounts and
passwords.
* **Users own their data**. Users control access to their data. Users decide where to store their data and which applications can read or write to your. Companies and their decentralized applications don't keep or save your data.
## Where is my identity kept?
Your identity is a unique string you and other people can read such as `moxiegirl.id`. A private key is a string of letters only you know. When you create an identity, a **hash** is made of your id and your private key registered with Blockstack.
Your personal data storage is built around this ID. Apps that want to access your data use your permission and identity to find it.
You have to remember and keep your private key in a safe place like a password manager. If you lose a private key, _no one else, no person, no software, can help you get your identity back_.
## Can Blockstack control my data or ID when I use it?
No. When you're using a Blockstack client you control your data and ID with a
private key. As long as no one gets access to your private key, no one can
control your data or ID. When you use Blockstack, by design, your private keys
are never sent to any remote servers.
## Do DApps work with a regular browser?
Yes! DApps run in the web browsers (Chrome, Safari, Internet Explorer, etc.) you know and love.
## What is the Blockstack Browser?
The Blockstack Browser is the DApp users use to create and manage their identities and configure their data storage. The browser is also where users can go to discover and use apps using Blockstack.
The Blockstack Browser also handles login requests from DApps that allow their users to log in with Blockstack. When a user clicks a **Log In with Blockstack** button, they are redirected to the Blockstack Browser to approve the request before being logged into the app.
## Are Blockstack applications usable today?
Yes! Blockstack applications are as easy to use as normal Web applications, if
not easier. Moreover, they are just as performant if not more so.
If you install the [Blockstack
Browser](https://github.com/blockstack/blockstack-browser), or use our
[Web-hosted Blockstack Browser](https://browser.blockstack.org), you can get
These FAQs are intended for developers of Blockstack.
This document lists frequently-asked questions developers about Blockstack application development. If you are new to Blockstack, you should read the [general questions]({{site.baseurl}}/faqs/allFAQs.html) first.
* TOC
For more technical questions about Blockstack Core nodes, the Stacks blockchain, and other architectural elements, see the [core developer questions]({{site.baseurl}}/core/faq_technical.html).
{:toc}
## I'm a web developer. Can I build on Blockstack?
Yes! Blockstack is geared primarily towards web developers. All of your
existing knowledge is immediately applicable to Blockstack. Anything you can do
in a web browser, you can do in a Blockstack app.
## I'm a non-web developer. Can I build on Blockstack?
Yes! Blockstack implements a [RESTful API](https://core.blockstack.org) which
lets you interact with Blockstack from any language and any runtime. In fact,
the reference client
([blockstack.js](https://github.com/blockstack/blockstack.js)) is mainly a
wrapper around these RESTful API calls, so you won't be missing much by using a
language other than Javascript.
## What's the difference between a web app and a Blockstack app?
Blockstack apps are built like [single-page web
apps](https://en.wikipedia.org/wiki/Single-page_application)--- they are, in
fact, a type of web application.
Blockstack apps are a subset of web applications that use Blockstack's
technology to preserve the user's control over their identities and data. As
such, they tend to be simple in design and operation, since in many cases they
don't have to host anything besides the application's assets.
## Do I need to learn any new languages or frameworks?
No. Blockstack applications are built using existing web frameworks and programming
The only new thing you need to learn is either [blockstack.js](https://github.com/blockstack/blockstack.js) or
the [Blockstack RESTful API](https://core.blockstack.org).
## How does my web app interact with Blockstack?
The [blockstack.js](https://github.com/blockstack/blockstack.js) library gives
any web application the ability to interact with Blockstack's authentication and
storage services. In addition, we supply a [public RESTful API](https://core.blockstack.org).
## What does `blockstack.js` do?
This is the reference client implementation for Blockstack. You use it in your
web app to do the following:
* Authenticate users
* Load and store user data
* Read other users' public data
## How do I use `blockstack.js`?
We have [several examples](/browser/hello-blockstack.html) you can use to get started. Please see the API documentation [here](https://github.com/blockstack/blockstack.js).
If you have a technical question that gets frequently asked on the
[forum](https://forum.blockstack.org) or [Slack](https://blockstack.slack.com),
feel free to send a pull-request with the question and answer.
## How can I look up names and profiles?
* TOC
{:toc}
You can use `blockstack.js`, or you can use the [public Blockstack Core
endpoint](https://core.blockstack.org).
## How can I read my public app data without `blockstack.js`?
The URLs to a user's public app data are in a canonical location in their
profile. For example, here's how you would get public data from the
[Publik](https://publik.ykliao.com) app, stored under the Blockstack ID `ryan.id`.
This document lists frequently-asked questions and answers to technical
This document lists frequently-asked questions by developers interested in working with Blockstack core components. If you are new to Blockstack, you should read the [general questions]({{site.baseurl}}/faqs/allFAQs.html) first.
questions about Blockstack. If you are new to Blockstack, you should read the
[genera questions](faqs/allFAQs) first.
For more general questions about developing applications with the Blockstack platform, see the [DApp developer questions]({{site.baseurl}}/core/faq_developer.html).
If you have a technical question that gets frequently asked on the
If you have a technical question that gets frequently asked on the
[forum](https://forum.blockstack.org) or [Slack](https://blockstack.slack.com),
[forum](https://forum.blockstack.org) or [Slack](https://blockstack.slack.com),
The Blockstack Ecosystem has a mission to bring a new internet where users
Blockstack is a full-stack decentralized computing network that enables a new generation of applications where developers and users can interact fairly and securely. Blockstack uses blockchain technology to build protocols and developer tools designed to enable a fair and open Internet that returns digital rights to developers and consumers.
control the access to, and use of, their own identity and data. With this
mission in mind, three independent entities were formed:
* TOC
{:toc}
These three affiliated entities drive the advancement of the Blockstack mission.
## What is the Blockstack Ecosystem?
In this section, you learn about the mechanisms each entity uses to advance the
overall mission.
The Blockstack Ecosystem is the legal entities and community structures that support the Blockstack technology, the apps that rely on it, and the people that work with it. The ecosystem’s mission is to foster an open and decentralized Internet that establishes and protects privacy, security and freedom for all users.
## Blockstack Public Benefit Corp (PBC)
The documentation on this site focuses on the technologies produced by three entities in the ecosystem.
### Blockstack Public Benefit Corp (PBC)
Blockstack Public Benefit Corp. (PBC) started development of the Blockstack
Blockstack Public Benefit Corp. (PBC) started development of the Blockstack
platform in 2014 and launched an alpha of the platform in early 2017. The
platform in 2014 and launched an alpha of the platform in early 2017. The
@ -38,11 +36,11 @@ Using Blockstack’s technology developers can start building immediately on the
blockchain with the knowledge you have today. You won’t need to spend time or
blockchain with the knowledge you have today. You won’t need to spend time or
effort developing expertise in specialized languages or technologies.
effort developing expertise in specialized languages or technologies.
## Blockstack Signature Fund
### Blockstack Signature Fund
{% include signature_fund.md %}
{% include signature_fund.md %}
## Blockstack Token LLC
### Blockstack Token LLC
Through the 2017 Blockstack token offering, Blockstack Token LLC created the
Through the 2017 Blockstack token offering, Blockstack Token LLC created the
Stacks token. This year's hard fork is an especially exciting milestone for the ecosystem because it distributes the first Stacks tokens to existing purchasers and recipients. This hard fork launches the Stacks blockchain v1, and enables the following two features for the Blockstack network:
Stacks token. This year's hard fork is an especially exciting milestone for the ecosystem because it distributes the first Stacks tokens to existing purchasers and recipients. This hard fork launches the Stacks blockchain v1, and enables the following two features for the Blockstack network: