Blockstack FAQs

This is a comprehensive list of all the Blockstack FAQs.

General questions

What is Blockstack?

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.

What is decentralized computing?

Decentralized computing has these attributes:

  • Personal keys for a digital life. Users will have keys that unlock all their software interactions, email, subscriptions, and social. These keys are in users’ hands and under their control similar to physical keys (in some cases they are physical). Corporations no longer create or manage these keys.
  • Security is a first-class concern. Users want systems that protect both their identity and the data associated with that identity — health, application, and relationships.
  • Convenient and auditable. Applications will be readily available as cloud applications are today but will be written with open protocols and code that allow them to be audited.
  • Innovation focused. The code and data in a decentralized computing lacks corporate and other boundaries, as a result, a global workforce can easily contribute and benefit from them.

Blockstack technology is a shift in how people use software, create it, and benefit from the internet. It puts people back in control of the computing systems that manage today’s world.

What is the Blockstack Ecosystem?

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.

There are multiple business entities that have been created to focus on advancing the ecosystem, with plans for further decentralization:

  • Blockstack PBC is a Public Benefit Corp that drives the development of the core Blockstack protocol and developer tools. Blockstack PBC was founded in 2013 by Princeton computer scientists and after 4+ years of R&D, launched the Blockstack Platform alpha in early 2017. The Blockstack Platform is the easiest way to start building decentralized, blockchain-based applications. It provides a complete decentralized application stack, powered by the Stacks blockchain, and maintained by a open-source community.
  • Blockstack Token LLC is the entity responsible for developing and commercializing the Stacks tokens in a manner that is approved by the SEC. Blockstack Token LLC works on regulatory filings and compliance for the Stacks token. The LLC conducted the 2017 token offering to accredited investors. Stacks tokens created by Blockstack Token LLC were distributed in the genesis block of the Stacks blockchain in Fall 2018.
  • Blockstack Signature Fund I is a fund comprised of multiple VCs representing $25 million in funding that makes opportunistic investments in the ecosystem &emdash; whether it be Blockstack applications or into tools and platforms that accelerate the growth of the ecosystem. Learn more about the Signature Fund.
  • Non-profit Foundation Blockstack PBC intends to assist in the formation of a non-profit foundation dedicated to supporting fundamental digital rights and ensuring that core internet infrastructure remains decentralized. In the future, it may support people and projects with funding, research grants, or other.
  • New Internet Labs is an independent company headquartered in Hong Kong and founded by Larry Salibra, an early employee of Blockstack PBC and long-time Blockstack contributor. New Internet Labs serves as an App Reviewer as part of the App Mining program and working to develop a browser for the decentralized internet. Learn more about their efforts here.

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.

What is a decentralized internet?

We envision an internet where users control their data, and power flows back to the users. A decentralized internet was how the internet was intended to be, a place where 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.

What can developers achieve with the Blockstack Ecosystem?

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.

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.

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.

What problems do Blockstack DApps solve for me as a user?

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:

  • Users control their data, not the application developer. If you stop using an application, the application cannot access your data. When you leave the application, you take your data with you.
  • Users determine where to store their data. You can store your data on your computer. Alternatively, you can choose highly-available commercial storage providers you trust. The providers can only host your data; it is encrypted so they cannot “unlock” it to view.
  • Users control which applications and which third parties can access their data. Applications ask your permission to read your data, and you can withdraw those same permissions at any time. Applications cannot sell or mine your data on behalf of a third party you are unaware of.

What problems does Blockstack solve for application developers?

  • Blockstack wraps blockchain operations in traditional REST calls. Developers can start programming using the same Javascript functionality they are currently familiar with.
  • Application data is stored off the blockchain for performance and scalability.
  • Blockstack ensures that all user data is signed and verified and (optionally) encrypted end-to-end, so users and developers can treat storage providers like dumb hard drives.
  • Developers do not host user data. Since users supply their storage and use public-key cryptography for authentication, applications don’t have to store anything–there’s nothing to steal when applications are hacked.
  • Moreover, many Web applications today can be refactored so that everything happens client-side, obviating the need for running dedicated application servers.

Who started Blockstack?

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, and you can find the code on GitHub.

Application user questions

What is a decentralized application or DApp?

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.

How do DApps differ from applications I typically use?

DApps (decentralized applications) differ from Web applications in these key 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. A user can use a single identity on all applications.
  • Users determine where to store their application data. They can store their data on their computer or with a commercial cloud storage provider.
  • Users control data access. Users control access to their data. Software creators and their decentralized applications don’t keep or save your data. When a user logs into a DApp with an identity, the user gives the DApp authority to read existing data or write new data. When a user disconnects from a DApp, it no longer has access to the user data.

Do DApps work with a regular browser?

Yes! DApps run in the web browsers (Chrome, Safari, Internet Explorer, and so forth) you know today.

What is an identity or ID or Blockstack identity?

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.

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.

