During the past few years, digital currency has been on the rise and Bitcoin has been at the forefront. This is a digital currency that is totally unique from regular currency in that it uses a decentralized, distributed network. This means that Bitcoin is not a fiat currency because it does not have any centralized owner. In essence, Bitcoin has been designed to work completely independently of any central arbiter. For this reason, numerous authorities in the financial field have become more interested in how Bitcoin works, its value, and whether or not it can function as a reliable currency in the future. While Bitcoin is not regularly used to buy goods and services, this could be its future depending on what happens to Bitcoin with respect to traditional currency options.
One of the top ways that people make money using Bitcoin is though something called Bitcoin mining. Bitcoin uses blockchain technology and every transaction ever made on the Bitcoin servers is stored in one of these blocks. When new blocks are made, they are attached to old blocks. Before a new block can be accepted by the old blocks, it has to be verified. This is done through something called a Proof of Work concept. When someone makes a new Bitcoin block, they have to solve a complicated mathematical algorithm. This is where the idea of Bitcoin mining comes in. Those who make new Bitcoin blocks are called miners and this has come a long way during the past few years. The more blocks solved, the harder it becomes to solve the remaining equations and make a new block. As a result, there has been a major shift in the way most people mine Bitcoin blocks.
Today, in order to earn a reliable stream of income, many miners join something called a mining pool. This option has been enabled using the open-source mining protocol that is known as Stratum. Stratum was first designed by Slush Pool about seven years ago and it has become one of the most popular options today among Bitcoin miners everywhere. The reason why mining pools have become so popular is that this makes it easier for an individual miner to compete. Today, the ability to mine Bitcoin blocks requires a tremendous amount of power that requires specialized hardware. Then, multiple pieces of hardware often work together in order to generate some sort of reliable income. This is where Stratum comes into play.
Slush Pool, the company behind Stratum, is owned by another company called Braiins. Now, Braiins has put out a second version of Stratum, called Stratum V2. This is the second version of the mining protocol that has become so popular among Bitcoin miners everywhere. This software has been in the works for more than two years. Now, it has finally been released and it makes several key improvements when compared to the V1 of Stratum. According to the developers, Stratum V2 solves a number of security issues and historical problems. In general, this version of the software is simply more efficient and can even be used for advanced cases. This includes the management of mining farms and even work selection. Many of the users are saying that this upgrade should have been done years ago; however, Bitcoin miners everywhere are happy that it is here now. The reality is that the Stratum V2 has the potential to change the way nearly every Bitcoin miner and mining pool operates. Therefore, it is important to take a closer look at the Stratum V2 mining protocol and how it makes improvements when compared to its predecessor, the Stratum V1 mining protocol.
A Refresher Course on the Stratum V1 Mining Protocol
First, it is important to take a refresher course on the Stratum V1 mining protocol. This is one of the first Bitcoin mining protocols to be used by individual miners and pools alike. First, there is something called a hasher. This is the user of the mining pool. Usually, the hasher is simply referred to as a miner. The miner connects to their mining computer, which is typically a specialized machine that uses something called ASIC chips. Then, this mining computer is connected to the mining pool. After this, the mining computer has to request something called a block template from the operator of the pool. This block template is required to make an incomplete Bitcoin block. It is called incomplete because it doesn’t contain the required Proof of Work that marks it as a valid block. Without this Proof of Work, the Bitcoin block will not be accepted by the chain and the miner will not receive the transaction fee.
As an important note, the transactions that take place on this block are selected by the operator of the mining. The transactions themselves are not actually sent to the miner. Only the Merkle path, which is a series of ashes, is sent to the miner. Finally, the operator of the pool is the person who chooses which version bit to include. This could matter when it comes to soft fork protocol upgrades down the road.
Once all of this is done, the hasher is the person who goes to work when it comes to the template of the partial block. The goal is to hit on one of the valid block headers which will establish that the Proof of Work requirement has been met. Should a valid block header be produced, the block will be sent to the mining pool operator. Then, the operator is responsible for adding what is left of the block before sending it out to the Bitcoin network as a whole. Finally, the reward for the block is distributed among all of the participants in the mining pool. The operator is responsible for deciding how much of the transaction fee each user receives. Usually, this is based on the amount of work that has been put in by each individual hasher. Often, this is measured by having hashers send in their partially complete block templates as proof that they were actually working.
In this sense, Stratum V1 provided the operator of the mining pool with a powerful position. First, the operator is responsible for deciding which transactions are included in the block. The operator is also the person who actually sends in the block for validation, making them in charge of everything. Finally, the operator is the person who actually receives the fee. Then, the operator needs to distribute this fee to everyone else. The operator of the mining pool could, in theory, decide to cut someone out of the distribution or block them totally from certain upgrades. In this manner, the operator of the mining pool occupies one of the most powerful positions when it comes to the Stratum V1 protocol. Now, it is time to take a closer look at the Stratum V2 mining protocol.
The Stratum V2 Mining Protocol Comes from BetterHash
The Stratum V2 mining protocol has been inspired by a proposal that was put forth by Chaincode Labs and BetterHash. Essentially, the Stratum V2 mining protocol takes the Stratum V1 mining protocol and flips it over. Remember that in the first protocol, the operator was responsible for sending block templates to hashers for completion. Now, hashers are responsible for sending block templates to the operator of the mining pool. In essence, the Stratum V2 mining protocol is changing the process of work selection. In this manner, hashers are able to pick transactions by themselves and choose a block version on which to work. In order to make this protocol work, Braiins had to work with BetterHash to solve some of their problems. Furthermore, there was also the potential for the hasher to be mining a template that was invalid, which translates to wasted work. Even if the hasher might be able to find a valid hash for their portion of the work, the block would still be deemed invalid. In essence, this would not help the pool at all.
One of the solutions to these problems involved taking the pool operator and having that person check to make sure the block template was valid. On the other hand, in a large pool that might be public, this would lead to major technical difficulties as well. Think about a single new block being found on the Bitcoin network only to have every hasher wanting to work on that block. This could lead to different transaction selection rules, different unconfirmed transactions, and many people working in parallel instead of working together. Having all of these miners send their block templates back to the pool to get them approved would lead to a tremendous DDOS rate.
So, how did this problem get solved when it comes to the Stratum V2 mining protocol? Well. Braiins worked to solve this problem by having pool operators check the validity of various new block templates asynchronously. As soon as a single miner receives approval from a pool operator, he or she can get to work hashing it. In the meantime, the pool operator is responsible for checking all block templates. If the block template is found to be invalid, the reward for that miner can be adjusted individually. In this manner, the hasher is incentivized using the Stratum V2 mining protocol to provide all of the data regarding the block in a timely manner. On the other hand, the miner is still free to work on his templates without facing any delays. This is the unique solution posed by the Stratum V2 mining protocol. Now, there are a few other advantages of the Stratum V2 mining protocol to note as well.
The Advantages of the Stratum V2 Mining Protocol
Now, it is time to take a closer look at some of the advantages that come with the Stratum V2 mining protocol. In addition to changing the way in which transactions are selected, the Stratum V2 mining protocol provides several additional improvements. Some of them are going to be critical for Bitcoin miners and hashers.
Now, those who used the Stratum V1 mining protocol likely remember that there was no cryptographic data authentication to make sure that the computer that the miner is supposedly using is actually connected to the computer the pool operator is using. This means that there could be an opening for something called a man in the middle attack. In this attack, someone intercepts the communication between the miner and the operator. Then, the attacker steals that information, making it seem like the transaction came from the attacker. This could allow the attacker to hijack the transaction and steal the payment of the miner.
The way the Stratum V2 mining protocol counters this attack is that the pool operators can cryptographically sign partial block templates. If the hasher knows the public key of the pool operator, they can check that the partial block template comes with a valid signature. This lets the hasher know that the block came from an actual pool operator.
Furthermore, the Stratum V2 mining protocol is far more efficient than its predecessor. The Stratum V1 mining protocol communicated using text that is readable by the miner (JSON). In contrast, the Stratum V2 mining protocol communicates using binary code. Combined with the elimination of some data on the level of the protocol, this means that communications between pool operators and hashers could be cut in half. This means that communications are faster and cheaper.
In addition, the Stratum V2 mining protocol includes a built-in method that can be used for something called multiplexing. In this manner, hashers will have access to independent communication channels even though they might use the same connections. This means that miners can have their machines share data on their power supplies, temperatures, and more. Mining pools could provide extra services using this information. In addition, the hasher might be able to share this information with another server or service. In this manner, the Stratum V2 mining protocol is expanding the array of services offered by the protocol, placing it a cut above its predecessor.
Furthermore, the Stratum V2 mining protocol also lets the pools take a guess as to what the next block might be. Whenever the pool finds a new block, it always takes a minute for the pool to figure out which transactions were included in that block. Thee transactions are highly unlikely to be included in the next block. This means that many mining pools start a new transaction completely empty. They do not include any transactions for several seconds. They do this to make sure they are not including a double-spend. This process is eliminated using the Stratum V2 mining protocol. IN this protocol, pool operators are able to make an educated guess about the transactions that will be included in the next block. This is based on all of the unconfirmed transactions. In the first few seconds, they have a head start on the next block because of these guesses. This means that the next block might be completed more quickly. Less time per block means more blocks solved, leading to more money for the pool.
In this manner, the main improvements of the Stratum V2 mining protocol include security, flexibility, and efficiency. Security is improved because the Stratum V2 mining protocol eliminates the possibility of something called a man in the middle attack. Flexibility is improved because of the new communication channels and the various data that can be sure using the Stratum V2 mining protocol. Finally, efficiency is improved because the mining pool might get a head start on the next block using the Stratum V2 mining protocol. While these advances are impressive, there are even more improvements that could be made on the Stratum V2 mining protocol.
There Are Future Improvements To be Made on the Stratum V2 Mining Protocol
While the improvements that have been made so far with the new mining protocol are surely impressive, the creators have announced that there are going to be more improvements in the future. Right now, the company is not running a prototype. The specification of the protocol has not yet been announced.
For now, the company is in the middle of collecting feedback from numerous people to make sure the proposal has been finalized before it is published. This will lead to another round of discussions while the Stratum V2 is deployed to Slush Pool. After this, they will release a testing version to Braiins to get a better look at how the protocol actually works. While the company as working as fast as possible, they know that there are more improvements that have to be made.
Without a doubt, this new mining protocol has the potential to change just about everything when it comes to the world of Bitcoin mining. This means that blocks could be solved faster, providing a more reliable income stream to eveyone who counts on Bitcoin mining as a way to support themselves.