What is blockstack
Today we decided to talk about something completely unique — about the new form of the Internet that Blockstack is trying to create.
Blockstack is a decentralized computing platform. This is the easiest way to create decentralized applications that can scale. Blockstack PBC is headquartered in New York and its globally distributed team is located in Hong Kong, The Gambia, Barcelona, Toronto and Seattle. Blockstack PBC is a community-friendly corporation that builds the core Blockstack protocols and platform for developers. Blockstack PBC’s mission is to create an open, decentralized Internet that will benefit all users by giving them greater control over information and computing.
More on Blockstack
Blockstack aims to create a new hidden layer of the decentralized Internet, creating an easy-to-use infrastructure for future application developers. They make the building blocks of the new Internet.
The team claims that there are centralized failure points in the hidden layer beneath the current Internet, such as the Domain Name System (DNS – the central registry for all website names) or Certificate Authorities (CA – they approve the https tag for websites).
By decentralizing these vulnerable trust points and registering things like domain names on the blockchain, Blockstack hopes to make the Internet structure more secure.
By removing centralization points for layers such as domain names, security certificates, cloud storage, etc., they plan to reduce the risk associated with each level. So, let’s talk about what Blockstack actually does to improve these layers.
DNS – BNS: Blockchain Name System
When you type “facebook.com” on your computer, how do you get to facebook.com? This is done by the Domain Name System (DNS), managed by the non-profit organization ICANN. When you enter facebook.com, DNS servers send this request to the correct IP address, a string of numbers, which is the actual ‘web address’ for the site.
Essentially, this makes IP addresses readable because no one wants to remember “184.108.40.206” instead of facebook.com. Web addresses are stored on a centralized DNS server, so they are susceptible to attacks such as DDoS or spoofing. BNS records the addresses in the blockchain from which the network of users downloads a copy of the full index.
Since each user has a full copy of the address system, he does not need to trust someone alone, and therefore the risk of attack is reduced. Unlike DNS, BNS names are not limited to official sites. Users can also set their own names using the “.id” namespace created by Blockstack. The .id names act as personal identities in the Blockstack ecosystem. This allows you to make two major improvements to UX.
- No more passwords. Since Blockstack identifiers are cryptographically protected and personally linked using Blockstack Auth, you can log in to Blockstack applications without creating a separate password for each of them. You will have one password to authorize the device to use Blockstack under your identity, and you will no longer have to think about it.
- Blockchain human-readable addresses. Now, when you want to send bitcoin to a friend, you must send it to an address that looks like “1BvBMSEYstWrtqTFn5Au4m4GFg7xJaNVN2”. Sometimes this can be a problem, especially if you mix the numbers. BNS allows us to register “1BvBMSEYstWetqTFn5Au4m4GSg7xJaNVN2” as “nickname.id”, which is much easier to remember and the risk of error is much less.
All this means that you can safely access Blockstack’s Internet as “nickname.id” and you don’t have to worry about passwords.
BNS represents paired names – each human-readable name is associated with a blockchain address. But what if you insert each pair into a giant list called an index? How does a network user know that these are the correct addresses?
This is where Atlas appears. Atlas acts as a display layer for names and storage tiers, allowing each node on the network to discover new records and update existing ones. At the name level, Atlas ensures that each node knows which name or namespace points to specific blockchain addresses. At the storage level, it directs requests from small lists, which are actually stored on the blockchain, to large storage backends.
Atlas is a peer-to-peer network meaning that user nodes communicate with each other to make sure their index is completely updated. There have historically been serious problems with peer-to-peer networks.
- Scalability – the more nodes are added, the more difficult it is to search for information, because it is not clear which nodes contain what information.
- Performance – the network can work slowly when searching for information, since it is difficult to say which nodes contain the necessary data, so the search should go through the entire network.
- Reliability – since anyone can add information to public peer-to-peer networks, it may not be true. Over time, too much data accumulates that has to be deleted to make room for new ones. And this old information may still be needed by someone. In this case, the network simply cuts off part of the user’s information, which can also happen due to a fraudulent attack, where attackers will spam the network with false data.
Since the block stack index is a small data set (it contains only pointers to where the data is, not the actual data), each node contains a full copy of the index. Nodes randomly select ‘neighbors’ with whom they exchange updates. New additions take precedence – when a node receives a new pair that it has not seen before, it immediately sends information to neighboring nodes. This ensures that all nodes receive the most current information as quickly as possible to avoid errors.
In addition, Atlas provides fast and efficient operation: data is stored locally and updated only when necessary – nodes minimize internal scaling problems in the blockchain. Since the data set is small, therefore, to store text pairs that indicate large chunks of data elsewhere, does not require a large amount of memory on the computer. Since each node contains an up-to-date copy of the index, speed is also not a problem – you do not need to look for information that you already have. The rules that the nodes adhere to when exchanging information with the network ensure the efficiency and reliability of the entire ecosystem.
An interesting note on this issue: The Blockstack team performed a network reliability check by removing a large amount of data from the index of various Atlas nodes. In typical distributed networks, this could lead to data loss for a significant period of time or forever, because this data was stored in certain nodes selected randomly. Atlas nodes were able to fully recover after losing data for several hours.
Gaia – decentralized storage layer
With the proliferation of cloud storage, it has become easier to store huge amounts of data in the cloud. But it turns out that users have to trust their data to the cloud service provider and hope that this data is safe. Gaia offers a solution to leverage existing cloud storage providers without having to trust them with their information. Using pointer data from the Atlas network, Gaia can upload encrypted data to storage applications, such as Dropbox.
In this method, you store your own encryption keys, and all Dropbox sees is the encrypted data. When you download a file, the Gaia software running on your computer decrypts it after it leaves the cloud storage and ends up on your device. All this is achieved with a speed comparable to the current use, which is important for the adoption of this technology.
Experts believe that the Blockstack feature that will attract users is their name system. It solves two main problems that users face today: remembering passwords for each application that they own, and providing readable blockchain addresses for sending and receiving money. The advantage of the password solution is obvious – it’s security and convenience. The advantages of the new addresses are also obvious – there is no need to scan QR codes every time you send money or remember the full address bar. This technology is likely to be an important step towards the wider use of cryptocurrency. As for Atlas and Gaia, these are certainly interesting and important achievements in the fundamental technologies of the Internet, but they are of little interest to the average user. Nevertheless, they are an important part of turning Blockstack into a successful decentralized Internet, and they will make the lives of users better in the most inconspicuous way.