An Overview of What Bitcoin Miners Actually Do
This article, to some extent, builds on my the previous.
Before we examine what’s behind the cap, let’s take a quick look at how miners have evolved.
Initially, the mining difficulty level was very low (we’ll look at what that actually means soon). In the early days of bitcoin, it was possible to mine bitcoins profitably on a personal computer central processing unit (CPU). In less than two years, people started mining graphics cards (GPUs) because they were, with the addition of some software, more convenient due to the higher clock speeds. This means that they were able to perform more calculations per second via parallel processing. Like CPUs, these have only been profitable for a few years. In 2012, the first ASIC (Application Specific Integrated Circuit) miner was put on the market.
Miner performance is measured interchangeably per second, or H/s. This is because of what they literally do – forcing millions of hash function inputs into searching for the appropriate output. At the time of writing, the fastest miners on the market are rated at over 100 TH/sec, or 100 million hash attempts (tera hashes) per second.
ASICs are very fast because they are designed for this purpose. It was created to solve a single cryptographic hash function, which, in the case of Bitcoin, is SHA256. Theoretically, a bitcoin miner can mine any other cryptocurrency that also uses SHA256, but it is likely not profitable due to the high power consumption of the miner. This large energy requirement is what motivates mining operators to search for the cheapest energy in the world, which is often renewable or stranded energy.
A Bitcoin block consists of two comprehensive parts: a header and a transaction list. Inside the header is some program information, merged transaction information, the nonce, the hash from the previous block, and the target. The entire block contents are hashed. A nonce, a random number between zero and 2³², is added to the end of this hash. Both combined have been fragmented again.
Let’s take a look at the meaning of mining difficulty. This is the primary reason why CPUs and GPUs are not profitable.
The difficulty is determined by the goal, in the form of leading zeros. Due to probability theory, the more leading zeros in the target, the higher the “rarity” of the hash. To draw a parallel more closely related to base 10 (the number system we use in everyday life), a nine-digit number without a repeating number (102345678, for example) is much more rare than a number of the same length with a repeating number.
After that, the difficulty increases as more leading zeros are added to the target. This change in difficulty is exponential, but we’re already talking about huge sets of possible answers. The goal is calculated individually by decade based on the previous difficulty period. But since they all use the same blockchain, they all account for the same goal. Or more specifically, they all count goals of the same difficulty level.
If you’re wondering why it takes 10 minutes to experience 4.3 billion unexpected probability hashes, given that a good miner can perform 100 million hashes per second, this would be a very smart note. If none of the 4 billion nonce possibilities result in the target’s hash, some other information must be modified to fine-tune the hash. Additional nonce can be added, transactions can be added or deleted, or the mining start time can be modified.
Mining operators, if they implement many miners, often use specific software to delegate operations to individual miners in order to be more competitive.
Overall, Satoshi has done an amazing job calculating the increase in computing power over time. It seems that he covered all the bases.
This is another guest post by Nameless. The opinions expressed are their own and do not necessarily reflect the opinions of BTC Inc. or Bitcoin Magazine.