Do I need to keep my identity secret?

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.

How do I get an identity? Is it free?

Normally, registering an identity as a digital asset on the Stacks blockchain requires burning of Stacks tokens as fuel. However, Blockstack PBC is currently running a free service to pay for identities on behalf of the users. Through this service, you can get a free identity from Blockstack in the id.blockstack namespace. A namespace is similar to a domain (checklist.com, for example) on the old internet. So, a free identity has blockstack suffix in its name; for example, moxiegirl.id.blockstack is a free Blockstack identity.

If I forget my identity or my lose my secret key, can Blockstack help me?

If you forget your identity or lose your secret key, no one else, no person, no software, can help you get your identity back. 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.

You need to keep your identity and secret key in a safe, secure place you won’t forget.

Where is my identity kept?

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.

Can Blockstack delete my Blockstack ID or deny me use of 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.

Can I get an identity without the Blockstack in the name, like steve.id?

Yes, you can get an identity in the .id space without Blockstack in the name. For example, you can create steve.id. You can even create a different space like username.frank without the id designation. These identities (.id) are not free; they cost a small amount of Bitcoin. A space (.frank) takes some technical knowledge to create and cost more.

Can I have more than one identity?

Yes, you can create as many identities as you want.

Do identities last forever or do they expire?

Identities with the like moxiegirl.id.blockstack or subdomain.name.namespace format do not expire. Names that have a single dot like name.namespace expire according to the rules set by the namespace creators. For example, name.id in the id namespace expires every two years and must be renewed. If a name.id expires, someone else can claim it.

Why do DApps ask me for an email in addition to an identity?

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.

Where can I find Blockstack DApps that I can use?

You can see a list on the App.co site. Alternatively, you can go directly to your Blockstack Browser home page.

What is the Blockstack Browser?

The Blockstack Browser is a DApp used to create and manage Blockstack identities. To a user, it looks just like another tab in a standard browser. From the Blockstack Browser tab, you can find DApps to try, update settings related to your identity and storage – and much more.

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.

Do Blockstack DApps work with my web browser?

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, you can get started using DApps right away.

Is there a downloadable version of the Blockstack Browser?

Yes. You can download a desktop version of the Blockstack Browser here.

What is Gaia?

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.

Where is the data about me kept or what is a data store?

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.

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.

What kind of data does a Blockstack DApp keep about me?

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.

What is a data storage provider?

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.

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.

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 blockstack-cli lookup in the CLI. See the CLI documentation for more information about available commands.

Can I move my data from one storage provider to another?

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.

Stacks Token questions

Where can I buy Stacks tokens?

Blockstack Token LLC has filed an offering statement with the U.S. Securities and Exchange Commission (SEC) to conduct a $50 million token offering using the SEC Regulation A+ framework. Stacks tokens won’t be sold until the SEC has qualified the offering statement. Please keep an eye out for updates at stackstoken.com, where you may also subscribe for updates by joining our mailing list.

When can I buy Stacks tokens?

The timing of the sale depends on if and when the SEC qualifies the offering statement. We hope qualification will be in the near future. Please keep an eye out for updates at stackstoken.com, where you may also subscribe for updates by joining our mailing list.

How much do Stacks tokens cost?

We are offering up to 215 million Stacks tokens at a discounted purchase price of $0.12 to current holders of certain non-binding vouchers to purchase Stacks tokens, up to a maximum of $3,000 in Stacks tokens to each voucher-holder.

We are offering at least 40 million Stacks tokens at a price of $0.30 per token to “qualified purchasers” generally (as such term is defined under Regulation A of the Securities Act of 1933). We may, in our discretion, increase the size of the general offering (up to a maximum of 62 million tokens).

Please refer to the preliminary offering circular filed with the SEC here for all information related to the proposed Regulation A offering of the Stacks token.

How are Stacks tokens priced?

The valuation history of Stacks tokens is disclosed in detail on page 71 of the preliminary offering circular. Please refer to the preliminary offering circular filed with the SEC here for all information related to the proposed Regulation A offering of the Stacks Token.

What is the minimum and maximum amount an investor can commit to purchase?

Investors must commit to a minimum purchase amount of $100 for the tokens in this offering. This minimum may be waived at our discretion. Investors in the voucher program will only be permitted to purchase $3,000 worth of Stacks tokens through the voucher program, or 25,000 Stacks tokens, at the $0.12 per token price. Investors in the voucher program may also purchase through the general offering.

Investors may be either accredited investors within the meaning of Regulation D under the Securities Act, or any other investors so long as their investment in the tokens does not represent more than 10% of the greater of their annual income or net worth (for natural persons), or 10% of the greater of annual revenue or net assets at fiscal year-end (for non-natural persons).

Can I buy Stacks tokens with either cryptocurrency or fiat currency?

As indicated in the preliminary offering circular, if qualified by the SEC, Stacks may be purchased using U.S. dollars, Bitcoin, or Ether. Please refer to the preliminary offering circular filed with the SEC here for all information related to the proposed Regulation A offering of the Stacks token.

