In case you've missed it, there has been a tremendous number of news stories, social media posts and the like on Bitcoin, Hashing Algorithms, Blockchain, video graphics cards and Crypto-mining. If you are anything like the most of us, the information barely provides you a platform to have a discussion about the topic. But what does it all mean? What is a Blockchain? What are hashing algorithms? How does one mine for bitcoins or any other crypto-currencies? Is it as profitable as most say? These and many other questions will be addressed in this blog.
PrimeNet - For the past few years, I've really been intrigued with the application of prime numbers in public key encryption algorithms. As a result, I decided to join a community of mathematicians in search of the largest prime number. After some searching I found myself on the site called the Great Internet Mersenne Prime Search or GIMPS for short. This group of mostly mathematicians, scientists and enthusiasts have been in existence since 1996 and donate their desktop and laptop computers in order to find the next largest prime number, which by the way is currently 2^(77,232,917)-1 and as discovered by FedEx engineer Jon Pace on December 26, 2017. Users download the prime search code-Prime95 which communicates with the PrimeNet serverThe only stipulation for running the code is the following:
This list doesn't seem too bad. Most desktop computer owners do not leverage the computing power of their rigs and therefore give little thought to leaving it on for the purpose of promoting mathematics and science research. The payoff for the use of your computer to run these computations is notoriety, should you find a new prime number. Your name will be forever tied to the discovery of that prime number.
E-Commerce- A few of the main concerns of e-commerce involves the fact that there is typically a bank or some entity serving the role of a "middle man" and that transactions are secured. Transactions that take place are recorded by that entity, the seller and the buyer. This works well in a small setting. However, now that the internet has clearly globalized transactions, many other details need to be recorded. For example, if you wanted to buy something from someone in Germany, you now have to be concerned about the conversion rate between the US dollar and the Euro and time-zones. With the current breaches of financial institutions, record-keeping and security remain the most important factors in e-commerce. What if there was a way to have a ledger of every transaction that takes place and that cannot be erased, is extremely secure and anonymity behind it all? That's exactly what Blockchain is attempting to do. Blockchain is an open, distributed, secure and anonymous ledger of financial transactions called blocks. Blocks are typically managed by a peer-to-peer network using a protocol to validate blocks. In this way, every block uses a hashing algorithm in order to refer to a single previous block. No single block can be altered without effecting all other blocks in the chain due to the hashing algorithm. You may have heard it in the context of Bitcoin but that is equivalent to identifying currency by the US dollar when we all know that there are other currencies.
Blockchain was invented by Satoshi Nakamoto in 2008 in order to use the crypto-currency bitcoin. What's is interesting is that this person does not exist. The prevailing belief is that the name is a pseudonym for a person or team of people who designed the blockchain. Another interesting fact is that unlike other currencies, bitcoin is not backed (insured) by any government. In the context of bitcoin, each block represents millions of bitcoins and there are a limited number of bitcoins to acquire.
Acquiring Crypto-currencies: So how does one get bitcoins? There are three ways one can acquire bitcoins. First, you can assign a bitcoin value to a product and sell the product to someone who has bitcoins. Secondly, you can trade bitcoins on the New York Stock Exchange (NYSE-BTC), paying the fees, etc. Finally, remember the hashing algorithms we talked about earlier? This is where blockchains are fun! Because of the distributed nature of the blockchains, it is impossible for one computer to keep track of all of the possible global transactions. However, if you agree to pay folks who own computationally capable machines to derive hashing algorithms, the problem becomes manageable and is the other way you can acquire bitcoins. This is where distributed computing comes into play as it did with finding prime numbers. Keep in mind that the hashing algorithms can all be done by hand, in theory. If you are interested in seeing what it entails, Ken Shirriff has a video of the process for the SHA-256 hashing algorithm. Keep in mind that there are many crypto-currencies currently on the market. As of the writing of this blog, there are 1530 different crypto-currencies. Here is a list of the top 10 cryptocurrencies based on Market Cap:
The coinmarketcap website is a great resource for details on the remaining 1520 cryptocurrencies. The following section details the requirements for a mining computer to be used for creating hashes or mining crypto-currencies.
Mining: You will need a number of things to mine Bitcoins, LiteCoins, DogeCoins, and/or FeatherCoins. Here is a sample list of what's needed for mining crypto-currencies according to Lifewire.com .
GPU: The one caveat to this list is step 8. Your ability to develop a custom-built computer that is capable of hashing at a rate that is profitable is critical. Just doing a search on YouTube reveals many examples of rigs that include one to eight graphics cards as home-built mining systems. These systems can range in price from $500.00 USD to NCIX Tech Tips has a great video of how to build a custom rig for mining LiteCoins. Here is a great article from techradar.com about the best graphics cards for crypto-mining in 2018. There are also tables of video cards that identify the algorithms and hash rates associated with their performance. If you are not interested in making decisions about the most cost-effective rig, there are companies like Antminer and Gridseed that sell devices about the size of a shoebox that have one functionality, mining. The most profitable of these devices is currently the Antminer S9. Details of this device include a hash rate of 13.5TH/s and costs $2320 USD. This means that the device can create 0.25097360 BTC, 1.75882412 BCH or 11.25148524 LTC per year while consuming between 1127-1323 Watts.
Cloud Mining: Genesis Mining is the leader in this area if you want to avoid all of the headaches of dealing with purchasing your own hardware. For a life-term contract, you can leverage time on this company's hardware warehouse for a fee. As of the writing of this article, Genesis Mining has limited space on its hashing machines as a result of the current demand for Bitcoins. Hashers expect a delay of up to two months in accessing the hardware and software services for which they paid.
Profitability Calculation: For each of these systems, you must perform a computation in order to determine profitability. The factors to be considered are: Hash Rate (GH/s), Power (Watts), Power Cost ($/kh), Pool Fees (%), Bitcoin Difficulty, Block Reward, Bitcoin value (USD) and hardware costs. There are several websites that make it convenient in order to calculate profitability. One of the most well known of these sites is coinwarz. The site allows you to input many of the values mentioned above and calculates profitability on an hourly, daily, weekly, monthly and annual basis.
In closing, the age of distributed cloud computing is here to stay. Many of the world's challenging problems in mathematics can now be solved thanks to Moore's Law and the rate of increase of computing power. Graphical Processing units will continue to be leveraged because of their computational power. Gamers will benefit from innovation in crypto-mining. Miners likewise have benefited from innovation in the gaming industry. These two applications in turn, will drive the discovery of many more prime numbers resulting in more complex hashing algorithms.