For high-difficulty cryptocurrencies, such as Bitcoin, the ideal mining environment requires the following conditions.
Low hardware costs: Those mining rigs aren’t free.
Low temperatures: Lower temperatures make cooling your mining rigs easier.
Low electricity costs: Mining rigs can use a lot of power.
Fast, reliable Internet connections: You need to be communicating with the cryptocurrency network rapidly with minimal downtime because you’re in competition with other miners.
Fear not, though! With many different copies and mimicry of Bitcoin running rampant, Bitcoin is no longer the only game in town, and you can find lots of alternative mining choices, with varying levels of required computing power. Today, some of the most profitable cryptocurrencies to mine are lesser known and can be mined using off-the-shelf computer hardware due to less stringent difficulty levels that are associated with lower popularity and adoption.
ASIC SCHMASIC
An ASIC is, technically speaking, an application specific integrated circuit: an incredibly specialized computer chip that is good at doing one operation very efficiently. However, you’ll likely hear cryptocurrency people refer to the specialized mining box they’ve purchased as an ASIC, or an ASIC box. An ASIC is only good for a specific mining algorithm. For example, if you’ve got an ASIC built to mine Bitcoin, which uses the SHA-256 algorithm, you’re not going to be mining Litecoin with it because that would require an ASIC built for the Scrypt algorithm.
Historically, during the years 2013 to 2020, a large portion of global cryptocurrency mining was claimed to take place in China, at perhaps three times the rate of the next-closest nation (the United States). A combination of cheap electricity and easy access to cheap computer components for building mining rigs gave China an edge that Chinese miners have leveraged and maintained, even with their government’s apparent disapproval of cryptocurrencies. Recently, China has gone as far as to outright ban the trading and mining of Bitcoin and other cryptocurrencies, but the fact that the network hardly noticed a disruption during this debacle is a testament to how resilient and difficult to shut down distributed cryptocurrency systems such as Bitcoin are.Making the Crypto World Go ‘Round
A cryptocurrency has value because a large number of people collectively believe that it does. But why do they believe cryptocurrency has value? The answer is trust. (For more on trust, see the earlier section, “Making Cryptocurrency Trustworthy.”) A holder of Bitcoin can trust that their Bitcoin will be in their wallet a day from now or 10 years from now. If they want to research how the system works, they can audit the code base to understand the system on a deeper level to see how trust is maintained. However, if they do not have the skillset or the computer science knowledge to audit code, they can choose to trust that other people, more knowledgeable than them, understand and monitor the system; they can trust the overall blockchain community that is managing the particular cryptocurrency.
Without the mining functionality underpinning the distributed peer-to-peer cryptocurrency system, this collective trust (based on the proof of collective work towards the chain) would not exist. (How the pre-mined cryptocurrencies or other weak-consensus mechanisms manage to exist is another story that we’re not discussing in this book; we’re focusing on mined cryptocurrencies, of course.)
Mining makes sure that your balances won’t change without your authorization. It incentivizes everyone to behave correctly and punishes those who don’t. It creates a digital form of value transfer that can be trusted by each individual user as an equal peer in the network because every part of the system is aligned for one purpose: to provide a secure way to create, verify, and transfer ownership of digitally scarce cryptographic units.
Chapter 3
Building Blocks: The Transaction’s Journey to the Blockchain
IN THIS CHAPTER
Understanding the cryptocurrency network
Defining different types of nodes on the network
Learning about transaction fees and change addresses
Requesting that the blockchain adds your transaction
Verifying transactions and blocks of transactions
At one end, you’ve got your wallet or your node software. At the other, there’s the blockchain. In between is the network of peer-to-peer nodes and miners creating blocks in the chain. How does a transaction that you set up on your wallet program find its way into the blockchain?
In this chapter, we look at how a transaction leaves your wallet and ends up in the blockchain and the miner’s role in that process. As an example, we use Bitcoin, the first blockchain-based cryptocurrency. Other cryptocurrencies use a similar process, to varying degrees. Each has its own particulars, but understanding how Bitcoin works will give you a really good foundation.
The Cryptocurrency Network
Every cryptocurrency has its own network of nodes, operating across the Internet, and this network has both peer-to-peer and client-server aspects, depending on how you chose to interface with it and which software you utilize. (You may hear the term blockchain network or Bitcoin network, for example.)
You’ll often hear a cryptocurrency network described as a peer-to-peer network, and it is — though the peer-to-peer network can also be used as a client-server network. What’s the difference?
Peer-to-peer networks are networks of equal computers that work together.
Client-server networks are networks on which servers provide services to client computers.
Think about how you work with email. The Internet’s email system also has two aspects. First, it has a peer-to-peer aspect comprising hundreds of thousands of email servers around the world that work together, sending emails between each other.
But the email system also has a client-server aspect, with millions of email clients. Say that you use Outlook on your computer, or perhaps you log into Gmail and use the Gmail email program in your web browser. Either way, the program you’re using to write, send, receive,