I have a voucher. How do I redeem it for Stacks tokens?

Vouchers cannot be used to purchase Stacks tokens until the SEC qualifies the offering statement. Although the planned offering of Stacks tokens is not yet qualified by the SEC, voucher holders were required to register their voucher and indicate their interest by May 28, 2019.

Voucher holders who missed the deadline will only be allowed to redeem their voucher in Blockstack's discretion on a first-come, first-serve basis and only if there are sufficient tokens remaining in the voucher program. You may still purchase Stacks tokens at a price of $0.30 per token available to all qualified purchasers.

If you have any questions, please contact support@stackstoken.com.

How do I check the validity of my Stacks voucher?

You may email support@stackstoken.com. with your voucher ID and full name to check the validity of your voucher.

Can I transfer or sell my Stacks voucher?

Stacks vouchers are non-transferrable and may not be bought, sold or gifted. Only the original person or entity that registered for, and whose name is printed on, the voucher may redeem it.

I didn’t complete the voucher registration process. Can I still redeem my voucher?

Voucher holders who missed the deadline will only be allowed to redeem their voucher in Blockstack's discretion on a first-come, first-serve basis and only if there are sufficient tokens remaining in the voucher program. You may still purchase Stacks tokens at a price of $0.30 per token available to all qualified purchasers.

If you have any questions, please contact support@stackstoken.com.

I already filled out a voucher survey. Do I still need to complete the voucher registration process?

Yes. If you previously completed the voucher survey, you still need to complete the voucher registration process to be able to redeem your voucher.

Can I register or redeem more than one voucher?

No. Vouchers are limited to one per person so that the largest possible number of qualified purchasers have a chance to participate.

How do I check the status of my previously purchased Stacks tokens?

You may check the status of previously purchased Stacks tokens at https://explorer.blockstack.org/. Additional wallet-related information is available here.

If I am not a U.S. person, can I buy Stacks tokens?

Unfortunately, residents in certain jurisdictions are unable to participate. We are unable to offer tokens to residents of Japan and Canada due to legal prohibitions in the those countries. Additionally, exclusions based on the sanctions program of the Office of Foreign Assets Control apply. We anticipate that purchasers in other foreign jurisdictions will be able to participate upon SEC qualification, but we cannot give you legal advice. You should consult a local attorney in your country to determine whether your country’s laws prohibit the sale of Stacks tokens to you.

Please keep an eye out for updates at stackstoken.com, where you may also subscribe for updates by joining our mailing list.

If am a New York State resident, can I buy Stacks tokens?

We are still evaluating whether New York state's BitLicense law prohibits the sale of tokens to New York state residents. We are optimistic that we will be able to sell to New York state residents, and we encourage you to register your voucher. We hope to have an answer soon. If New York state residents cannot participate, we will let you know accordingly.

Is there an exchange where I can buy and sell Stacks tokens?

Currently, there is no authorized exchange or alternative trading system (ATS) for buying and selling Stacks or Stacks futures, and we cannot comment on when an exchange or ATS might list Stacks at this time. Please keep an eye out for updates at stackstoken.com. If you see Stacks listed on an exchange, please let us know at legal@blockstack.com, as the listing may be illegal or a scam.

Can I sell or transfer Stacks tokens directly to someone else?

If you purchased Stacks from our 2017 token sale, it may be possible to sell or transfer Stacks directly to another person in a peer-to-peer transaction. We recommend you consult an attorney before engaging in such a transaction, especially if buying from or selling to a U.S. person or entity, as we cannot give you legal or regulatory advice.

What is the holding or lock-up period for Stacks tokens?

For Stacks tokens under the proposed Regulation A offering, please refer to the preliminary offering circular filed with the SEC here for information relating to the lock-up period.

Stacks purchased from the 2017 token sale are subject to two separate holding or lock-up periods that run in tandem: (1) a one-year holding period required by law that prohibits sale or transfer of Stacks within one year of the date of purchase of the SAFT or fund interests that gave you the right to tokens, and (2) a monthly time-lock built into our blockchain that unlocks 1/24th of your Stacks on the date of the Blockchain launch on October 29, 2018, and then an additional 1/24th approximately each month thereafter. Because the 2017 token sale took place over one year ago, the one-year holding period should be over for most investors. You may check the status of your monthly time-lock at https://explorer.blockstack.org/.

I have a tax question about my Stacks tokens. Whom should I talk to?

If you have a tax question about your Stacks tokens, we recommend you speak to an accountant or tax lawyer. If you participated in the 2017 token sale through the Blockstack Token Funds, we’ll provide you with the necessary tax reporting forms by the required deadlines, but in general, we cannot give you tax advice.

Why were Stacks tokens valued/sold at $0.00012 prior to the 2017 accredited sale at $0.12?

