{ "faqs": [ { "category": "general", "question": "What is Blockstack?", "answer": "
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. Led by some of the world’s foremost experts on distributed systems, Blockstack allows users to own their own data that they can take with them from app to app in the ecosystem, along with their Blockstack ID that eliminates the need for password-based logins. The end result is privacy, security, and freedom.<\/p>" }, { "category": "general", "question": "What is decentralized computing?", "answer": "
Decentralized computing has these attributes:<\/p>
Blockstack technology, then, is a shift in how people use software, create it, and benefit from it. It puts people back in control of the computing systems that manage today’s world.<\/p>" }, { "category": "general", "question": "What is the Blockstack Ecosystem?", "answer": "
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.<\/p>
There are multiple business entities that have been created to focus on advancing the ecosystem, with plans for further decentralization<\/a>:<\/p> Any person or organization working with the Blockstack technology in the open-source ecosystem is considered a part of it. Other than the above entities there are 80+ independent organization and apps built by teams of developers that are part of the Blockstack Ecosystem.<\/p>" }, { "category": "general", "question": "What is a decentralized internet?", "answer": " We envision an internet where users control their data, and power flows back to the users. In a decentralized internet, application creators cannot sell data without a user’s authorization. Users choose which data to share and who to share it with. In a decentralized internet, no single company or organization tracks users’ activities without permission, and that permission is the users to give or to take away.<\/p>" }, { "category": "general", "question": "What can developers achieve with the Blockstack Ecosystem?", "answer": " The Blockstack Ecosystem is working to enable developers to build software that protects users’ digital rights. This new kind of software is known as decentralized applications or DApps.<\/p> DApps use blockchain technology. Where Bitcoin is a decentralized value exchange on a blockchain, DApps use blockchain technology for more than value exchange; they use a blockchain to exchange data and support application interactions.<\/p> Decentralized applications potentially represent the next generation of computing. In an entirely decentralized world, all things occur using peer-to-peer networks, and the idea of centralized entities are non-existent. This distributed future is still being designed and built, but the early stages of development are looking promising.<\/p>" }, { "category": "general", "question": "What problems do Blockstack DApps solve for me as a user?", "answer": " Applications developed with Blockstack’s technology run like the traditional, web applications you know. Unlike traditional, web applications, DApps avoid abusing users by adhering to the following principles:<\/p> Blockstack was founded by two engineers from Princeton University, Muneeb Ali and Ryan Shea. They met at the Computer Science department at Princeton, where Muneeb was finishing his Ph.D. and Ryan was running the entrepreneurship club. In 2013, frustrated by the walled-gardens and security problems of the current internet they started working on a decentralized internet secured by blockchains. Blockstack is an open source project, you can find the code on GitHub<\/a>.<\/p>" }, { "category": "appusers", "question": "What is a decentralized application or DApp?", "answer": " Decentralized applications or DApps are a new type of software application built with blockchain technology. Where Bitcoin is a decentralized value exchange on a blockchain, DApps use blockchain technology for more than value exchange; they use a blockchain to exchange data and support application interactions.<\/p>" }, { "category": "appusers", "question": "How do DApps differ from applications I typically use?", "answer": " DApps (decentralized applications) differ from Web applications in these key ways:<\/p> Yes! DApps run in the web browsers (Chrome, Safari, Internet Explorer, and so forth) you know today.<\/p>" }, { "category": "appusers", "question": "What is an identity or ID or Blockstack identity?", "answer": " A name or identity, ID for short, is your “home” on the decentralized internet. Your identity is unique, like a passport number, only you have it. To use an application, you sign into the application with your identity and a secret key only you know.<\/p> Your data and where it is stored is connected with your identity. When you sign into a DApp, you give the DApp permission to read your data and write to your data store on your behalf. When you log out of an application, it no longer has access to your data or data store — until the next time you log in with your identity.<\/p>" }, { "category": "appusers", "question": "Do I need to keep my identity secret?", "answer": " No. You can tell people your identity just as you tell them your name. What you need to secure and protect is your secret key.<\/p>" }, { "category": "appusers", "question": "How do I get an identity? Is it free?", "answer": " You can get a free identity from Blockstack in the id.blockstack<\/strong> namespace. A namepace is similar to a domain (checklist.com<\/a><\/strong>, for example) on the old internet. So, a free identity has blockstack<\/strong> suffix in its name; for example, moxiegirl.id.blockstack<\/strong> is a free Blockstack identity.<\/p>" }, { "category": "appusers", "question": "What if I forget my identity or my lose my secret key, can Blockstack help me?", "answer": " If you forget your identity or lose your secret key, no one else, no person, no software, can help you get your identity back<\/em>. This restriction protects your identity and your secret key which together control access to data about you. In the new, decentralized internet, no one can keep and store your data but you, not even Blockstack.<\/p> You need to keep your identity and secret key in a safe, secure place you won’t forget.<\/p> " }, { "category": "appusers", "question": "Where is my identity kept?", "answer": " When you create an identity, your id and your private key are hashed (encrypted) and registered on Blockstack’s blockchain. The data you create through your identity is encrypted and kept off the blockchain in your data storage.<\/p>" }, { "category": "appusers", "question": "Can Blockstack delete my Blockstack ID or deny me use of it?", "answer": " 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.<\/p>" }, { "category": "appusers", "question": "Can I get an identity without the Blockstack in the name, like steve.id?", "answer": " Yes, you can get an identity in the .id space without Blockstack in the name. For example, you can create steve.id<\/strong>. You can even create a different space like username<\/em><\/strong>.frank<\/strong> without the id designation. These identities (.id<\/strong>) are not free; they cost a small amount of Bitcoin. A space (.frank<\/strong>) takes some technical knowledge to create and cost more.<\/p>" }, { "category": "appusers", "question": "Can I have more than one identity?", "answer": " Yes, you can create as many identities as you want.<\/p>" }, { "category": "appusers", "question": "Do identities last forever or do they expire?", "answer": " Identities with the like moxiegirl.id.blockstack<\/strong> or subdomain.name.namespace<\/strong> format do not expire. Names that have a single dot like name.namespace<\/strong> expire according to the rules set by the namespace<\/strong> creators. For example, name.id<\/strong> in the id<\/strong> namespace expires every two years and must be renewed. If a name.id<\/strong> expires, someone else can claim it.<\/p>" }, { "category": "appusers", "question": "Why do DApps ask me for an email in addition to an identity?", "answer": " Your email is not kept by DApps or by Blockstack. It is stored in your browser client’s local web storage. (See the question about data storage for more information about web storage.) When you are logged into a DApp, it can use your email to send you any information you need to operate the DApp. When you log out, your email is no longer available to the DApp.<\/p>" }, { "category": "appusers", "question": "Where can I find Blockstack DApps that I can use?", "answer": " You can see a list on the App.co site<\/a>. Alternatively, you can go directly to your Blockstack Browser<\/a> home page.<\/p>" }, { "category": "appusers", "question": "What is the Blockstack Browser?", "answer": " The Blockstack Browser is a DApp users use to create and manage their Blockstack identities. Users use the Blockstack Browser to manage their identities and their data storage. <\/p> Developers use the Blockstack Browser to handle login requests from DApps. From a Blockstack DApp, a user chooses the Log In with Blockstack button. Clicking this button sends users to a Blockstack Browser dialog. This dialog asks users to allow the DApp to access their data. <\/p>" }, { "category": "appusers", "question": "Do Blockstack DApps work with my web browser?", "answer": " Yes! DApps using Blockstack run in the web browsers you know and love (Chrome, Safari, Firefox, and Edge). Blockstack DApps are web applications; they happen to use the blockchain. DApps are just as fast as traditional web applications, often more so. If you use our Web-hosted Blockstack Browser<\/a>, you can get started using DApps right away.<\/p>" }, { "category": "appusers", "question": "Is there a downloadable version of the Blockstack Browser?", "answer": " Yes. You can download a desktop version of the Blockstack Browser here<\/a>.<\/p>" }, { "category": "appusers", "question": "What is Gaia?", "answer": " The Gaia Storage System is a feature of the Blockstack Platform. Developers or organizations can use the Gaia Storage System to create a data storage provider. Users choose a data storage provider when they create an identity.<\/p>" }, { "category": "appusers", "question": "Where is the data about me kept or what is a data store?", "answer": " Data about you appears in two locations, browser web storage and a data store. Web storage lives in your browser client, Chrome, Safari, and so forth. Data in web storage is sparse, it never leaves your device (computer or phone), and it is temporary. You can clear or remove your web storage just as you can your browser’s cache. Web storage data includes your email and your encrypted identity. Web storage never leaves your browser and never crosses a network to an external server.<\/p> Your Blockstack identity and any connected application data are kept in your data store. Unlike web storage, a data store has to live on a server accessible via the internet. That server is running the Gaia Storage System. The Gaia Storage System keeps the data encrypted. When you use an application, you give it permission to read and write from your data store. The application needs your permission to decrypt the data.<\/p>" }, { "category": "appusers", "question": "What kind of data does a Blockstack DApp keep about me?", "answer": " Blockstack does not keep any data about you. When you login into an application, you are asked to provide an email. That email is in your browser’s web storage; it doesn’t leave your device (computer or phone). When you reset the Blockstack Browser or clear your browser’s web storage, the local storage and your email are removed.<\/p>" }, { "category": "appusers", "question": "What is a data storage provider?", "answer": " A data storage provider is a person or a company that runs a Blockstack Gaia Storage System. You could, for example, run a Gaia Storage System on your own. Blockstack assumes that most users will use a commercial storage provider rather than a personal one.<\/p> Commercial storage providers typically use cloud computing services such as Digital Ocean, Amazon, or S3. These have the advantage of larger drives, regular backups, and more secure storage. Individual users can use these too, or they can use a local drive.<\/p> A Gaia Storage System has a location (URL) on the internet. The URL for a user’s storage provider is stored in their zone file. You can get a zone file with Currently, moving your data from one storage provider to another is not supported via the UI. You can do this move with assistance from Blockstack.<\/p>" }, { "category": "dappdevs", "question": "Who should build with the Blockstack Platform?", "answer": " Everyone! However, more seriously, if you are building an application in JavaScript that requires sign-in and storage, you should look at using Blockstack.<\/p>" }, { "category": "dappdevs", "question": "I’m a web developer. Can I build on the Blockstack Platform?", "answer": " 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.<\/p>" }, { "category": "dappdevs", "question": "I’m a non-web developer. Can I build on Blockstack Platform?", "answer": " Yes! Blockstack implements a RESTful API<\/a> which lets you interact with Blockstack from any language and any runtime. In fact, the reference client (blockstack.js<\/a>) is mainly a wrapper around these RESTful API calls, so you won’t be missing much by using a language other than Javascript.<\/p>" }, { "category": "dappdevs", "question": "How do I get started using Blockstack to build decentralized applications?", "answer": " The Zero-to-Dapp Tutorial<\/a> is the best place to learn to build with Blockstack. The tutorial takes you through key aspects of building with Blockstack and takes less than 60 minutes. If you want something short and sweet, we have a Hello World<\/a> that takes about 10 minutes. In the end, you’ll have a working demo and even get a free limited edition t-shirt!<\/p>" }, { "category": "dappdevs", "question": "What’s the difference between a web app and a Blockstack app?", "answer": " Blockstack apps are built like single-page web apps<\/a> — they are, in fact, a type of web application.<\/p> 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.<\/p>" }, { "category": "dappdevs", "question": "Do I need to learn any new languages or frameworks?", "answer": " No. Blockstack applications are built using existing web frameworks and programming The only new thing you need to learn is either blockstack.js<\/a> or the Blockstack RESTful API<\/a>.<\/p> " }, { "category": "dappdevs", "question": "What is the general architecture of the Blockstack Platform?", "answer": " Applications built with Blockstack are serverless and decentralized. Developers don’t have to worry about running servers, maintaining databases, or building out user management systems.<\/p> Developers build an application in Javascript using the blockstack.js<\/a> library. This library handles everything from identity and authentication to data storage. Applications can request permissions from users for read and write access to user resources. Data is stored off the blockchain in a storage provider running Blockstack’s Gaia Storage system. Gaia is simple and reliable and uses existing cloud infrastructure.<\/p> Under the hood, Blockstack provides a decentralized domain name system, the Blockstack Naming System (BNS). BNS is a decentralized public key distribution system and registry for apps and user identities.<\/p>" }, { "category": "dappdevs", "question": "What is a “serverless” app?", "answer": " The application should not run application-specific functionality on a server. All of its functionality should run on end-points. Serverless can also mean applications where the application developer still writes some amount of server-side logic, but unlike traditional architectures this logic is run in stateless compute containers that are event-triggered and ephemeral (may only last for one invocation).<\/p> However, applications may use some servers with the caveat that they must not be part of the application’s trusted computing base. The Gaia Storage System is part of most DApps’ computing base, but because user data is signed and verified end-to-end, the storage systems are not trusted to always serve correct data.<\/p>" }, { "category": "dappdevs", "question": "How does my web app interact with Blockstack?", "answer": " The blockstack.js<\/a> library gives any web application the ability to interact with Blockstack’s authentication and storage services. In addition, we supply a public RESTful API<\/a>.<\/p>" }, { "category": "dappdevs", "question": "What does blockstack.js do?", "answer": " This is the reference client implementation for Blockstack. You use it in your web app to do the following:<\/p> There are also mobile libraries for iOS<\/a> and Android<\/a>.<\/p>" }, { "category": "dappdevs", "question": "How do I use blockstack.js?", "answer": " Our documentation has several examples<\/a> you can use to get started.<\/p>" }, { "category": "dappdevs", "question": "How do I register Blockstack IDs?", "answer": " You should use the Blockstack Browser<\/a>.<\/p>" }, { "category": "dappdevs", "question": "How can I look up names and profiles?", "answer": " You can use blockstack.js<\/a>, or you can use the public Blockstack Core endpoint<\/a>.<\/p>" }, { "category": "dappdevs", "question": "What kind of scalability and performance can I expect from applications built with Blockstack?", "answer": " Blockstack uses the blockchain only for name registration. Data storage is kept off-chain in the Gaia Storage System. This basic application architecture means any application can perform and scale as they do without a blockchain.<\/p>" }, { "category": "dappdevs", "question": "Is there a limit to the file sizes I can store in a Gaia Storage System", "answer": " The file size limit is 25 MB per file.<\/p>" }, { "category": "dappdevs", "question": "Can I run a Gaia Storage System commercially?", "answer": " Yes, you can. Anyone interested in running a Gaia Storage System can run one and make it available to users.<\/p>" }, { "category": "dappdevs", "question": "Is the platform private or open sourced?", "answer": " The project is open-source, and anyone can contribute! The major contributors are mostly employees of Blockstack PBC. You can see the full list of contributors here: https://github.com/blockstack/blockstack-core/graphs/contributors<\/a><\/p>" }, { "category": "dappdevs", "question": "What programming language can I use to build these apps?", "answer": " To make apps that run in the web browser using Blockstack, you can use JavaScript and any of the same web frameworks or libraries you use today such as React, AngularJs, Vue.js or jQuery. Blockstack Core is implemented in Python (the next major release will be in Rust), but you can use any language you like for native apps as long as it can consume a JSON REST API.<\/p>" }, { "category": "dappdevs", "question": "How is Blockstack different from Ethereum for building decentralized apps?", "answer": " You can think of Ethereum as a “heavy” blockchain that does everything for you. All the complexity is handled on-chain, computations are run there, and all scalability and security concerns must be handled at the blockchain level. Ethereum amounts to a “mainframe” that runs all the applications in the ecosystem.<\/p> Blockstack puts minimal logic into a blockchain and handles scalability outside of the blockchain by re-using existing internet infrastructure. Our architectural design mirrors how computing has developed; moving from mainframes to smaller networked entities.<\/p>" }, { "category": "dappdevs", "question": "Can Blockstack applications interact with Bitcoin? Ethereum? Other blockchains?", "answer": " Yes! Since Blockstack applications are built like web applications, all you need to do is include the relevant Javascript library into your application.<\/p>" }, { "category": "appminers", "question": "What is App Mining?", "answer": " Traditionally the term mining in cryptocurrency refers to the process of contributing compute resources to the network and earning a reward. In the Blockstack Ecosystem, instead of just mining through computation, developers mine by building apps and the Blockstack community funds them simply for being pioneers in the emerging Blockchain software market. <\/p> We believe app mining represents a revolution in app funding, allowing small teams to bootstrap without advertising or venture capital. Each month, qualifying apps compete for funding. Qualified apps are evaluated and ranked by expert app reviewers. The better your app, the higher payout you earn. <\/p> App mining is a new mining model that we expect will evolve and improve over time. We look forward to feedback from our community regarding the App Mining process and program. <\/p>" }, { "category": "appminers", "question": "What is the App Mining timeline?", "answer": " App mining results are sent to Blockstack by app reviewer partners.<\/p> Blockstack team performs App Mining algorithm as referenced here<\/a>.<\/p> The following calendar shows events each month related to App Mining:<\/p>
blockstack-cli<\/code>
lookup<\/code> in the CLI. See the CLI documentation<\/a> for more information about available commands.<\/p>" }, { "category": "appusers", "question": "Can I move my data from one storage provider to another?", "answer": "
On the first of every month (or as listed on the calendar): <\/h5>
Over the next two weeks:<\/h5>
On the last day of ranking at 11:59pm ET: <\/h5>
On the 15th (or as listed on the calendar):<\/h5>
On the following weekday:<\/h5>