FPGA mining in the cryptocurrency world is a new emerging trend set to change the way blockchain-based coins and tokens are mined due to being very efficient in comparison to GPU and CPU mining performances.
FPGA, or a Field Programmable Gate Array, is a unique integrated type of a blank digital circuit used in various types of technology and produces higher hash rate with lower amounts of power and electricity when comparing to graphic processing unit (GPU) hardware.
You can find FPGAs in image and video processing systems, for example. It’s also used for high-end cryptographic algorithm calculations and is known for giving you more control of the FPGA hardware.
As the name suggests, Field Programmable Gate Arrays are programmable in the field. After a customer purchases the FPGA, the customer can customize it to meet any computational need.
It is worth noting experts of Field Programmable Gate Arrays recommend thinking of FPGAs as Lego blocks:
“You can think of FPGAs as Lego blocks. Stand-alone Legos allow you to build many different things using the same, reconfigurable pieces. One piece may be used to make the roof of a house, and the same piece can later be retrofitted to make the chassis of a car.” #BlockBaseMining
Just like Lego blocks, FGPAs, which the chips were created in 1985, can be used to build virtually any digital circuit with high adaptability and versatility to change algorithms easily. FPGAs can run different software and are essentially a LEGO engineering kit in comparison to GPUs being a mixed-bag of random tools in a toolbox.
Because FPGAs are customizable, cost effective reprogrammable devices, they can operate using different algorithms but do present tougher user experience and require both software and digital circuit design to be setup correctly. This function is important for cryptocurrency coin mining because different cryptoassets use different algorithms for mining. FPGAs can be easily adjusted to meet all different mining needs as the efficiency ratio of hashing speed and power consumption is very favorable for FPGAs vs GPUs (or ASICs).
Let's review the FPGA crypto mining industry and map out the speed and flexibility advantages of Field Programmable Gate Arrays.
- 1 How Does FPGA Mining Work?
- 2 How FPGAs Mine Cryptocurrency
- 3 FPGAs Are Very Customizable
- 4 Benefits of FPGA Mining
- 5 FPGA Versus ASIC Versus GPU
- 6 Best FPGAs Available Today
- 7 FPGA Mining: Best Coins and Algorithms to Mine
- 8 How to Setup FPGAs
- 9 FPGA Mining and Bitstreams
- 10 Final Word
How Does FPGA Mining Work?
Before we talk about how FPGA mining works, we need to explain the basics of crypto mining.
Bitcoin and most other cryptocurrencies are made up of blocks of data. These blocks are linked to one another – in a chain – by unique strings of numbers and letters known as hashes. Cryptography ensures that only one specific hash can be used to link the current block of data in the blockchain to the next.
When a computer ‘mines’ bitcoin and other cryptocurrencies, the computer is simply guessing trillions of different hashes. It’s a process of trial and error. Eventually, the computer guesses the right hash, and the new block is added to the chain.
Let’s say you’re the teacher in front of a classroom. You tell the 25 children in your class to guess a number between 1 and 1,000. The first person who guesses the correct number gets $5. You keep going around the room until finally, one child guesses the correct answer.
Now, picture the same situation, except it’s one person speaking in a massive stadium in front of 80,000 people. The speaker asks the stadium to guess a number between 1 and 1 trillion. Everyone shouts out random numbers until eventually, one person guesses the correct number. That’s closer to how bitcoin mining works.
With bitcoin mining, miners have to devote time, energy, and resources towards finding the right number. This is the ‘work’ that must be performed to mine bitcoin. The correct number that the miners ultimately come up with, meanwhile, is the ‘proof’ of that work. Any other miner can check that number against the correct number written down by the speaker to verify that the miner did the work.
With bitcoin mining, you’re not asking a classroom to guess a number between 1 and 1,000. Instead, you’re asking millions of miners worldwide to guess a number that is 64 digits long. Arriving at this answer takes a lot of computing power. These computers are constantly guessing numbers that have 64 digits. Eventually, one arrives at the correct answer. The block is added to the blockchain, the miner receives the block reward, and computations for the next block begin.
How FPGAs Mine Cryptocurrency
We’ve explained how crypto mining works. But how do Field Programmable Gate Arrays enhance mining? How do they mine cryptocurrency more efficiently?
Well, FPGAs are one of several options available to crypto miners. Today, miners can use CPUs, GPUs, FPGAs, or ASICs to mine cryptocurrencies. In the early days of bitcoin, anyone with a high-end gaming GPU could mine bitcoin from an ordinary computer. Today, you need the latest ASICs to even think about turning a profit with bitcoin.
FPGA mining provides users with a solution that is different from the alternatives above. It can be cheaper or more expensive, although it’s certainly more flexible than GPU, CPU, and ASIC mining setups. FPGA mining rigs are known to have optimal power efficiency and higher hashes per second than GPUs.
To setup an FPGA mining system, you’ll need to install special chips in specific sequences and arrays to increase your computer’s ability to guess hashes.
One of the best things about FPGA mining is that it’s the most flexible option; instead of buying a bitcoin mining ASIC that only mines bitcoin, for example, your FPGA setup can be customized to mine any cryptocurrency.
Many novice miners start with FPGA mining before moving up to ASIC mining, for example. Once you have experience and understand how crypto mining works, you’ll be well-equipped to run a profitable ASIC mining farm.
FPGAs Are Very Customizable
When you buy an ASIC miner, that miner is really good at mining one specific cryptocurrency. That machine is built to devote every possible resource towards mining bitcoin. It’s a single tool that is designed from the ground up to mine bitcoin as efficiently as possible.
FPGAs, however, are different. They consist of multiple building blocks that can be put together to mine various cryptocurrencies.
For this analogy, think of an ASIC like a lawnmower. The lawnmower is really good at accomplishing a specific task: mowing a lawn. It’s the best way to mow the lawn.
FPGAs, meanwhile, are like a toolkit of options that could be arranged to mow the lawn in various ways. You have a screwdriver, a hammer, a machete, and scissors, for example. You also have a hose to water the lawn after it’s cut, sprinklers, fertilizers Instead of just having a lawnmower – like an ASIC – you have multiple tools you can use to cut and grow the lawn in various ways with various efficiency levels. It’s a wide assortment of tools that gives miners lots of different options.
When you setup all of these options to work in optimal form, your FPGA will deliver the highest profits and best possible efficiency.
Benefits of FPGA Mining
There are several crucial benefits to FPGA mining, including:
Less Power Consumption: FPGAs are designed to consume less power than other integrated circuits. Less power consumption means more profit for miners. Crypto miners have already relocated to countries or regions where electricity prices are low. Miners in certain parts of Canada and the United States, for example, pay less than $0.05 per kWh for hydroelectricity, which makes it much easier to make a profit than someone paying, say $0.40 per kWh in Germany.
Customization: FPGAs can be customized to meet all different types of needs. You can configure FPGAs to compute different algorithms for different cryptocurrencies, for example. You can switch to the cryptocurrency that is most profitable today, for example, and then customize your FPGAs to mine a different, more profitable cryptocurrency in the future. Best of all, this switch can occur with limited downtime.
Ideal for Hobbyists or Server Farms: You can use FPGAs to profitably mine cryptocurrency at home. You can also use FPGAs as part of a server farm. Whether you’re an at-home hobbyist or a miner with a huge warehouse space, FPGAs may work for you.
Affordable: You can buy low-end FPGAs like the F1 Mini+ for under $200. If you’re a hobby miner interested in exploring crypto mining for the first time, then FPGA mining is certainly an option. FPGA mining isn’t beginner-friendly, but it can certainly be affordable.
Profitable: In mid-2019, FPGA mining can easily earn $12 of profit per day.
FPGA Versus ASIC Versus GPU
The three most popular types of crypto mining available today include FPGA, ASIC, and GPU mining:
GPU (Graphics Processing Unit) Mining
GPU mining is like a toolbox that provides you with lots of different options. You can use these tools for various tasks, although it’s not the most efficient option for any task. Instead of having a lawnmower to mow the lawn, for example, you have a machete. It gets the job done, but a lawnmower would be better.
GPU mining relies on your computer’s graphics processing unit (GPU). The primary purpose of a GPU is to render graphics. It produces hashes faster than a CPU, although it’s still much slower than FPGA and ASIC mining because, again, the primary purpose of a GPU is to process graphics and not mine cryptocurrency.
The main advantage of GPU mining is that it’s adaptable. You can change the algorithms. GPUs are also easy to get: anyone with a gaming computer already has a decently-powered GPU. GPU miners can also be dual-purpose: you can game during the day, then mine crypto at night.
FPGA (Field Programmable Gate Array) Mining
FPGAs, like GPUs, can change algorithms, making them adaptable. Unlike with GPU mining, however, you’ll need to build both the digital circuit design and the software. It’s not user-friendly, and it may take weeks or even months to build your system. FPGAs also used to be difficult to purchase. Today, however, you can find all types of FPGA chip models and sizes, ranging from cheap ($200) to expensive ($6,000) options, making FPGA mining affordable.
ASIC (Application Specific Integrated Circuit) Mining
ASICs are designed to run only a specific algorithm. These miners run that algorithm very fast, but the algorithm can’t be changed (or, at least the ASIC won’t be as efficient if you’re mining a different cryptocurrency). ASICs are expensive, although they’re profitable and easy to use.
Best FPGAs Available Today
Some of the most popular FPGAs available today include:
- F1 Blackminer: $1,350
- F1+ Blackminer: $2,199
- Refurbished BTU9P: $1,999
- Refurbished BCU1525: $1,999
- F1 Mini+: $189
FPGA Mining: Best Coins and Algorithms to Mine
One of the best parts about FPGA mining is that you can switch between coins as one coin becomes more profitable. Instead of being stuck with one specific coin, you can choose the one that makes you the most money today, this week, or this month.
Some of the most popular algorithms and coins currently being used in the FPGA community include:
- Algorithm: Keccak-ZP Most Profitable Coin: Zen Protocol
- Algorithm: 0xToken Most Profitable Coin: 0xBitcoin
- Algorithm: Lyra2z Most Profitable Coin: Gentarium
- Algorithm: Tribus Most Profitable Coin: Denarius
- Algorithm: Keccak Most Profitable Coin: MaxCoin
- Algorithm: Nexus Most Profitable Coin: Nexus
- Algorithm: CryptoNightV7 Most Profitable Coin: Monero
Switch between coins and algorithms to maximize your FPGA mining profitability.
How to Setup FPGAs
FPGAs must be programmed using a special type of programming language. The two most popular languages are Verilog and VHDL. These are called “Hardware Description Languages”, or HDLs.
When you program an FPGA in a Hardware Description Language, you’re doing what’s called “RTL Programming”, or “Register Transfer Level Programming”. This means that the programmer who is programming the FPGA at the RTL level is able to fully control every individual item inside the FPGA for maximum customization and performance.
This is where FPGAs differ from general-purpose processors like CPUs and GPUs. CPUs and GPUs can be programmed using higher-level languages like C, C++, Java, and Python.
Because high level languages are much easier to learn and to use, many people have tried to create a system that allows you to program FPGAs using high level languages. A university project called Handel-C attempted to create a system like this in the late 1990s. Today, that system has evolved into several software packages, including Vivado HLS (High Level Synthesis) and a language called OpenCL.
These high level FPGA languages do work for some applications – like artificial intelligence – although they do not work well for crypto mining.
To mine cryptocurrency competitively, your FPGA must be configured on the lowest possible level, which is the register transfer level (RTL) using hardware description languages like Verilog and VHDL.
Today, FPGA miners are split between Verilog and VHDL. The two are structurally similar programming languages, although their syntax varies dramatically. VHDL is typically used in academic settings, while Verilog is used in the real world by programmers and companies.
One of the advantages of Verilog is that it has the same syntax as the C programming language. Plus, a Verilog program takes up less than half the text space that a similar program in VHDL would take up. Because of these advantages, Verilog is more popular among real-world FPGA implementations.
FPGA Mining and Bitstreams
You’ll see the term ‘bitstreams’ appear frequently when looking at FPGA mining. Once a program has been written for an FPGA, the FPA must be ‘loaded’ with that program.
This program is essentially just a configuration of the various logic elements inside the FPGA. The configuration tells these logic elements what to do. The configuration file is called a bitstream.
To load the program into the FPGA, you must have the correct bitstream. You must also have a special program on your PC that loads the bitstream into the FPGA.
It’s important to remember that the FPGA’s configuration is volatile: just like RAM, FPGAs will dump their configurations once power supply is lost. That’s why most FPGA cards have a flash memory that sits right next to the FPGA. This flash memory holds the bitstream configuration file, and the card can be configured to automatically load the bitstream file upon startup.
There are also two different types of bitstreams or configuration files, including a standard bitstream and a memory configuration file:
Standard Bitstream: A standard bitstream is a configuration that will lose its contents when the unit loses power – just like RAM dumps its contents after power loss.
Memory Configuration File: A memory configuration file is designed to be loaded, from the PC, through the FPGA, into the neighboring flash memory so the FPGA can automatically configure itself when powering up.
Many miners will use a memory configuration file for maximum uptime. Memory configuration files are particularly useful for those running mining farms remotely. If there’s a power outage at the mining farm, then the FPGA can come back online immediately.
If there’s a power outage and you don’t have a memory configuration file, then you would have to use a remote terminal program (like TeamViewer) to manually reprogram the FPGA.
Ultimately, FPGA mining made headlines in 2018 after a Bitcointalk forum thread went viral. Ever since, FPGA mining has been a popular and powerful way to mine all different types of cryptocurrencies.
FPGAs can be customized to mine all different types of cryptocurrencies. They’re not as powerful as ASICs, but they’re more customizable. You get the customizability of a GPU miner with the high power and efficiency of an ASIC. We will continue to update this FPGA mining review with new products, announcements and advancements in the world of Field Programmable Gate Arrays.