Founders and early employees of Blockstack PBC received tokens at $0.00012 per token in October 2017 based on an independent valuation from Foresight Valuation Group, LLC when the Stacks Token was still in its earliest stage of development and before the publication of the token white paper at the end of that month. This grant was subject to a three-year time lock commencing upon the introduction of the genesis block to the Blockstack network in November 2018, and the nominal price reflected the early, high-risk support of founders and early employees.

Holders of Blockstack’s Series A convertible preferred stock—who had invested a total of $5.1 million as of late 2016 and funded Blockstack’s early growth and development before the decision to create a token, or the drafting or publication of any white papers—were also provided an opportunity to purchase tokens at the $0.00012 per token price. This opportunity to participate at a nominal price was given in return for their early support and in proportion to their equity ownership, and it was based on their reasonable expectation as early investors that they would receive tokens if Blockstack ever decided to create a digital token. These tokens are subject to a three-year time lock, commencing upon the introduction of the genesis block to the Blockstack network in November 2018.

Stacks token FAQs: Rule 255 disclaimer

**This communication may be deemed “testing the waters” material under Regulation A under the Securities Act of 1933. We are not under any obligation to complete an offering under Regulation A. We may choose to make an offering to some, but not all, of the people who indicate an interest in investing, and that offering might not be made under Regulation A. We will only be able to make sales after the Securities and Exchange Commission (SEC) has “qualified” the offering statement that we have filed with the SEC. The information in that offering statement will be more complete than the information we are providing now, and could differ in important ways. You must read the documents filed with the SEC before investing.

**No money or other consideration is being solicited, and if sent in response, will not be accepted. No offer to buy the securities can be accepted and no part of the purchase price can be received until the offering statement filed by the company with the SEC has been qualified by the SEC. Any such offer may be withdrawn or revoked, without obligation or commitment of any kind, at any time before notice of acceptance given after the date of qualification.

**An indication of interest involves no obligation or commitment of any kind.

Any person interested in investing in any offering of Stacks tokens should review our disclosures and the publicly filed offering statement relating to that offering, a copy of which is available at www.sec.gov. You may obtain a copy of the preliminary offering circular that is part of that offering statement at stackstoken.com.

**Blockstack is not registered, licensed or supervised as a broker dealer or investment adviser by the Securities and Exchange Commission (SEC), the Financial Industry Regulatory Authority (FINRA) or any other financial regulatory authority or licensed to provide any financial advice or services.

Stacks Wallet questions

What is a seed phrase?

When you create a wallet address, you also create a seed phrase. With one significant exception, a seed phrase is similar to a banking pin in that it gives you access to your wallet and your token allocation. Unlike a pin, if you lose your seed phrase, you can never access your wallet or your token allocation ever again.

Warning: Losing a seed phrase is final and destructive. Blockstack does not keep a copy of your seed. Blockstack cannot give you a new seed, get your access to your wallet, or return your tokens if you lose your seed phrase.

Keep your seed phrase secret. Just as with a banking pin, anyone that knows or steals your seed phrase can access your allocation.

You should write your seed phrase down and store the paper you write on in at least two secure locations. A safe or lock box is a good location. You can also store it online in an encrypted password manager such as 1Password. You should never simply store a seed phrase in Apple Cloud or Dropbox.

How do I keep my tokens secure?

The safety of your Stacks tokens is extremely important to us. To help ensure that you complete the process of receiving your tokens correctly and securely, please read the following guidelines:

  • Website Safety: When inputting data on a website or verifying the presence of data on a website it is essential that you confirm that the URL is correct and that your browser is using HTTPS.

  • Email Safety: Blockstack will never ask for your personal identifying information over e-mail, or call you directly. When we ask verifying questions, we will only do so when you call us to confirm your identity. We will never ask you for money or your Seed Phrase (private key).

If you have large token holdings, make sure you take advantage of custodial services. A wallet does not provide the security of a custodial service.

When will the new Stacks Wallet be available?

The Stacks Wallet is available for download at wallet.blockstack.org.

What is a public Stacks Wallet address?

During the initial grant process, investors submitted a public Stacks Wallet address to Blockstack. This is a string of letters and numbers starting with an ‘SP’ or SM’, for example SP017AUV5YRM7HT3TSQXJF7FCCYXETAB276BQ6XY is a wallet address.

If you purchased Stacks tokens through CoinList, you can find your address at CoinList. If you submitted your Stacks address directly to Blockstack, you can either use the “Restore from Seed Phrase” feature on the Stacks Wallet or contact us at hello@stackstoken.com for help.

How do I get help from a person?

For questions or help regarding the Stacks token, you can contact us at hello@stackstoken.com.

DApp developers questions

Who should build with the Blockstack Platform?

Everyone! However, more seriously, if you are building an application in JavaScript that requires sign-in and storage, you should look at using Blockstack.

I’m a web developer. Can I build on the Blockstack Platform?

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 Platform?

