The Stacks Internet

Sidra
4 min readFeb 7, 2019

Why Stacks was created and how it works.

This article covers:

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

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 the 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 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 Stacks

Currently, when a user uses a messaging app, the message first gets routed to the service provider. The service provider maintains a database for user data where user data is first written into the database on user's 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 seamlessly 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, Stacks 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 the user to own their identity and data.

Whenever a user makes an account using Stacks, 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 Stacks.

The digital identity of the user

Stacks Components

Stacks 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 Stacks architecture, where users have complete control of their digital identity and the data associated with it. Stacks has three main components at the application level:

Main components of Stacks
  1. Blockchain: The Stacks 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: Stacks 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): Stacks has treated cloud storage (Amazon S3, Google cloud storage[GCS]), etc.) as a dumb storage area where encrypted user data is stored. Users don’t have to trust the storage provider because they have complete control over 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 Stacks, which is using the current infrastructure of the internet to redefine it so as to return control of data to the owner. Stacks has a growing community and incentivizes developers to build BlockApps. It is a great beginning to the future of the decentralized internet. We are a long ways from it but the foundation has been laid. The next article will explain how Stacks 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

--

--

Sidra

Blockchain Developer, Blockchain Researcher, Web3 Technical Writer