tHog

Cryptocurrencies for fun and profit

[2014-09-01] I have played with cryptocurrencies since I discovered Bitcoin in July 2010. I am not a big investor or developer, but as I play with the code and the community, I have occasionally released some useful code, such as early FPGA miners, a rather useless GPU miner, and these ongoing scripts.

Therefore, I believe I have some valuable perspective on the cryptocoin scene even today. The days of cheap and easy Bitcoins are long past, but the scene continues to buzz with new, interesting and potentially lucrative coins. Each new coin seems to follow a rather predictable life, albeit quicker than the first one.

In addition, good old Bitcoin is well on its way to mass adoption, much more so than any other cryptocurrency, so it remains a nice opportunity to play with and invest in.

My rules of thumb

As rules of thumb, these are general advice rather than strict recommendations. I have broken each of these at least once.

Don't buy hardware for a single purpose

Early Bitcoin ASICs are now useless, even if Bitcoin mining in general is still somewhat profitable.

Only buy hardware that is freely programmable

This is one of my general rules for all computing/electronics, not just in coinage. For example, you might buy a new GPU specifically for one purpose/coin, but if/when that purpose is lost, you'll have countless other uses for it.

"Freely programmable" is a valuable thing even if you don't write code yourself. When the programming tools are free, chances are there's much more software available.

Free software, open standards and other deeper aspects

You generally need non-free software to develop and run GPU code. However, if you care about open standards, OpenCL is the obvious choice over CUDA. OpenCL also runs on Nvidia cards and many non-GPU devices. Apparently, open standards also encourage a culture of sharing.

In the deeper end of free software, AMD also supports free driver and SDK development. These are not immediately useful for miners, but something to keep in mind when you buy hardware in the long term.

The non-free issue is even worse with FPGAs. Higher-end chips generally require a rather costly SDK license to develop for, and this includes the popular LX150 chips in Ztex boards.

Buy coins rather than hardware

Buying mining hardware is an arms race. The difficulty increases as more hardware enters the network, and the prospects of ROI are soon gone.

The general expectation is that coin price will increase as well, thus compensating in the ROI estimate. But if that's the case, you might as well just buy the coins and HODL.

Of course, if you already have suitable hardware, then great! Pick a coin with a decent community and bright future prospects — and also one that is profitable to mine right now. No point in mining if you spend more on electricity than the current price; in that case it's better to buy and hodl.

Then, after you've been mining profitably for a while, and you know the project/community well enough, it may be time to expand your mining business.

HODL

Saving and investing, in general, is a long-term game. Bitcoin didn't make anyone rich overnight.

During my days in mining Bitcoin, I used to sell roughly half of the coins generated. The idea was that, as future looked uncertain, mining should at least pay for itself. I still find it as a generally good strategy to balance between daily profit and future prospects. However, you may want to adjust the ratio, it could be more than half for some coins, and less than half for your long-term choices.

Stay afloat

The above strategy of selling some to cover immediate costs relates to the basic rule of every investor and gambler: only invest what you can afford to lose. Keep a book (spreadsheet) of fiat gains and losses, and try to keep the overall balance on a positive side, no matter how many hodlings you have.

Sell when it's practical

It may be tempting to look for extreme highs for selling. If you're a trader, this would be natural, but then my advice is not for you.

My goal is to make a living out of cryptocurrencies while having fun, and following price charts all day is not my idea of fun. Sell when you need the fiat money, and don't make a big fuss if you miss some extreme high/low. Of course, avoid making an obvious loss.

Remember that by selling, you are contributing to the health of the coin. Someone else will now have better access to the coin. You don't get super rich by HODLing 100% of a coin, but by participating in a balanced community.

Use your coins to buy/sell stuff directly

The ultimate way of serving the community. Try to use online and IRL stores that accept cryptocurrencies, even if they are marginally expensive. In the long run, we should not need any fiat conversions.

Avoid closed software — never pay for software

It is through the blessing of Free Software that we have Bitcoin and other cryptocurrencies at all. Some people are exploiting the situation by selling closed-source miners (possibly by a built-in donation). By not supporting these you keep the scene healthy, and ensure that as many people as possible have access to the technology.

It is hard to completely avoid closed-source software in the mining scene, as GPU drivers and SDKs are binary-only for now. However, there is no reason to keep the rest of the software closed.

Contribute

Having received this wonderful gift of free software, try to pay your respects and contribute in any way you can:

Focus and diversify

Did I mention this is a long-term game? If you keep chasing the hottest coin of the day, you will never accumulate a substantial amount of any single coin. Even with pooled mining, it takes a while for the daily income to stabilize. Do your homework, read the forums and any other documentation you can find, so you can pick a coin or a few to stay with for some time.

On the other hand, there is also the adage about eggs and a basket. I'm generally mining a couple of different coins at the same time, to maintain some hedge while staying long-term.

In the long run, after you've made some profit from cryptocoins, it may be sensible to partake in some traditional investing, such as company stocks and investment funds.

Altcoins

The word 'altcoin' seems almost a pejorative in some circles. To me, it means something like rpietila's definition of classical altcoins — derived from Bitcoin with no substantial change. A huge majority of these are simply scams, even of those that introduce new tech in the form of hash algos. The issue with these is discussed separately below.