Yes! Blockstack implements a RESTful API which lets you interact with Blockstack from any language and any runtime. In fact, the reference client (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.

How do I get started using Blockstack to build decentralized applications?

The Zero-to-Dapp Tutorial 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 that takes about 10 minutes. In the end, you’ll have a working demo and even get a free limited edition t-shirt!

What’s the difference between a web app and a Blockstack app?

Blockstack apps are built like single-page web apps — 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 or the Blockstack RESTful API.

What is the general architecture of the Blockstack Platform?

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.

Developers build an application in Javascript using the blockstack.js 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.

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.

What is a “serverless” app?

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).

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.

How does my web app interact with Blockstack?

The 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.

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
  • Reuse users’ public data in your application

There are also mobile libraries for iOS and Android.

How do I use blockstack.js?

Our documentation has several examples you can use to get started.

How do I register Blockstack IDs?

You should use the Blockstack Browser.

How can I look up names and profiles?

You can use blockstack.js, or you can use the public Blockstack Core endpoint.

What kind of scalability and performance can I expect from applications built with Blockstack?

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.

Is there a limit to the file sizes I can store in a Gaia Storage System

The file size limit is 25 MB per file.

Can I run a Gaia Storage System commercially?

Yes, you can. Anyone interested in running a Gaia Storage System can run one and make it available to users.

Is the platform private or open sourced?

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

What programming language can I use to build these apps?

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.

How is Blockstack different from Ethereum for building decentralized apps?

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.

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.

Can Blockstack applications interact with Bitcoin? Ethereum? Other blockchains?

Yes! Since Blockstack applications are built like web applications, all you need to do is include the relevant Javascript library into your application.

Application Miner questions

What is App Mining?

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.

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.

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.

What is the App Mining timeline?

On the first of every month (or as listed on the calendar):
  • Registration is closed for that months ranking.
  • Blockstack team sends the complete list of apps to our app reviewer partners. App miners do not need to reach out to Product Hunt, Awario, TryMyUI, or the digital rights reviewer.
  • Blockstack emails app miners are emailed about Product Hunt Hunting process. App miners can choose to hunt their app independently or can request to be featured by the Product Hunt team. Read more.
