Blockstack is a project that aims to expand the functionalities of Bitcoin serving as a second layer protocol, capable of improving the benefits of this cryptocurrency, offering advanced smart contract capabilities and an entire infrastructure designed to deploy DApps in a massive way.
Lat the arrival of DApps or decentralized applications to the world of cryptocurrencies, marked the start of a huge evolutionary leap in blockchain technology, but it has largely become linked to the blockchain of Ethereum (ETH). However, Blockstack seeks to take that evolutionary leap to the ecosystem of the most famous and used cryptocurrency: Bitcoin (BTC).
The objective? Extend the capabilities of this blockchain to offer its users and developers smart contracts or smart contracts powerful. This together with all the infrastructure and tools necessary to deploy decentralized applications (DApps) that take advantage of this potential.
Undoubtedly a very interesting project that generates great expectations since, in addition, it is a project that already works and is beginning to show its full potential.
Introduction to Blockstack
Blockstack is a free software project that is focused on extending the functionality of the Bitcoin blockchain. For this, Blockcstack has generated an entire support infrastructure dedicated to offering smart contract capabilities and all the necessary infrastructure for DApps to work correctly on the Bitcoin blockchain, and best of all, without having to negatively affect the protocol of Bitcoin.
Origin of the project
The history of this project begins in 2013, the year in which Muneeb Ali y Ryan shea they founded Blockstack. The goal of this company was to solve the underlying problems of today's web and mobile applications. For the summer of 2014, Muneeb and Ryan presented their proposal to the YCombinator accelerator, and additionally carried out a round of seed funding in which Union Square Ventures (USV), Naval Ravikant, SV Angel and others participated.
As a result of these first investments and work on blockchain technology, in 2017 the first version of Blockstack was launched, which had a DApps explorer (Blockstack Browser) and a distributed storage system in operation. Thus, by the end of 2017, the company also secured two additional rounds of financing through a Series A, led by USV, with the participation of Lux Capital, Digital Currency Group and others, as well as a token offering.
Launch of the first version of Blockstack
With the new round of funding secured, Blockstack launched a testnet or testnet for its blockchain (named Stacks) in Q2018 XNUMX, officially launching the mainnet Stack v1 in October of that same year. This release also distributed Tokens to the first investors who participated in the token purchase round.
The team also presented a pilot of its App Mining program with 38 registered applications. App Mining is a Blockstack mechanism to incentivize projects and developers to build on the Stacks network, as the main applications of monthly active users receive rewards from STX. The number of participating Blockstack-based applications soared to nearly 300 in its first twelve months. Nowadays, App Mining is on pause, after achieving more than 500 registered projects and the activation of an App Mining 2.0 is under study
But continuing with the achievements, by July 2019, Blockstack PBC made the first offering of tokens to qualify in the Reg A exemption. According to a Wall Street Journal report, the startup spent nearly a year working with the SEC to meet the requirements. By meeting the required terms for the exemption, Blockstack's unprecedented token offering earned the company another $ 15,5 million in equity. Investors received their tokens through a hard fork network approximately one month after the sale closes. Total, Blockstack was able to capture a total of 23 million dollars in investments.
As of October 2019, with nearly 300 apps built on the platform and with contributions from over 100 independent developer teams, the Stacks network was still at v1, with v2 expected to launch in late 2020. With This new release, Blockstack's capabilities were significantly increased, especially with the inclusion of Clarity, its dedicated language for smart contracts.
How does Blockstack work?
Blockstack is a second layer protocol, so all its operation despite depending on Bitcoin, does not store information directly within the Bitcoin blockchain, maintaining a clear separation between the interactivity of the blockchain and the applications on Blockstack.
On the other hand, this means that Blockstack depends on an entire operating infrastructure external to the Bitcoin blockchain, and these parts are the ones that actually allow Blockstack to run its DApps.
However, the current Blockstack operating structure will change significantly with the arrival of its version 2, which is estimated for early 2021. Due to this, we will explain in the most detailed and simple way possible the operation of the current Blockstack, and the next advancements that the platform will include with its next mainnet.
Having clarified this point, the current and future operation of Blockstack can be seen as a cross-service structure. This would then leave us with an operating scheme like this:
As we can see, Bitcoin and its blockchain is in the most abstract layer of the entire system, that is, at the bottom. This means that all the work of the Blockstack network depends on the computational work that takes place on this network. This first feature is currently in use and will be maintained with the second version of the platform.
In addition to this, Blockstack uses its Stack sidechain, to have an internal accounting for all its applications. This is a feature that is also active today, but with the second version it will be improved by adding the ability to deploy smarts contracts and other tokens.
On the Stack sidechain, a series of services and protocols are built designed to expand the capabilities of Blockstack's smart contracts and DApps. Among these functions we can mention its distributed storage service (Gaia), the decentralized authentication system, a decentralized DNS system, financial services and other services that may be added in the future. Today, services like Gaia, DNS e distributed digital identity They are already running on version 1 of the protocol, but their capabilities will greatly improve with version 2.
Finally, to facilitate application development, Blockstack creates a series of well-defined protocols that facilitate access to all these functions, thus allowing developers to easily create DApps and deploy them on Blockstack, thereby closing the cycle of development of a DApps on this platform.
Stack Tokens (STX), a currency for the platform
Blockstack has its own token, which is called Stack Token (STX). In its current network, the initial generation of this token responds to an emission given in its Genesis Block or genesis block. This issuance produced a total of 1,32 billion tokens when the network went live in November 2018. Of these, 1,32 billion tokens from the Genesis Block, a total of 866.827.880 Stacks tokens were allocated to previous buyers with the launch of the Genesis Block, while 453.172.120 remained unassigned.
This initial allocation served to distribute tokens to investors who participated in the ICO and the project's financing rounds during 2017 and 2018. The rest of the tokens were assigned and distributed together with the hard fork of the network that distributed the tokens sold or assigned as part of various sales and distributions that took place in 2019.
Now, these tokens currently have a function that is limited within the Stack sidechain. This is because, when mobilizing STX tokens, what we really move is a value of a few satoshis within the Bitcoin blockchain, and this operation is reflected both in the Stack sidechain (for internal accounting) and in the blockchain of Bitcoin In short, at the moment STX is a token within the Bitcoin blockchain, and this leads the platform to have strong scalability and use problems.
But to see this more clearly, take for example this address within the sidechain Stack:
Here we can see that this address has an accounting like that of any other cryptocurrency. However, when we select any of your operations to obtain more data, we can clearly see that these operations have an impact on Stack and Bitcoin.
We can see that the operation has two associated Stack addresses (they start with "S") and it also has a Block Num (Number of blocks) assigned and even a TX ID (Transaction Identification) of Bitcoin. So, for example, if we review the information of the Bitcoin TX we get the following:
That is, the transaction also exists in Bitcoin, and it is a low-value operation (close to € 0,05). This model is the same as that used by Tether on OmniLayer, which works on Bitcoin.
To overcome the limitations of this model, Blockstack seeks to launch its second version, where the STX token will respond to new rules and will have new capabilities. The first of them is that the generation of STX tokens will respond to a mining process using a scheme that joins the Proof of Work (PoW) with the Burn Test (PoB). This new scheme is called Proof of Transfer or PoX.
The main characteristic of this system is that its emission and mining difficulty It is variable, thus adapting to the needs of the network and affecting the value of the token as little as possible within the markets. Thus, for example, at times of high network activity, it will generate more STX tokens, and at times of less activity, it will reduce the issuance of these tokens to a minimum programmed in the protocol. It is worth noting that this process is automatic and is directly controlled by the Blockstack protocol.
The idea of this system designed for Blockstack v2 is to process approximately 4383 blocks per month (about 52.596 blocks per year). Similarly, the minimum generation of STX tokens will be 500 tokens during the first 262.980 blocks (approximately 5 years). This emission will be reduced every 262.980 blocks until reaching 300 STX tokens per block, which will be the lowest generation point per block that the network can reach. That is, from that point on, each block will be able to generate at least 300 tokens.
In the same way, the maximum number of tokens generated will be 3.000 tokens per block for the first 262.980 blocks. This amount will be reduced by 1000 tokens every 262.980 blocks until reaching 1.000 tokens. At that point, 1.000 tokens will be the maximum generation of each subsequent block. This clearly tells us that the STX token is an inflationary issue token, and also that its inflation will be quite high.
Now, the utility of these new tokens will initially be focused on:
- Register digital assets with Blockstack. Blockstack users will be able to use their STX tokens to register different types of digital assets such as usernames, domain names, software licenses, podcasts, and much more.
- Register and execute smart contracts. To execute smart contracts it is necessary to have “Gas” to finance the cost of verifying the accuracy of the Smart contract and the cost of its execution. Stacks tokens can also be used to cover the costs of storing the smart contract on the Stacks blockchain.
- Transaction fees. Stacks tokens are used to pay the fees derived from including a transaction within the Stacks Blockchain.
- Anchored app chains. For apps to become popular on Blockstack, our blockchain has a "scalability ramp" where an app can initialize its blockchain on top of the Stacks blockchain. This “chain application” burns the Stacks tokens for mining and progression.
Clarity, the programming language for smart contracts
One of the most anticipated features of Blockstack v2 is its ability to execute smart contracts programmed in Clarity, the programming language of this protocol. Clarity, is a programming language designed for security, optimization and having a simple syntax and very similar to Lisp, a well-known programming language.
However, the main characteristic of Clarity is its proactive approach to security, something that makes a lot of sense in open and public environments such as blockchains. This is designed to avoid situations like Ethereum and Solidity, where bugs lead to billions of dollars lost and are an ongoing headache for developers.
But how does Clarity achieve this? Well, it does it following a different path than Solidity, and that is to begin with Clarity is an adaptive language. This means that it can be either Incomplete Turing or Complete Turing, depending on the way it is analyzed and executed.. This, on the one hand, reduces flexibility when programming, but provides a greater range of security by limiting the actions that are possible to perform with this language. It also allows you to create cleaner code, something that also translates into fewer code errors and ease of analysis by other people and create analysis and debugging tools.
This simplifies the execution requirements of that language, making it less demanding at the level of computing power in order to obtain more scalable results. It is an interpreted language so that smart contracts reach the blockchain as they have been programmed without any obfuscation or coding intelligible for anyone.
Proof of Transfer or Proof of Transfer (PoX), the heart of Blockstack
The heart of the next version of Blockstack is its consensus protocol called Proof of Transfer or Proof of Transfer (PoX). This is a protocol derived from the Proof of Burn (PoB) protocol and that allows establishing a computational work correlation between the Bitcoin blockchain and the Blockstack sidechain Stacks. It is worth saying that this design applies only to version 2 of Blockstack, since its current version 1 executes its actions directly on the Bitcoin blockchain, thus limiting its ability to scale.
The birth of PoX is due to the creation of the SIP-001, called Burn Election, in which a system known as Tunables Proof is proposed. This system allows you to choose a mining leader using a series of tests. In this way, the system allows starting a new chain of blocks on top of an existing chain of blocks taking into account two processes:
- Destroying the existing blockchain tokens (generating a burn test)
- Generating a separate attached proof of work
In the end, both proofs of work are weighted to create the final consensus protocol of the sidechain Stack, where the elected leader can validate the transactions for a given block, and the selection process for the new block is restarted.
To improve system security, the difficulty of these Tunable Tests changes regularly as more and more leaders participate. This allows the Stacks chain to take advantage of the security of an established blockchain to preserve its transaction histories while participation by leaders is low (such as during the chain's infancy) and, over time, the transition to their own group. of leaders as the chain becomes more popular.
Atlas, a high-speed and scalable P2P network
Given that the main objective of Blockstack is to generate a platform for the deployment of high-demand DApps applications, this makes it necessary to create a P2P capable of dealing with a very high amount of data in transit and that has a high-level scalability for adjust to future growth of the network.
The solution for this is Atlas, a P2P network that is based on the model of the gossip protocol for its funtionability. Atlas has the ability for each peer to keep a record of the peers existing on the network, and each peer attempts to store a complete copy of all data on the network. In this way, it is sought that the network is highly tolerable to failures and at the same time has a high level scalability.
Along with this Atlas is a segregated operating network. This means that the network is divided into two parts. The first part of the network is used to store the data of the blockchain itself (block and transaction hashes). While the second stores the data of those hashes. As a protection mechanism, the data stored in the second section is cryptographically related in order to avoid manipulation.
Outcome? Blockstack proposes that it can become a low-weight, rapidly synchronizable and replicable blockchain, and with a high level of scalability due to the little amount of information it handles.
Extending Blockstack functionality
Finally, Blockstack seeks to create a series of protocols that simplify the use of its tools. In this case, Blockstack currently has several of these protocols in operation, but in its second version it will add the ability to interact with them through smart contracts, expanding the decentralization of this system.
Among the initial protocols of this network are:
- Gaia, a distributed operating and user controlled data storage system. It can be seen as a version of Filecoin, IPFS o Both, a project that has extensive experience in this type of development. The idea is that Gaia serves as the storage space necessary for the execution of DApps, supporting the interaction and generation of data between them and the users.
- Blockstack Authentication System, a decentralized digital authentication system that will allow users to create an ID in Blockstack to use it as a means of interaction with the platform's DApps. The data is stored using the Stack sidechain, Gaia and the Blockstack Naming Service (BNS) system.
- Blockstack Name Service (BNS), a DNS system that allows registration from user names or websites in a decentralized way. An evolution of Namecoin and opponent of systems like Ethereum Nameservice (ENS).
- Decentralized Finance Services (DeFi), with the creation of the capacity of smart contracts and the rest of added functions, Blockstack aims at the increasingly growing DeFi ecosystem. With all these capabilities, Blockstack will be able to enable the creation of DeFi applications seamlessly, and indeed, they could have better scalability and security compared to its counterpart, Ethereum.
The future of Blockstack
Right now, Blockstack is at a point of transition and evolution towards Blockstack v2. The launch of this new network aims to position this project at the level of projects such as RSK, whose functions are very similar to Blockstack.
However, Blockstack has already demonstrated the potential of its solutions with a number of functional applications, and more importantly, with a much greater user-level reach thanks to its reportedly more than 2 million registered users. However, at the moment many of these promises are still promises, as the new mainnet has not yet been launched.
Despite this, it is clear that Blockstack is committed to a world of decentralized applications at the base of which is the enormous security that the Bitcoin network can provide us, as this is the computational workspace that Blockstack uses for its operation. With this he wants Bitcoin to become a major player in the DeFi world, and not only as a token or security within the ecosystem, but as an integral part of the functioning of these platforms. However, it remains to wait and see if Blockstack's promises will come true and the impact they will have on Bitcoin and the rest of the crypto world.