Disclaimer: I had lunch with someone I hadn’t seen in years last week. For some reason we got to discussing Bitcoins and cryptocurrency in general. I’ve played with these for a while, and find the math really interesting. Unfortunately despite what I thought was putting in some warnings on risk and volatility he msg’d me a couple of days later and said ‘Ok, I have ordered the $5000 of PC parts, what next?’. He is almost certain not to make his money back, but it did show me that explaining something to someone can get mixed up with endorsing it. This is not an endorsement, it is not a get-rich-quick scheme. It’s probably more of a Ponzi scheme pyramid going to crash one day. Bitcoin, altcoins, ICO’s (more on these later) are a huge risky investment. Please don’t spend money without at least gauging some risks.
So, without polluting @Gunnyhighway’s GTX 1070 topic I wanted to overview Bitcoin, how it works, what to do if you want to play with it and why you probably shouldn’t. Bitcoin is the thing that has caused your PC Graphics Cards to stay expensive over the last couple of years. I probably won’t explain everything properly (this is good for example) but we can then have a discussion here on what bits aren’t clear or I got wrong.
There are a lot of summaries on the net for Bitcoin and this won’t be the best one. With that out of the way, in summary, Bitcoin is a decentralized digital currency. Breaking that down from the end, it’s a currency because (a) people can own it and (b) people can spend it. It is a ‘fiat’ currency, in that it has no intrinsic value, especially as it’s purely digital. It is digital in the sense that you have two main nouns in the Bitcoin world of (1) Wallets and (2) Block Chains.
Your wallet is basically a unique identifier (a long number). It’s considered anonymous, in that the wallet id isn’t hidden but who owns the actual wallet is. Your wallet, as you would expect, not only identifies you but keeps a total of how much currency you own.
The ‘Block Chain’ is essentially an open ledger of every transaction ever made with the entire currency. This then leads to the ‘decentralized’ nature of Bitcoin, in that this ‘master ledger’ in so called blocks of content is not held by any central bank or controlling company but duplicated for everyone that wants a copy.
Like any currency, Bitcoin and the family of currencies it spawned that use similar math (called altcoins) is based on rarity. The interesting thing about how it all works is that Bitcoin links this global ‘master ledger’ (the Block Chain) to both (1) how the ledger is verified and validated and (2) how more Bitcoins are produced.
To ‘make’ Bitcoins you have computer programs called ‘Miners’ that use this public distributed ledger, validate it (mathematically) and possibly produce more Bitcoins. To induce rarity the so called ‘mining’ of the currency takes an increasingly complex mathematical computation called the ‘cost of work’. The ‘chain’ of blocks in the Block Chain are actually pending transactions of people exchanging currency. Skipping some of the actual algorithms, these miners are doing a few things regarding taking the signed transactions, verifying they are legitimate and then trying to ‘guess’ (literally, through repeated recalculations) something called a ‘cryptographic hash’ to make a new block.
So what you have is a self-feeding system where no single organization controls it, a self validating master ledger of transactions and a wallet system where people hold fiat currency. This all happened about 2009 ish.
Today it is pretty difficult to just ‘make’ a Bitcoin, in that the cost of work algorithm has increased over time (by design, we need rarity) and the new coins have become really computing intensive to make. As with any other currency what has happened is that people have started to speculate on Bitcoin by purchasing (with real money) and then holding it on the expectation that it will grow in value. A whole eco-system of currency exchanges, online wallets (if you don’t want to hold the Block Chain on your PC you can ‘trust’ a 3rd party to do this for you) and alternatives to Bitcoin exist. You can also join ‘Pool Miner’ syndicates where you’ll do a part of the computing work and receive a share of the reward, in that you team up with others as the cost of computing is so high alone.
So what has this got to do with the price of the GTX 1070? The hash function as part of this ‘cost of work’ in Bitcoin just so happens to be ideal for parallelism, in that the computing engine that calculates where to put that shadow on a polygon is (a) simple and (b) stateless enough to be divided into separate work packets. Do people remember things like PhysicsX, that claimed to be able to accelerate not only graphics but game engines? Well what happened is the GPU’s turned into processors in their own right, in that architecture of the ‘shader language’ and render pipelines could only scale up by adding more and more of this ‘processor pipelines’ direct inside the card. It’s like your PC has a specialized form of math processor, but 256 of them all in a chip.
People quickly figured out that rather than use a main AMD or Intel processor to make Bitcoins (using the hashing math functions) they could get better mining results by using GPUs. In fact, they could also use multiple GPUs in a single PC and go crazy. A lot of people made a lot of Bitcoins. Here’s an example build of a 6 GPU miner to give the idea of what I mean:
What has happened to Bitcoin is that it has been picked up in a world of speculation. If you had $5 of Bitcoin about 7 years ago you now have $5,000,000 (yep, 5 million). The value of the currency has gone insane, with no real logical reason - it’s not like it is used as commodity currency anyway. There are even people investing in company’s who are selling prospectuses of new currencies (called ICO’s). In a sense it’s moved from a phase of ‘Join the Goldrush’ to ‘Sell the Shovels’.
The increase in value is purely investors looking for a high but risky return. The cost of work for Bitcoin is now so high (and the chain memory footprint size so large) that pretty much all of them are now being made not by home PC’s but by specially created ASIC circuit boards in industrial facilities. Because of this difficultly a lot of previous Bitcoin miners have moved on to other similar currencies where the algorithm is more agreeable to mining in smaller ‘nodes’. One such currency is for that 6 card rig above called ‘Ethereum’. Ethereum uses a slightly updated form of Bitcoin protocol and math but essentially it is the same wallet, block chain and mining going on. People then ‘make’ these altcoins and use online exchanges to turn it into real money or, more likely, into Bitcoin themselves. A good overview is here if you want to dig in more.
So if you wanted to do this at home what would you do? First off you need a coin wallet and then need to decide what to ‘mine’ and how much to spend to do so.
For a wallet, for something like Ethereum you download an app or trust a 3rd party to hold a wallet (there are many exchanges that do this). A wallet client can be grabbed from here:
This will download the block chain to your PC. If you lose that wallet you lose the value of currency, so try not to let that harddisk crash without a backup one day. To ‘mine coin’ it essentially it comes down to (a) running costs, i.e. electricity and (b) capital costs, i.e. PC hardware. You can use sites like whattomine.com to give you a (fairly floating random) guideline on what your costs will be:
So in the above site you would say 'My electrical cost is 10 cents per kWh, my hardware is 1 GTX 1070, so what would my ‘hash rate’ (computing power to mine) be? You can then work out how much coins you could mine in a month and if it would cover your running and capital costs. The hard bit is that you are speculating on the currency you are making value to be going up, or at least staying the same. That might not be the case as these markets are volatile. The mining programs are simple command line apps that you leave running, i.e. something like this:
Alternatively rather than run your PC (or network of multiple GPU PCs) for weeks to generate a complete block, which could take a while on a single card PC even for Ethereum, you could join a mining pool and register your ‘work’ there. You point your ‘miner’ at the ‘miner pool’ and you at least get fractions of rewards sooner. These pools take a percentage of your work (remember: shovel sellers!), and there are even sites that compare them (this is a pretty deep rabbit hole we’re in, eh?):
So what’s the downsides, as in, is this just turning electricity into money? Well, it’s a question of scale and speculation. As in, if this was 2 years ago then this would be fantastic Bitcoin investment advice, but this is not that time and all this could just be shadow waves where these other ‘altcoins’ will never appreciate in value, you’ll spend more on hardware/electricity than you’ll get back and even Bitcoin (at $6,754 per coin as of today - I’ll leave that here so we can laugh in a few years) will eventually do what other speculation schemes do and crash and burn. At least you might end up with 64 1080Ti’s to play games on though.
Anyway, I’ve now sent everyone to sleep and am very happy to go into more detail on any aspect. I personally do not mine anymore (I tried it to see what it took to set-up and to help me understand the underlying principles of cryptocurrency) and don’t hold much BTC anymore (sob). It is an interesting area though and yet another thing that spawned from one-way hash math and distributed computing.