The Blockstack Internet

Why Blockstack was created and how it works.

This article covers:

  1. Why reinvent the internet?
  2. The idea behind Blockstack.
  3. Components of Blockstack

Why Reinvent the Internet?

The internet provides an infrastructure for the World Wide Web, which enables social networks, electronic mail, instant messaging, distributed gaming, file sharing, video streaming, and much, much more. These applications were originally meant to be distributed in nature, since they involve multiple end systems that exchange data with each other. However most applications use a client-server architecture and store most important information about the user in cloud storage. Client-side applications are mostly dumb terminals that get data from servers and display it to the user.

Internet, to the end user, is like a black box. They access internet-based applications via the web browsers or specialized clients. The users themselves have no control over the data they produce — it’s governance is solely in the hands of the service providers, who may or may not abuse that power. Because user data is a commodity, the incentive to exploit the users’ trust and sell their data is a calculated business decision, and a highly lucrative at that. In other words, the spirit of the internet is broken because of the Silicon Valley oligopoly of tech giants that power it. From the moment a user turns on their client and fires off a search or requests a URL, they are implicitly trusting services such as ISPs, DNSes, CAs, and centralized servers to provide them relevant services and to generally do right by them.

Primary internet services that users trust implicitly

Internet was primarily designed for research and development purposes in the scientific and military field, keeping only trusted parties in mind. So, it lacks security and reliability by design, because maliciousness wasn’t factored in. These flaws have come to light fairly recently in the form of data breaches and privacy violations, which service providers have effectively hidden or glossed over for a long time from its consumers.

The Idea Behind Blockstack

Currently, when a user uses a messaging app, the message first gets routed to the service provider. Service provider maintains a database for user data where user data is first written into database on user behalf. After processing, the message is forwarded to the user on the other end. Therefore, the database maintained by service providers is the single source of truth.

This process works seamless following the client-server architecture, performing reliably across as many platforms and devices as the user wants. However, there is a catch — the user doesn’t have ownership of their data and identity. User can’t control who sees their data; what screening processes their data has to go through. Users don’t even know to whom their data is being sold and for what purposes.

To tackle this problem, Blockstack founders Muneeb Ali and Ryan Shea have taken the initiative to provide users with much needed decentralized digital identity and data ownership. They are redefining how the internet works by removing the element of trust and providing decentralized internet for truly decentralized applications, allowing user to own their identity and data.

Whenever a user makes an account using Blockstack, they are given a decentralized identity and storage (Gaia hub) by default, where their actual data is stored, encrypted by their own public key. Keep in mind, this data can only be decrypted by the user’s private key. No one in the world can view this data unless they have the owner’s private key. Here is a screenshot of what you see when you make an account on Blockstack.

Digital identity of user

Blockstack Components

Blockstack API works on the application layer. It uses the underlying transport layer protocol TCP and UDP. It allows developers to build decentralized applications on top of the Blockstack architecture, where user have complete control of their digital identity and the data associated with it. Blockstack has three main components at application level:

Main components of Blockstack
  1. Blockchain: The Blockstack blockchain is actually composed of virtual chains built on top of the Bitcoin blockchain. It leverages the inherent security and trustlessness of Bitcoin to provide additional functionality such as Blockchain Naming System (BNS) and providing digital identity.
  2. Peer Network: Blockstack has implemented a peer network (Atlas) for the discovery of data. They have separated actual data storage from discovery. Atlas is only used to store pointers to the data, which is stored elsewhere on Gaia.
  3. File Storage System (Gaia): Blockstack has treated cloud storage (Amazon S3, Google cloud storage[GCS]), etc.) as dumb storage area where encrypted user data is stored. Users don’t have to trust the storage provider because they have complete control on their data. Only the owner can decrypt this data with their private key and storage providers will be left with data blobs only.

Conclusion

This article gives an overview of Blockstack, which is using the current infrastructure of the internet to redefine it so as to return control of data to the owner. Blockstack has a growing community and incentivizes developers to build BlockApps. It is a great beginning to the future of decentralized internet. We are a long ways from it but the foundation has been laid. The next article will explain how Blockstack works.

Resources

https://blockstack.org/whitepaper.pdf

https://docs.blockstack.org/browser/blockstack_storage.html

https://www.youtube.com/watch?v=aF4IGcwMgmM&t=574s

https://github.com/blockstack/gaia