You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
7.7 KiB

---
layout: learn
permalink: /:collection/:path.html
---
# 1 - Why Blockchain and Blockstack?
{:.no_toc}
**Zero to DApp, 1 of 4**
Welcome to the Blockstack Zero to DApp tutorial. The Blockstack Ecosystem has a
mission to bring a new internet where users control the access to, and use of,
their own identity and data. This tutorial is written for developers who want
to learn about how to use the Blockstack Ecosystem to develop and fund
decentralized applications (DApps).
The tutorial has four pages, this is first of four pages. The top of each page
lists the contents. This page contains the following:
* TOC
{:toc}
Of course, you can skip pages if you want. Each page contains a section
describing who can/should skip and containing a link to the next tutorial page.
You can also use the menu on the left.
<div class="uk-card uk-card-default uk-card-body">
<h5>Can you skip this page?</h5>
<p>In this section, you learn what is a DApp, why you might want to create one, and
why you would choose the Blockstack ecosystem to do it. If you are already
familiar with how decentralized applications are different from standard
applications and you understand Blockstack’s unique value proposition, skip
this section and <a href="zero_to_dapp_2.html">move onto 2 of 4 immediately</a>.</p>
</div>
## Blockchain applications, the new kid
A decentralized application (DApp) uses blockchain technology for the
authentication and data storage components of an application’s platform.
Blockchain applications are decentralized applications, meaning they move data
control and identity management from central authorities and organizations to
individual users.
Anyone who has had their identity stolen or lost money because of a data breach,
understands that centralized applications come with personal risk. Anyone who
has lived in or visited a foreign country and lost access to a site, to a
service, or to information because of government censorship also understands how
centralization impacts how people live.
Users and businesses see DApps as valuable because they solve the the
centralization problems of traditional applications. The following table
describes the features of traditional applications and the features of
blockchain applications:
<table class="uk-table uk-table-small uk-table-divider">
<tr>
<th>Traditional application</th>
<th>Decentralized application</th>
</tr>
<tr>
<td>Users must create many username and password combinations for each service or application. Each combination must be managed and maintained. Also, each creation requires the user to provide,important or unique information into the care of a third-party.</td>
<td>Users create and own one or more identities. They use their identities with all applications and services. For example, a user could use the same identity for buying books online as they use for social media.</td>
</tr>
<tr>
<td>Multiple third-party applications and services store personal data from individual users in backend servers.,These backend servers are under the control of the application or service. Users leaving the application leave their data behind.</td>
<td>Personal information and data is encrypted and remains under the control of the user.,Users leaving an application leave no data behind because none was stored with the application.</td>
</tr>
<tr>
<td>Multiple accounts across many servers makes personal data subject to attack, misuse, and uncontrolled collection.</td>
<td>Users can audit access to their data and know who accessed their data and which date were accessed.</td>
</tr>
<tr>
<td>Central authorities and middlemen control network access enabling them to censor applications and/or users that use them.</td>
<td>Companies are developing blockchains that run over peer-to-peer networks.,These future networks can make shutting down or entirely blocking a decentralized application is close to impossible.</td>
</tr>
</table>
The blockchain technology you build an DApp with determines the features available to your application.
## How Blockstack is seeding DApp development
Blockchain applications are a new paradigm for both application developers and
application users. New paradigms in any market, think solar power or electric
vehicles, need private and private coalitions to grow. The centralized hosting
and services known of as cloud computing were once new paradigms. It was the
investment of billions in funds and incentives from governments and private
companies that grew the cloud computing market.
Today, these same elements are helping to the drive to the blockchain industry.
Public and private spending on developing blockchain technology is expected to
grow at a rapid rate. This investment is happening throughout the world as
reflected in a recent IDC report:
> <img class="uk-align-center" src="images/history-cloud.jpg" alt="">
>The IDC expects blockchain spending to grow at a robust pace throughout the
2017-2022 forecast period with a five-year compound annual growth rate (CAGR) of
73.2%. Worldwide blockchain spending is expected to be $1.5 billion in 2018,
double the amount spent in 2017.
~ <a href="https://www.idc.com/getdoc.jsp?containerId=prUS44150518" target="\_blank">IDC Blockchain Spending Guide</a>
{% include signature_fund.md %}
As you work through this Zero to DApp tutorial, you’ll learn more about the funding available
through the fund and how you can access it.
## Blockchain, no pain
Blockstack’s mission is to bring about a new internet where users control the
access to their data and how it is used. With this mission in mind, Blockstack
Public Benefit Corp. (PBC) started development of the Blockstack platform in 2017.
The platform’s development philosophy followed two simple principles. First,
create backend services that allow decentralized applications to be both
performant and scalable. Second, provide simple, familiar development
interfaces to blockchain technology. The result of this philosophy is a
technology platform that allows you to:
* **Build your application in any Javascript framework.** You can use the blockchain without learning a new programming language or extending your application stack.
* **Use well-defined REST endpoints that simplify and encapsulate the blockchain backend.** The Blockstack Javascript API reduces blockchain operations to familiar GET and PUT operations.
* **Access the Blockstack’s Naming System (BNS).** The system has over 90K users that can immediately start using your application.
* **Scale quickly to large, performant production systems.** Blockstack’s GAIA storage system gives fast, scalable performance on a level comparable to Amazon S3, Google Drive, or Azure.
Using Blockstack’s technology you can start building immediately on the
blockchain with the knowledge you have today. You won’t need to spend time or
effort developing additional knowledge of specialized languages or technologies.
In part 3 of this tutorial, you’ll build a sample DApp that leverages all the
key features of Blockstack’s platform.
## Where to go next
{:.no_toc}
This section introduced you to the benefits of a decentralized application
(DApp). You also learned that, similar to other new paradigms, you learned both
the public and private companies are committing serious resources to developing
blockchain tech. Finally, you learned Blockstack is designed so that you
can quickly build a DApp and enter this emerging market.
In the next section, you learn more about the developing DApps and how they are
different from traditional applications. You’ll also learn about the resources
Blockstack provides for DApp developers that help you clarify where to put your
efforts and how to fund them.
Continue to [2 of 4, Zero to DApp](zero_to_dapp_2.html).