The dramatic fluctuation of cryptocurrency prices has reshaped the landscape of cybersecurity. Hardware and software engineers create programs and machines to compute cryptocurrencies, even as hackers try to harvest them as well. In this series, I will explain the cryptocurrency economy and how people are profiting in it.
A Brief Introduction To Cryptocurrency
The most famous cryptocurrency is Bitcoin. In its whitepaper, the creator(s) of Bitcoin, under the name Satoshi Nakamoto, described Bitcoin as a distributed database among computers participating that keeps track of ownership transitions among accounts. The transitions are recorded as blocks and the transition history is hashed and linked, forming a blockchain. All participating computers, or “nodes,” are supposed to use the longest blockchain as the history, which is the shared consensus. With the history data hashed and the majority of nodes agreeing to use the longest blockchain, it is mathematically hard to fake transactions or create a different transition history. This solid foundation enables Bitcoin and other cryptocurrencies to track the ownership and transitions of ownership. In other words, there is no physical coin — the entire database keeps track of ownership and the transitions of ownership of bitcoins.
To keep track of all transitions, Bitcoin’s network needs nodes to compute the hashes of transitions. Bitcoin’s network motivates nodes by awarding a given number of bitcoins to a node who calculates the hash that is “best” according to a standard. The more computing power a node contributes to Bitcoin’s network to calculate hashes, the better chance this node has to win the award. This is called proof of work (PoW). Other cryptocurrencies use different mechanisms such as proof of stake (PoS). Calculating hashes for a cryptocurrency network is also known as “mining.” Some believe the analogy comes from the fact that finding the best hash value in the vast mathematical space is similar to mining gold in the wild.
The Computing Power Arms Race
PoW turns bitcoin mining into a competition of computing power. With higher computing power, one can calculate more hash values and has a better chance to win the bitcoin reward. People build powerful machines to calculate at faster speeds. When bitcoin was first introduced, nodes running on laptops and PCs could mine bitcoin using their central processing units (CPUs). Later, computer clusters and cloud servers joined them, followed by field-programmable gate arrays (FPGAs) and graphics processing units (GPUs). Eventually, dedicated processing chips called application specific integrated circuits (ASICs) were created for the sole purpose of mining. The machines that use ASICs to calculate hashes are called miner machines, or miners.
Each miner consumes thousands of watts of power, which made power consumption the largest continuous cost for people trying to profit from mining cryptocurrencies. Companies build containers that contain hundreds of miners and ship them to places around the world where they can find low-cost electric supplies and good network connections. It is not surprising to find mining facilities colocated with data centers. To some extent, cryptocurrency mining facilities are data centers, except they are dedicated to one kind of computing: hashing.
When containers of miners are shipped to mining facilities and plugged into the grid, they need to become part of the entire cryptocurrency network. The miners are not talking to the cryptocurrency network directly. Instead, they talk to a website called a mining pool. The pool collects hashing jobs and distributes them to each miner and verifies whether the job was hashed correctly. The more miners connect to a pool, the more hashes this pool can calculate, and the better chance this pool will find the best hash value and be awarded the cryptocurrency. If a pool wins the award, all miners working for the pool will get a share.
A miner machine can connect to multiple pools. When a pool is not sending a hashing job to a miner, the miner can talk to other pools and get new hashing jobs. This gives miners a chance to distribute their computing power to different pools and not be blocked by a single pool.