Over the next two weeks:
  • TryMyUI Tests are happening. Please don’t perform upgrades that might break the app.
  • Products are launched on Product Hunt. Product Hunt team performs internal review.
  • The digital rights reviewer examines apps based on the degree to which the apps respect and protect users` fundamental digital rights.
On the last day of ranking at 11:59pm ET:

App mining results are sent to Blockstack by app reviewer partners.

On the 15th (or as listed on the calendar):

Blockstack team performs App Mining algorithm as referenced here.

On the following weekday:
  • App miners are emailed login info to access their TryMyUI tests
  • Full App Mining results are published

Where can I find a calendar of App Mining events?

The following calendar shows events each month related to App Mining:

How much can I earn and how are rewards distributed?

Payouts for the pilot run are $100k in total each month (the original alpha run paid out $25K. In the pilot run, the highest-ranked app receives 20% of the 100K, the next highest-ranked app receives 20% of the remaining 80%, and so on (this distribution is subject to change).

Rewards are paid in Bitcoin. The payouts are administered by Blockstack PBC and facilitated by App.co.

How is App Mining different from cryptocurrency mining?

Traditionally the term mining in cryptocurrency refers to the process of contributing compute resources to the network and earning a distributed of new tokens as a reward. On the Stacks blockchain, developers can “mine” by contributing apps to the ecosystem and making applications the community wants.

What qualifies my app to compete in App Mining?

Your app should integrate Blockstack authentication for logging into your app. Your finished app should be available to the public for use. The application must use a registered domain name and the app should be hosted at a URL belonging to the domain. The app website must use a secured (https) connection. In the future, App Mining may reward apps that have taken steps to further decentralize, such as utilizing Gaia storage or the publishing your app to the Blockstack Naming System. Test flight apps, hello-world apps and apps created through blockstack tutorials (e.g., animal kingdom apps) do not qualify.

Does my app have to be listed on App.co to enter App Mining?

Yes, it does.

How do I submit my application for App Mining?

Complete the submission form on App.co. Blockstack suggests registering several days before the ranking deadline — our team needs to verify your details to ensure your app qualifies. Full enrollment details can be found here. When you have met all the requirements, you should see your app listed on this page.

When are my submission materials due?

Your submission materials are due at 11:59 PM Eastern Time US on the last day of each month. For example, if you are making a submission for March, your materials must be submitted on or before Feb 28 at 11:59 EST.

How often can I submit my application for App Mining?

You need only to submit your application once. Each month after your submission, your app is competing in App Mining.

How do I launch my app on Product Hunt as an app reviewer?

Part of the ranking process includes an assessment by the Product Hunt app reviewer via their community vote and their internal team vote. You can find information on the algorithm in this documentation.

Your product's launch on Product Hunt has an impact on your final App Mining ranking as stated in the algorithm information. If your app has not been “hunted” yet on Product Hunt, you have the option to hunt the app independently or to ask Product Hunt to hunt it for you. Make sure you understand the hunting process. Only hunted products can be featured by Product Hunt. More information on successful product hunt launches can be found on the Product Hunt blog.

Blockstack will email each miner about the hunt process at the start of each App Mining review cycle. You should feel free to let us know your preference, hunt yourself or by Product Hunt, before the review cycle.

Does my code repository need to be public?

Your application code can be public or private.

Is Blockstack Auth difficult to integrate?

If you’re already building your app with JavaScript, adding Blockstack authentication is easy! We have docs, tutorials, and thorough API references for you to learn from. Visit the Zero-to-Dapp tutorial for end-to-end training. Or use this short example.

If you’re developing a traditional server-side application, you can still take advantage of Blockstack authentication. For an example, check out our Ruby on Rails gem.

Who are the app reviewers?

App reviewers are currently selected by Blockstack PBC. Reviewers are entities that have a proprietary methodology that helps them make objective judgements for why a certain app might be better than others. We strive to engage a diverse coalition of app reviewers with the goal of making application ranking objective and resilient to abuse.

The app reviewers are Product Hunt, TryMyUI, Awario, and the digital rights reviewer. See here for more details about each reviewer. Future reviewers could expand to community election. Please see our GitHub repository to raise issues or make suggestions for App Mining.

How are apps ranked?

App reviewers have a proprietary methodology that helps them make objective judgments for why one app might be better than another. Each app reviewers determines the data, formula, and personnel they wish to utilize. For example, Product Hunt can tap into their community data to determine relative app popularity. Reviewers must publish their methodology periodically to ensure transparency.

To learn more see the detailed explanation of our ranking algorithm on our blog and in our documentation.

Apps are ranked by all app reviewers.

Do I have to Hunt my app on Product Hunt?

As part of the ranking process, there is an assessment by App Reviewer Product Hunt via their community vote and their internal team vote. More info on the algorithm, here. The Hunt launch will have an impact on your final ranking, as you can see in the algorithm breakdown. Here is more info on Product Hunt launch best practices. In general, sharing and responsiveness to questions are encouraged, and it might help your community reception if you choose to hunt the app yourself. If not, Product Hunt can hunt your App as well.

Apps will be hunted every 6 months, so if you hunted your app in a past month, as long as you are in the 6 month time window, you will not have to Hunt the app.

When are the winning payments made?

Payouts are made on the 15th of every month.

What are examples of any quantitative metrics that may be shared with app reviewers?

Qualitative metrics are metrics that evaluate elements such as engagement, DAU/MAU ratios, etc. from the reviewed apps. Blockstack plans to incorporate metrics based ranking. However, before we do, any mechanism must thoughtfully incorporate the digital privacy rights of Blockstack users, and provide information in a way that cannot be gamed.

Is App Mining Decentralized?

Given the pioneering nature of the program, we are being careful and starting in a somewhat centralized fashion that allows for necessary diligence in the early stages, for example, the current pilot phase. We don’t want to bake in assumptions that have not been validated. The downside of this protection is some level of centralization, which we are taking steps to reduce over time. The pilot is the just the first step in creating a fair system that can be relied upon by founders and contribute to the growth of the Blockstack ecosystem.

Blockstack plans to move along a path to decentralization and App Mining will too. It is important to highlight that initially, App Mining will purposely have a few points of centralization highlighted below, which can become decentralized over time (all plans are subject to change, legal approval, and applicable law).

Electing app reviewers:

Currently, Blockstack PBC elects app reviewers. In the future, we anticipate gradually transitioning to community elections of App Reviewers.

Registering apps:

Currently, registering apps is regulated by Blockstack PBC through app.co/mining. In the future, we anticipate transitioning to publishing on designated Blockstack namespaces via our public blockchain.

Collecting votes:

Currently, votes are aggregated by Blockstack PBC and administered via App.co. In the future, we expect that votes will be collected through the protocol itself.

Issuing money:

Currently, payouts are issued by Blockstack PBC. In the future, we expect that payouts will over time be generated and deployed on an automated basis.

How is App Mining protected against bribery, collusion, or gaming?

We are taking potential threats very seriously and hope to create a fair system that continuously reinforces trust within our community for the long term.

We are currently consulting with a team of 3 Ph.D. Game Theorist professors from Princeton University and New York University to determine thoughtful methods to protect App Mining from being attacked and/or abused. Our goal is to be as transparent as possible, but App Reviewers may reserve the right to keep some secrets in their formula to avoid bribes and gaming, and the algorithm that combines all of these score may be tuned in the future to account for new learnings.

The Game Theorists are working with us to create a technical paper and broader documents like blogs explaining the overall mechanism.

How do I propose and follow changes to App Mining?

The App Mining GitHub repo is the best place to propose changes to App Mining.

App Mining Disclaimer

The App Mining FAQs contain forward-looking statements, including statements regarding Blockstack PBC’s plans for its App Mining program. Forward-looking statements are subject to risks and uncertainties that could cause actual results to differ materially, and reported results should not be considered as an indication of future performance. Potential risks and uncertainties that could change our actual results include, but are not limited to, risks associated with: the failure of App Mining Program to successfully incentivize the development of applications for the Blockstack network; risks associated with attacks designed to influence the App Reviewers or game their methodologies; technical difficulties in the transition from a centralized to a decentralized administration of the program. These forward-looking statements speak only as of the date hereof. Blockstack PBC disclaims any obligation to update these forward-looking statements.

Any decisions that may be made through the App Mining Program regarding rewards provided to app developers are not recommendations as to the quality of any investments that individuals may make in a company that receives rewards. If you are considering an investment in any of these companies, you should make your own decision regarding that investment and not rely in any way on the results of the App Mining program.

Core developer questions

What is Blockstack Core?

Blockstack Core is the reference implementation of the Blockstack protocol described in our white paper. Today, it consists of these components:

  • Blockstack Core: A Python backend service which reads transactions from the Stacks blockchain. This blockchain enables the Stacks Token (STX) and Blockstack Naming service.
  • Atlas: A peer network for communicating data about the Blockstack Naming System (BNS).
  • Blockstack API: A service for indexing the data stored by Blockstack Core and making it available in a performant way.

The next version of the Stacks Blockchain is under active development in the Rust programming language and employs our Tunable Proof-of-Work consensus algorithm and a unique scaling solution that enable individual apps to create their own app chains.

How will the next version of Blockstack Core change?

The next version of Blockstack core will incorporate smart contacts and do away with the virtual chain. This next version is expected toward the end of the year and will contain these components:

  • Leader election and Tunable Proof-of-Work implementation: This component governs how clients select the longest chain and which miners receive transaction fees for broadcasting transactions.
  • Peering network: This component distributes blocks and microblocks among peer nodes participating in the Stacks blockchain.
  • Smart contracting VM: This component is responsible for executing and validating transactions in the Stacks blockchain, including smart contract publishing and execution.
  • Blockstack API: This API indexes the data stored by Blockstack Core, exposing a JSON REST API for querying information about Stacks ownership, the Blockstack Naming System, and other data stored in smart contracts.

What is Leader Election and Proof-of-Burn?

Proof-of-Burn is a mechanism through which potential block miners (what we call leaders) burn an existing cryptocurrency to announce their candidacy for mining a particular block. The more cryptocurrency burnt by a particular leader, the more likely they are to be selected to lead a block (a process which uses cryptographic sortition). Once elected, a leader constructs a valid block, choosing the chain tip to base their fork off of, and announces the block to the network. In the event of chain forks, clients select the longest such fork as the “correct fork.”

How are user identities managed in the Blockstack architecture?

Identity is user-controlled and utilizes a smart contract implemented on the Stacks blockchain for secure management of keys, devices, and usernames. When users log in with apps, they are anonymous by default and use an app-specific key, but their full identity can be revealed and proven at any time. Keys are used for signing and encryption.

Can anyone register names on Blockstack?

Anyone can register a name or identity on Blockstack — you just need to use a Blockstack client to submit a registration request to a Blockstack core node. All of that software is Open-Source and can be run without any centralized parties.

What is a Blockstack Subdomain?

A Blockstack subdomain can be used for all the things a Blockstack ID can be used for. The only difference is that they have the format ~~foo.bar.baz~~ instead of ~~bar.baz~~. For example, jude.personal.id is a Blockstack ID, and is a subdomain of ~~personal.id~~. Hundreds of subdomains can be registered with a single transaction. The BNS documentation describes them in detail.

Can I get a Blockstack subdomain without spending Bitcoin?

Blockstack subdomains can be obtained without spending Bitcoin by asking a subdomain registrar to create one for you.

Is there a Blockstack name explorer?

Yes! It’s at https://explorer.blockstack.org

Why should I trust the information, like name ownership or public key mappings, read from Blockstack?

Blockstack records are tough to tamper with. The difficulty comes from the fact that the bindings for name ownership (names on Blockstack are owned by public keys) are announced on the Stacks blockchain. To change these bindings, an attacker must initiate a winning fork of the Stacks blockchain that is longer than the true chain but with a different history. The longer your name binding exists on the correct chain, the harder this task becomes.

Do you have a testnet or sandbox to experiment with Blockstack?

We have an integration test framework that provides a private Blockstack testnet. It uses bitcoin -regtest to create a private blockchain that you can interact with, without having to spend any Bitcoin or having to wait for blocks to confirm. There is a deployed testnet of the current version of blockstack-core at testnet.blockstack.org. To deploy your own testnet, please see the README for details.

Can the Blockstack blockchain fork?

Yes, the Blockstack network can fork. We hard fork the network once a year to make protocol-breaking changes and upgrade the network. The latest fork was in 2018 where we introduced the genesis block of the Stacks blockchain. For technical details, see the 2018 forum post for the annual hard fork.

Which coin fuels the Blockstack blockchain?

Currently, transactions fees are paid in Bitcoin. In 2018 our annual hard fork enabled the fuel payments for digital asset registration to be paid in Stacks token. For technical details, see the 2018 forum post for the annual hard fork. In the next version of the Stacks chain, which will implement Proof-of-Burn mining and leader election, all transaction fees will be paid in Stacks.

How is the Blockstack network upgraded over time? What parties need to agree on an upgrade?

We’re working on an on-chain voting strategy similar to how mining works, where anyone can cast a vote proportional to the amount of Bitcoin burned. Similar to how Bitcoin upgrades, a new feature is activated if a certain threshold (e.g., 80%) of votes consistently request its adoption over a given time interval (e.g., a couple of weeks).

Until then, Blockstack publicly announces the availability of new software, with the promise that each release will bring highly-desired features to make upgrading worth the users’ whiles.

Who gets the registration fees for name registrations?

With the current design, names are secured through proof of burn mining which uses Bitcoin. Namespace creators determine how much names costs in a space, when and if the names expire. These creators can also elect to receive fees for creating names in the first year that a namespace exists.

Do I need to run a full Blockstack node to use Blockstack?

No. We maintain a fleet of Blockstack Core nodes that your Blockstack applications can connect to by default.

Can I run my own Blockstack node?

If you want to run your own, we provide detailed instructions on our install page. It only takes about 5-10 minutes to spin up your full node! Running a Blockstack node keeps you secure by ensuring that your app gets the right names and public keys. It’s not expensive; it takes as many resources as a Chrome tab.

What is the capacity per block for registrations using Blockstack?

Initial registrations can be done at an order of hundreds per block, and once an identity is registered, you can do “unlimited” updates to the data because that is off-chain.

Can I programmatically register Blockstack IDs?

Blockstack applications do not currently have access to the user’s wallet. Users are expected to register Blockstack IDs themselves.

However, if you feel particularly ambitious, you can do one of the following:

  • Set up a blockstack api endpoint (see the project README) and write a program to automatically register names. Also, see the API documentation for registering names on this endpoint.

  • Write a node.js program that uses blockstack.js to register names. This is currently in development.

Can I programmatically register Blockstack Subdomains?

Yes! Once you deploy your own subdomain registrar, you can have your web app send it requests to register subdomains on your Blockstack ID. You can also create a program that drives subdomain registration on your Blockstack ID.

What language is the Blockstack software written in?

The current Stacks chain is implemented in Python 2. The next version of the Stacks chain will be written in Rust.

Our libraries and many of our developer tools are written in Javascript (and we’re working on porting much of our Javascript to TypeScript).

What if the current companies and developers working on Blockstack disappear, would the network keep running?

Yes, the Blockstack network will keep running. All of Blockstack’s code is open-source, and anyone can deploy Blockstack nodes or maintain the code. Further, Blockstack nodes don’t need to coordinate with each other to function. Any node that a user deploys can function correctly independently.

Open source developer questions

How old is the Blockstack project?

Work on the project started in late 2013. First public commits on the code are from Jan 2014. The first registrar for Blockstack was launched in March 2014, and the project has been growing since then.

What is the current development roadmap look like?

See this page for the current development roadmap.

Where are the current core developers based? What are the requirements for being a core developer?

Our core developers work in various cities, New York City, Seattle, Toronto, Chicago, Minneapolis, NYC, San Francisco Bay Area, Barcelona, and the Netherlands . Developers who’ve contributed to the core open-source software over a long enough period, by default, get included in the list of core developers. There is no formal process for being part of this informal list. Core developers, generally, can write high-quality code, understand distributed systems and applied crypto, and share a vision of building a genuinely decentralized internet and are dedicated to that cause.

I heard some companies working on Blockstack have raised venture capital, how does that impact the project?

Blockstack, like Linux, is an open-source project with a Linux GPLv2 license for the core technology. Just like different companies build apps and services on top of Linux and have different individual business models, some companies are building apps & services for Blockstack on top of the core open-source technology, and these companies have various business models and funding sources respectively. Having more venture-backed companies join the ecosystem for a decentralized internet is a good thing for everyone participating in the ecosystem including users and developers.

Miscellaneous questions

What’s the difference between Onename and Blockstack?

Onename was a free Blockstack ID registrar run by Blockstack. It makes it easy to register your name and set up your profile. Once the name has been registered in Onename, you can transfer it to a wallet you control, or leave it there and use it as you like.

Does Blockstack use a DHT (Distributed Hash Table)?

It does not, as of November 2016. It uses a much more reliable system called the Atlas Network. Details here: https://blockstack.org/blog/blockstack-core-v0-14-release/