Some altcoins have provided truly valuable developments, though, for example

However, as of 2014 there are multiple fresh starts for cryptocurrencies. I am mostly familiar with Cryptonote — Ripple is basically closed, NXT seems like a premined PoS. While Bitcoin is the number one cryptocurrency, these put the "altcoin" pejorative in new light, as they are no cheap "me too" coins.

In fact, substantial changes to the network are better handled from scratch. The most prominent reason is increased privacy, for which Cryptonote seems to have a decent solution. However, this is not necessarily a recipe for mass adoption; Bitcoin already provides a nice, cash-like level of anonymity.

Merge mining

To me, merge mining is one big facepalm. It's the only thing cheaper than your cheapest "me too" coins, going against Bitcoin's anti-inflationary monetary philosophy.

The only example of merge mining I can understand is Namecoin, as it serves a complementary purpose to money transfer.

Coins to question

(but still worth a mention for their technological elaborateness)

Darkcoin intends to compete with anonymous-from-scratch coins by bolting stuff on the Bitcoin codebase. This technology is partially closed source, and it also involves "masternodes" that seem to work against the ideal of decentralization.

BitcoinDark appears somewhat similar. The problem with these and many others is the chasm between future promises and what's currently delivered. The schemes also involve temporarily closed source. All of this runs counter to good Free Software principles, where you release early and release often, even when it's not perfect (because no decent software ever is).

Notable coins

Bitcoin

The network of Bitcoin itself, and merchants who accept it, ensures that Bitcoin will grow and stay here for a good while, even though technological rivals abound. It continues to be the gold standard against which other coins are valued. Hence, it may well prevail as the digital equivalent of gold, even if daily trading is dominated by more nimble technologies in the future.

Blakecoin

The only coin that has dared to challenge the trend for slower, memory-harder, "more secure" hashes with good reason. Has a nice, strong community with in-game currency applications.

My only question is about the other merge-mined coins, I don't see them serving any purpose.

Boolberry

The most technologically advanced of Cryptonote coins, and possibly all coins. Currently [2014-09-03] its benefits over other Cryptonotes include

Cryptonite

Not to be confused with Cryptonote coins, this one is based on Bitcoin, but has significantly reduced blockchain bloat with its Mini-blockchain technology. The coin itself might not be a huge success, but hopefully the technology will live on.

Monero

The most prominent Cryptonote coin. The conservative choice with the most marketing/devel money behind it.

Hash algorithms

As a geek, I used to find coins with new algos inherently interesting. Over time it's become clear that most of them are a complete waste of resources — reinventing the wheel for a temporary mining monopoly.

There are some merits to certain choices behind hash algos, but most claims are hogwash from a technical standpoint.

Security claims

Common functions such as SHA-2 are known as cryptographic hash functions. People who design them actually know some math, and they aim for properties like collision resistance, while keeping the function relatively simple.

Many altcoins simply bolt together a few of these cryptographic hashes, and then claim increased security. Even intuitive analysis shows there is no security benefit, and there is also a rigorous take on the matter. The aim of these compound hashes is simply to get a temporary monopoly (for example via closed GPU miners).

Furthermore, collision resistance (which is what hash security is usually about) is not directly relevant to PoW functions. You're looking for a collision of relatively few zeros at the end, not the entire hash.

ASIC resistance claims

There is no genuine ASIC resistance, only temporary resistance. If there's enough money involved, an ASIC will be made for whatever purpose. Scrypt was originally intended CPU-only, then GPU miners appeared, and now we have ASICs for it.

Benefits of a faster hash

The first alt-hash, Scrypt, was originally designed slow to delay password cracking attacks. However, slowness is not a particularly desirable trait in a cryptocurrency PoW function; a slow function simply makes the difficulty lower. For mining, this is neither good or bad.

However, the hashes are not only used in mining. Valid transactions are checked by calculating the block hash, and in some cases this happens often enough for a slowdown to be noticeable. For example, when restarting a Scrypt-coin wallet after a while, the blockchain must be updated basically by checking each new block.

Meanwhile, a Blakecoin wallet will already have updated, because it uses the fastest hash of all cryptocoins. In the password-protection sense, a fast hash might seem insecure, but here the issue is automatically corrected with a high difficulty number.

There is a similar rift between Boolberry and other Cryptonote coins. BBR is much nicer to use due to its faster hash, though I still think they should have chosen something simpler like Blake.

Mining

Solo or pooled?

Ideally, solo is better for a multitude of reasons.

On the other hand, there's always the variance. If you expect a block once a day in average, don't panic if there's no block in 2 or 3 days. It should all balance out eventually.

However, if I don't find a block in a few days, it's usually time to switch to a pool. While it's a long-term game, a lot can happen in the network in just a few days. At the time of this writing [2014-09-02], Boolberry's difficulty has increased 6x in 4 days, and I'm seriously considering the pool option (unless the increase is a short glitch).

In the early days of Bitcoin, someone calculated that if the difficulty keeps climbing as it does, there's a good chance that a typical miner will never find a block. Pooled mining makes it more like a steady income than a lottery.

Related reading

Bitcoin controversies
Risto A. Paju