Stacks is a project started by Muneeb Ali and Jude Nelson that has been around Bitcoin for years, formerly known as Blockstack. Although it is only recently that it has gained more popularity due to the release of Stacks 2.0, with a very innovative consensus system.
Stacks’ vision is to build a platform for smart contracts and decentralized applications, like Ethereum, but using the Bitcoin blockchain to gain security and enable functions that no other blockchain allows.
In that sense they share Satoshi Nakamoto’s original vision of building other systems that benefit from the larger Proof of Work (Bitcoin) network.
Stacks has a native token called stacks or STX and a language for programming smart contracts called Clarity. But what makes it a unique platform is its consensus and mining system.
Consensus systems or blockchains use a scarce resource for transaction processing (mining). In the case of Proof of Work blockchains such as Bitcoin, computational power is used, which costs energy, and in Proof of Stake systems, such as Ethereum 2.0, native coins are used. Thanks to this cost of mining, attacks on the network are discouraged because the cost of an attack is greater than the benefit.
Proof of Transfer (PoX) is Stacks’ novel consensus system. In this case, the scarce resource used to secure the blockchain is bitcoin! Instead of competing by spending a lot of energy or staking a lot of coins, you compete by spending bitcoin.
Thanks to the Clarity language, Stacks has visibility into the Bitcoin blockchain and therefore can verify how much bitcoin each miner spends. The more bitcoin you spend the more likely your block will be mined and you will receive the block reward (in STX). This is what is new, it is a consensus between two blockchains.
In addition, all Stacks blocks are recorded (by means of a hash) in the Bitcoin blockchain. Thanks to this, the entire history of Stacks is immutably recorded. As a result, any attack on Stacks is completely public (its malicious blocks are recorded in Bitcoin), which is not the case in any other blockchain, and countermeasures can be taken in good time.
This design makes Stacks produce blocks at the same rate as Bitcoin, i.e. approximately every 10 minutes. Once the transactions of Stacks miners spending bitcoin have been included in the next Bitcoin block, one of them is automatically selected as the winner, and therefore, the block ratio is 1:1.
The 10 minute confirmation times inherited from Bitcoin can be seen as a major drawback, but Stacks has an ace up its sleeve to improve transaction confirmation speed.
To reduce confirmation times for users who wish to do so, the concept of microblocks has been designed. The idea is that when a miner spends bitcoin and adds the block information in the transaction, he can continue to add microblocks with more transactions on the fly.
As long as a Bitcoin transaction has not been included in a block it can be modified by paying more commission, this is known as RBF. Miners will be incentivized to include the second version of your transaction because it pays more.
This way a Stacks miner can do RBF to add, to that Bitcoin transaction, the microblock information. The fact that your transaction is in a microblock assures you that the probability that it will be included is close to 100%.
Users will be able to choose when to transact in blocks or microblocks, but block transactions are recommended for large amounts.
Going back to the idea of the consensus system where miners spend bitcoin to mine STX, that bitcoin is not spent anyway.
This is a feature that no other blockchain has and the bitcoin spent by miners goes directly to STX holders who have locked their coins. This is known as stacking (not staking) and currently generates an annual return of 10% received in bitcoin.
Stacking can be combined with other protocols in Stacks to gain a double profitability. On the one hand you earn bitcoin thanks to PoX and on the other hand you earn STX by participating in these protocols (such as providing liquidity for a stablecoin).
Stacks’ monetary policy is inflationary to provide a minimum per-block reward to miners. It is also coordinated with Bitcoin so that halvings occur approximately every 4 years:
The language design for smart contracts takes a different path to Ethereum. Instead of using bytecode (similar to machine language that is very difficult for humans to read) a high level language is used directly as part of the consensus.
Different languages are used in Ethereum with Solidity being the most popular, but they are all high level and to run they must be compiled to bytecode. The problem with this is that almost nobody understands bytecode and you have to trust that the contract in bytecode says the same thing as the contract you have written.
In Stacks, a high level language is used directly in the blockchain providing more transparency. Clarity is a Lisp based language that seeks to maximize security. This is why it is also not Turing complete like Ethereum. According to Muneeb this eliminates many unnecessary risks that in Ethereum have caused dozens of exploits, while maintaining a powerful language.
As mentioned above, Clarity has visibility over the Bitcoin blockchain and can execute a contract based on what happens on the blockchain, as in the case of the Proof of Transfer.
Because of its characteristics, Stacks is a blockchain that benefits bitcoin. First, it increases the demand for bitcoin because it is used to mine STX. Secondly, due to the competition of Stacks miners to spend bitcoin, large commissions are also paid to bitcoin miners. The latter can help maintain bitcoin’s security in a future where bitcoin is no longer produced.
It is also possible that the Stacks consensus protocol will migrate in the long term to Proof of Burn. The operation would be very similar but instead of miners handing out bitcoin, miners would destroy it. This would add deflationary pressure on bitcoin causing the supply to shrink, similar to Ethereum’s EIP-1559.
Thanks to the visibility that Stacks has over the Bitcoin blockchain some DeFi (decentralized finance) use cases for Bitcoin are possible.
Most notable are bitcoin loans without trust. The borrower deposits his collateral in Stacks and the lender sends him the bitcoin. In the event that that amount of bitcoin plus interest is not repaid, the collateral in Stacks is sent to the lender. The contract in Stacks can know whether the bitcoin has been returned or not.
In the future, collateralized synthetic bitcoin will also be developed so that it can be used directly in Stacks contracts.
Another interesting use is the decentralized .btc domains that have been launched on Stacks. The idea of decentralized domains is in fact the origin of Stacks in 2013 and was also an idea that interested Satoshi with BitDNS and Namecoin.
In short, Stacks is a unique project in the world of cryptocurrencies as it has not taken the easy way out, but has tried to bring new use cases to Bitcoin without modifying it and not trying to compete with it as a sovereign money.