Your blockchain project will fail because you don’t understand Bitcoin

This article is addressed to you, the business professional that has heard about Blockchain technology and how it will revolutionise every industry, including yours. You want to start a blockchain project in your company so that your competitors don’t do it first and beat you to the punch. You’ve been told by everyone around you at conferences and trade shows that by utilising a blockchain, you’ll get to take advantage of things like unfalsifiable logistics tracking and smart contract based applications that run on the blockchain without needing to host the application code on your own servers.

Unfortunately, you’ve been misled.

In the business world there’s a perception that talking about cryptocurrency – and even more so about Bitcoin specifically – isn’t “professional” enough. Everyone wants to talk about “blockchain” instead as if the concept can be separated and distilled and removed from the cypherpunk roots where it started. Bitcoin is a weird cryptocurrency that people invest in trying to get rich, but it doesn’t bring real business value. Blockchain is where it’s at!

Of course this is dead wrong and if you believe it, you’ll fail to do anything useful with this technology. The reality is, that a “blockchain” is just a kind of slow, inefficient, distributed database. Everything that makes Bitcoin’s blockchain interesting is the technology around it: Decentralisation, proof of work, economic game theory, and the absolutely brilliant concept of the mining difficult adjustment to set a kind of clock that adds a new kind of ‘fairness’ to the system that has never been seen before. With these, a blockchain is an important part of a technological marvel; without them, it’s just a slow, inefficient database.

But the people advising you don’t get that. Not yet. So instead, they tell you that Bitcoin is “powered by blockchain” and therefore the strengths that Bitcoin has can be yours too just by making your own systems also “powered by blockchain”.

The reality is however that unless you have all of the other aspects of Bitcoin (or at least, know what you’re losing when you decide not to have one or more of them), you will also fail to get the strengths of Bitcoin.

So, what are those aspects in detail?

  • No single point of trust. Bitcoin solves the problem that the participants in the system don’t necessarily trust each other. It is a “trustless” system. If you are going to build a system where you have the authority to change things, then the other participants must trust in you. There’s nothing necessarily wrong about such a system, but building it with a blockchain is just wasteful since you could use a database instead.
  • No web of trust. Equally, Bitcoin doesn’t have a ‘board’ or ‘master nodes’ or ‘privileged peers’. There are some other cryptocurrencies built this way (Ripple comes to mind). In this system, although there’s no single point of trust, there is a set of privileged peers that – while not trusting each other – are required to be trusted as a collective by other participants. Again, a blockchain isn’t really needed here, since you could just build a chain of signed transactions (if you really must have a chain) instead of going through the effort to build transactions in to blocks. Even more easily, you could – again – just use a permissioned shared database with signing rights to ‘validate’ transactions in a simple queue.
  • Open, permanent information. All information on the Bitcoin blockchain is visible to everyone and can not be removed once added. If you will ever need to be able to change the history of your data – for example, for legal compliance with privacy or other regulations – an immutable blockchain isn’t for you. Put the other way around, having data in an immutable blockchain is a good way to prove you are unable to comply with these regulations no matter how much you’d like to, but this may be a difficult avenue to go down for your business. Again, you probably want to consider a shared permissioned database for your use case.
  • The assets are digital. With Bitcoin, the ‘things’ being tracked on the blockchain are the digital assets of the bitcoin transactions themselves. If you try to tie a blockchain to a physical process such as physical goods delivery, you’ll find a blockchain to be a weak solution. The best you can track is a digital representation of those goods and if the way you tie the physical good to the digital representation is able to be compromised (e.g. a printed serial number, which can be easily copied), then the blockchain isn’t going to help at all. You’ll just be faithfully tracking the wrong thing.

The United States National Institute of Standards and Technology (NIST) created this helpful flowchart that may also prove useful:

If you go ahead with your blockchain project, and don’t heed the above, you’ll probably still be able to build something that works. But eventually, your developers will convince you that a blockchain really wasn’t the right approach. You will end up just using a permissioned database after all for much less cost and much more efficiency. You’ll have wasted a lot of time, effort and money on a technology that doesn’t fit your needs. And then your interest in “blockchain” will decrease again. You’ll claim it’s all hype and blockchains are useless for anything real.

But none of this will affect Bitcoin and the blockchain that it rests on. Bitcoin will continue to grow behind the scenes and one day, you will see it again and realise that you somehow screwed up. You probably still won’t understand how you screwed up, but you’ll at least see that your “blockchain” project failed and yet Bitcoin succeeds. At that point – even without understanding it (or needing to), you’ll finally start adjusting your business to the new way of things.

We’ve seen it before with the internet. The walled garden services of the 90s like AOL, CompuServe and so on were the same kind of attempt to take this wild geeky internet thing and turn it in to a business-palatable service offering. Every pointless “blockchain” project is going to end up just the same as those evolutionary dead-ends did, relegated to the garbage heap of history while the real underlying technology that actually works becomes the mainstream to the point that people can’t imagine it being any other way.

As a final note: Does this mean you shouldn’t do “a blockchain project”? No, I never said that. If you can go through this article and honestly compare the questions and points raised to your project and still see a need for a blockchain, then it’s not impossible that yours will be a success. There are a lot of interesting ideas out there and I certainly can’t rule them all out carte blanche. All I can say is that different problems have different kinds of solutions. Blockchains are great at solving one kind of problem, but if that’s not the problem you’re trying to solve, then sticking a blockchain in to things isn’t going to magically make it better.

Bitcoin: Honest Money

Bitcoin is honest money. But what do I mean when I say that?

The problem stems from the fact that most people don’t actually understand what money is, how it came to exist, or how it is created in our modern world. Therefore before I can even begin to talk about bitcoin, I’m going to need to talk a bit about money itself. In fact, I’m not even going to mention Bitcoin for the next 30 paragraphs.

Money, at its most basic level is a representation of value. Money works best when it has little or no intrinsic value. Sure, you can burn a pile of dollar bills for heating purposes, but – at least for the moment – they’re probably more valuable as something you can trade for goods and services.

In this way, we see that money is a representation of value rather than being a thing of value itself. This extends to all forms of money. Gold may be used for jewellery, electronics, or similar but can also be used directly in trade and was frequently in the past minted in to coins that represented a far greater worth than the practical intrinsic worth of the metal itself.

A couple of times now, I’ve used a term that gets brought up a lot when talking about money: “intrinsic value“. Intrinsic value is the value something has in-and-of-itself. Food has intrinsic value because you can eat it. A shelter has intrinsic value because it protects you from the weather.

However my implication that money is something with more intrinsic value than that which is made of is somewhat of a lie. Or at least a misdirection. Money does indeed have intrinsic value – as a means of exchange, and store of value. This is in fact likely how it came to be in the first place. If you’re a hunter that kills mammoths and I’m a specialist in sewing warm clothes, we both have skills and specialisations where we can mutually benefit from each other. Between the two of us, trading meat for clothes might work. But what about the basket weaver? And the forest fruit gatherer? Maybe I don’t need a new basket right now and the basket weaver doesn’t want some new clothes.

So we create a token. A representation of the value that we can all agree on. Our village is far from the sea, but we’ve got some shells that a traveller brought back once and are hard to get again. These can be traded around so that whenever I create new clothes for someone, they can give me some shells. I can then use those shells for the things I need, whether it be forest berries, mammoth meat, or a basket.

And suddenly, money exists.

This form of money is fine and works well on a small scale. Once civilisation grows, we start realising that in the next village over, they use a different kind of token: some kind of bean from a special tree that grows in the village chief’s garden only. We need to determine an exchange rate between shells and beans.

Later still, more problems occur, when we find a trading route to a village near the sea. Suddenly, our shells are near worthless. It takes hundreds and thousands of shells to even buy a single meal now. We’ve experienced hyperinflation. We decide to stop using the shells and instead switch to the bean standard of our neighbours.

Beans seems fine… until one day one of our farmers plants one and grows his own bean trees. Of course, there’s a war between us and our neighbours because of it, but since we can finance more warriors (we have many beans trees, they only have one), we defeat them easily. Nevertheless, our hyperinflation problem is back. We’re growing too many beans and people have even started cultivating other plants with beans that look identical. Forgeries!

How do we solve this? We need something with some very specific properties that are globally recognised. As our society progresses, we find precious metals. They’re rare, hard to extract, and hard to fake. Since it’s soft and easy to melt down, we can shape it as we like and divide it in to agreed upon subdivisions.

Gold is pretty great really. It’s:

  • Fungible (one bit of gold is essentially indistinguishable from another)
  • Durable and Non-consumable (you don’t use it up, nor does it go bad)
  • Reasonable portable (you can carry a lot of value on you easily)
  • Reasonably divisible (anywhere from gold dust up to huge bars)
  • Hard to counterfeit (especially since we know its density)
  • Of a fixed supply (although we’re not totally sure how much exists on earth, we can make a reasonable guess; and the cost of extraction means that we won’t do so if/when it costs more to extract than the value of the gold itself)

Using gold (or other precious metals) as currency is a type of money called commodity money.

But precious metals do have some issues. Once you start getting in to large amounts, portability becomes an issue. Once you start getting in to very small amounts, divisibility also becomes an issue. And as we get better at chemistry and nuclear physics, both counterfeit and supply come more in to question as well.

Even more problematic for supply is the continuing approach of the asteroid mining, where we might soon be able to flood the precious metals market with metals pulled from rocks outside of our atmosphere.

Even aside from literally producing precious metals through chemical/physical means or pulling them from space rocks, it also remains a fact that there is a lot of each of them in the earth. The supply of gold for example isn’t actually practically limited by the amount that exists, but rather by the economic costs of extracting it. That is, if gold increases in value, the incentive to spend more energy on extracting it will also increase and thus the supply will increase. Although there is a real limit on how much could be extracted, for all practical purposes this quantity is so large that it “may as well be” unlimited. If the total supply of gold were suddenly available to everyone on the open market, it would – as a money – be worth less than belly-button lint.

Metals (and other commodity money) actually even has another problem that many people mistake for a benefit. It has a non-monetary intrinsic value. It can be used in electronics and other such endeavours. The reason that this is a problem is that it dilutes the fixed supply by a fluctuating amount and equally sets a lower limit to the value that also fluctuates accordingly. The fluctuation is based on our technical capability and desire to use it for its non-monetary purposes (currently growing significantly).

Despite the problems, commodity money based on precious metals worked for a long time. One of the inventions to help with some of the problems was the creation of banks. Banks were a place you can take your gold or other metals where they look after it for you and give you a receipt for the value of the commodity you’ve stored with them. Since these receipts were “as good as gold”, it even became easy practice to simply trade these receipts around, knowing that at any time you could walk in to the bank and claim the commodity that the receipt represented. And thus paper money was born.

Although it was paper money, it wasn’t yet fiat. Fiat derives from the Latin word fiere – “be done or made” – and can be best translated directly as let it be done. The general usage of the word in English is something done or created by decree rather than by a natural order. Fiat money is therefore money that useful as money because a government or other authoritative body decides it to be so.

The paper money I’ve described isn’t fiat because it is backed by a commodity. That is, although the paper (or other token) is simply declared as a promise of money, the monetary it represents is a tangible, known thing. You couldn’t just create new promises out of thin air without having the commodity to back it up (well you could, but that would be fraud). This is called a representative currency since the token represents the value of the commodity held and exists solely as a promise of access to that valuable commodity.

Around 1000AD, China created the first fiat currency. The jiaozi was originally a representative currency backed by copper, however once copper supplies ran out, the emperor declared that the paper money itself can be considered to have value without requiring any copper reserves backing it up. After all, no one ever claims the copper, so why have it at all?

The jiaozi fiat currency was a disaster. Inflation became quickly uncontrollable as more and more ‘notes’ flooded the market, making each worth less and less. The ruling class had given itself the ability to create value out of nothing and expected to be able to use it to pay for goods and services, but soon found that it would take more and more each day just to buy the same things as the supply of money increased.

This failure has been repeated throughout history including (but by no means limited to) the German Weimar Republic in the early 1920s, the Zimbabwean Dollar in the late 2000s, and the Venezuelan Bolivar in the late 2010s.

Until 1971, the US Dollar was also a representative currency. On the 15th of August that year, Richard Nixon declared the US Dollar to no longer be tied to the price of gold. Its value would be declared directly with nothing to back it aside the promise of the government and the strength of the country. In effect, the gold-backed US Dollar ended that day and a new fiat currency was introduced with the same name using the same paper and coins that were previously representative of gold.

Wanting to avoid the mistakes of the past, the US (and soon after, many other nations) were much more careful in their implementation of fiat currencies. To avoid hyperinflation, they set rules on monetary creation and/or created independent or semi-independent bodies outside of the government tasked with controlling it.

This has been appearing to work more or less well for nearly 50 years. Countries with fiat currencies have grown their economies well and other than a few “hiccups”, most people seem to be doing pretty well under this system.

The key words in the paragraph above are: “seem to“. Those hiccups aren’t little things. They’re indicative of an underlying problem with the controls put in place to try to hide the problems inherent in fiat currency. This is where money starts to become dishonest.

If you ask people who creates money, the vast majority will likely say it’s created by the government. That’s incorrect. Others – slightly more informed – might point to a central bank such as the United States Federal Reserve (which is one of those private non-governmental institutions I mentioned above). This is actually also mostly incorrect. Central banks do in some cases directly create money, but many do not at all. Most money is actually created by commercial banks under policies and frameworks defined by central banks.

One of these frameworks is fractional reserve banking. Fractional Reserve Banking is a system that allows a bank to loan out more money than it has. The amount allowed is determined by the central bank, but the process of doing it is entirely under the control of the commercial bank. The term fractional reserve refers to the fact that only a defined fraction of the total amount lent is required to be held in reserve by the bank.

When you borrow money from a bank – for example for a mortgage or a car loan – the bank creates the majority of that money out of thin air. The amount of physical currency is irrelevant since only a tiny fraction of money exists as physical tokens, the rest is just entries in a computer database. When the bank borrows money from you – which is exactly what they’re doing when you have an account with them – they can use the full amount of this to create new loans to others (or even back to you!) multiplied many times over.

Where the real problem comes in – and hopefully it should be clear by now – is that loans from a bank to an individual will almost always generate new deposits, which are nothing more than a loan from an individual back to a bank under unequal rules.

Breaking it down more clearly (note that this is an oversimplification, but the principle holds true):

  • We imagine a simple fractional reserve requirement of 10%.
  • Bank A loans Alice $1000 so that she can buy a car. This is backed by a reserve of $100 held in their vaults.
  • Alice buys the car from Bob, who deposits it in Bank B.
  • Bank B loans Carol $10000 for a family holiday. This is backed by the reserve of $1000 that came from Bob.
  • Dave’s Holidays – the travel agent – that Carol uses banks with Bank A. Dave deposits Carol’s $10000 in his account.
  • Carol owes Bank B $10000. Alice owes Bank A $1000. But these debts were both just made up by the banks from an initial reserve of only $100. The total money supply has increased $10900 in just a couple of short transactions.

These events are happening every moment of every day and is clearly hyperinflating the total money supply.

So why don’t we see it? The purchasing power of the US Dollar is declining – a McDonalds hamburger in 1970 was much cheaper than 1980, which was cheaper than 1990 and so on; but why don’t we see hyperinflation like that in Zimbabwe in 2008, where the value of money halved on a daily basis?

Quite simply: Because it’s being hidden. This incredible inflation is masked in debts and loans… the exact same debts and loans that fractional reserve banking works on. In other words, if even a fraction of people and businesses actually paid off a significant portion of their debts, the entire economy would come crumbling down. The only thing that is capable of keeping it afloat is the flow of money in to those debts without completely covering them. This money is representative of the value produced by work, and thus many economists claim that this monetary system stimulates the economy to action and increases useful/valuable production.

This is absolutely true on the short term, but dangerously false on the long term. And we have now actually seen the problem happen, without most people realising what they were seeing. The financial crisis of 2008 was exactly this problem playing out. Because of the fractional reserve system, being unable to pay back a debt and defaulting on it provides the same pressure as completely paying it back since the incoming flow of debt payments goes to zero in both cases.

So, how was the problem solved? How did we recover from 2008? We printed more money and gave it to the banks!

Because of the way this system works, that solution “worked”. Or more precisely, it delayed the problem a while longer. However it should be clear to anyone reasonable that the only possible result of this is a continuing cycle of even greater and greater crashes with increasing frequency until such time as fiat currencies experience near infinite hyperinflation and are declared worthless.

In late October 2008, a person or persons going by the pseudonym “Satoshi Nakamoto” published a whitepaper on an internet mailing list of interest to cryptographers and cypherpunks, describing a digital electronic peer to peer cash system. He called it Bitcoin.

On the 3rd of January 2009, the Bitcoin network went live. Satoshi embedded a message in to the first block on the Bitcoin blockchain. It was a headline from The Times newspaper on that day:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.

And thus, bitcoin was born.

Purely electronic money wasn’t a new idea, but it had a problem. It was always fiat. If I give you a gold coin, you now have it and I don’t. But if I give you a computer file, we both now have it and I could also give it to someone else. Digital scarcity couldn’t exist. So the only way to stop someone “double-spending” (giving the same money to more than one recipient) was to have a central authority monitoring transactions. In the case of legal money like the US Dollar, this is the job of the banks and there are laws in place for how they do so. In the case of money that someone wants to create themselves, it’s a single point of failure should the government decide to stamp it out, and a single point of trust should the creator decide he’d like to “give himself a bit extra”.

Satoshi solved this problem through the invention of bitcoin with a Proof-of-Work based decentralised blockchain. I won’t go in to the technical details in this article, but I certainly will in another.

When we look at Bitcoin as a currency, we can think back to what we know about different kinds of currency and ask ourselves: is it fiat money? is it representative money? is it a commodity money?

We can best answer this by looking at its properties:

  • Fungible (one bitcoin is functionally indistinguishable from another – only their history is unique)
  • Durable and Non-consumable (you don’t use bitcoins up, nor do they go bad)
  • Extremely portable (being digital, you can carry any amount of them on you without trouble)
  • Extremely divisible (each bitcoin is divisible up to 100 million units (called “satoshi” in honour of the creator) and can be subdivided further if needed through technological means)
  • Extremely hard to counterfeit (that’s what the Proof-of-Work system ensures)
  • Of a fixed supply (there is a defined rate of creation that reduces over time and will eventually hit zero just below 21 million bitcoin; after which there can never be more created)

These properties should hopefully remind you of something earlier in the article. These are the same properties that we described for precious metals (although significantly better). Bitcoin is a commodity money.

As we recall, commodity money is a good system, but it had its drawbacks. If we examine Bitcoin as a digital commodity money with regards to the drawbacks of physical commodity money, we see:

  • Non-monetary intrinsic value: I claimed earlier that metals’ use in electronics and other similar endeavours means that the non-monetary use competes against the monetary use. Bitcoin does actually have a non-monetary intrinsic use: it’s a global ledger that can be used for time-stamping, proof-of-existence, and other similar activities. These activities are inherently valuable and can be built upon for functions like decentralised identity and more. However, Bitcoin’s non-monetary intrinsic value doesn’t use it up. That is, by using these functions of Bitcoin, we don’t reduce its ability to be used as money. Essentially, we’re using the Bitcoin fundamental technologies (blockchain, proof-of-work, etc) for these tasks without actually using up the Bitcoin itself. This is in contrast to metals that can not be used for monetary purposes while they are used for non-monetary purposes.
  • Ease of transfer: Metals are bulky. While they are somewhat portable, it is still quite difficult to transfer large amounts from one location to another. Bitcoin – being digital – can be transferred anywhere in the world instantaneously with near zero effort.
  • Security: Protecting large reserves of precious metals requires significant physical security. Bitcoin is protected by private keys that are mathematically next-to-impossible to guess (guessing one ‘at random’ would take longer than the age of the universe even if you expended all of the energy of a large star to do so). Securing a private key is easier than securing gold, since it can be represented in a number of different ways and can take up an arbitrarily small amount of space. It’s even possible to memorise a list of words that represent a private key, meaning you are holding your bitcoin entirely in your head! (I don’t recommend this… forgetting the words means losing your money; a piece of paper in a locked safe is generally more reasonable).
  • Scarcity / Fixed-Supply: Although I said earlier that precious metals have a fixed supply, the reality that I pointed out after that is that this isn’t necessarily true. We may find more elsewhere in the universe and we also don’t actually know how much is still undiscovered under the earth. Even aside from the amount that exists, it’s also not easy to predict with any accuracy the rate at which we find and extract them. The costs for extracting them also varies to an extent based on luck aside from the more controllable factors. By comparison, Bitcoin is strictly limited to just under 2.1*10^15 (2.1 quadrillion) satoshi / 21 million bitcoin and the rate of generation is fixed to average at one block per 10 minutes, with a defined halving of the generation every 21000 blocks (approximately four years). This means the supply is extremely predictable, removing potential for problems caused by supply disruption (in either direction).

Clearly, as far as being a commodity money goes, Bitcoin doesn’t suffer the same drawbacks as commodity moneys of the past.

A Response to CME’s “In-Depth Look at the Economics of Bitcoin”

This was written by request of a colleague as a response to this article published by the CME group in April of 2018 so that he could get a better understanding of my criticisms. It is intended to address the most salient and important points but does skip some detail where it wasn’t necessary for the original requestor.

Section 1: Economics of Supply Inelasticity

“The supply inelasticity explains in large part why bitcoin is so volatile.”

Disagree: The supply inelasticity certainly influences and exacerbates volatility, but the primary cause of the amount of volatility is the size of the market.  The total market is very small compared to other markets and shows a similar level of volatility to other markets.

This is somewhat self-evident in that the volatility of Bitcoin can be seen to decrease over time as the market has grown.  If supply inelasticity were to be considered a primary explanation of the volatility, the significant decrease in volatility as the market grows would not be expected as the supply inelasticity itself has not changed.

“Meanwhile, consumers will find ways to use them more efficiently in response to higher prices. This is not the case for bitcoin directly, although rising prices might increase the probability of “forks” that split bitcoin into the original and a spinout currency such as Bitcoin Cash (August 1, 2017), Bitcoin Gold (October 24, 2017), and Bitcoin Private (February 28, 2018).”

I agree but consider this irrelevant.  I don’t see why this statement is being made and it’s not elaborated on further.  If they’re trying to argue that it’s a kind of supply inflation, I vehemently disagree (that’s like saying the billions of new Venezuelan Bolivars that were printed massively devalued the US Dollar and the Euro, which is just absurd) but I won’t necessarily assume they did mean that since they didn’t say it specifically.

“Bitcoin’s limited supply and soaring price make it difficult to be used as a medium of exchange outside of the crypto currency space. Imagine one’s regret if one uses bitcoin to purchase a mundane item such as a cup of coffee only to find that the bitcoin spent on a cup of coffee would have been worth millions of dollars a few years later. As such, investors treat bitcoin as a highly unreliable store of value – a bit like gold on steroids.”

Disagree: There is no difference between deciding to spend €2.50 on a cup of coffee or an equivalent amount of Bitcoin on that cup of coffee if you are able to easily exchange between euro and bitcoin.  By spending the €2.50, the person willingly chose to buy coffee instead of storing the value in Bitcoin.  In other words, they had a preference for the coffee over the opportunity cost of the Bitcoin.

“Bitcoin’s price is too volatile to compete as a store of value”

Disagree: As Bitcoin’s usage grows, its volatility should decrease (as we’ve already seen, and I described above).

“Bitcoin’s transaction costs are too high and too variable for it to be used as a medium of exchange.”

Strongly Disagree: “Transactions” on Bitcoin’s blockchain can represent any number of transactions from zero to millions/billions.  The on-chain “transaction” costs do not say anything about the costs paid per real transaction conducted.  It just happens that in these very early days of bitcoin, most on-chain transactions represent only one or a very few real transactions.  This will change.

“Most importantly, for an asset to function economically as a medium of exchange, it must depreciate slowly over time – something that is impossible with a fixed supply.”

This is just a standard Keynesian economic argument made without any evidence provided to back it up.  To use a quote from Christopher Hitchens: “That which can be asserted without evidence, can be dismissed without evidence.

“Without the fear of inflation, holders of currency tend to hoard rather than spend it.”

What Keynesian economists call “hoarding”, Austrian economists (and really anyone that remembers their childhood) call “saving”.

Section 2: A Deep Dive into Bitcoin Supply through a Study of the Economics of Commodities

“Bitcoin is “mined” by computers solving cryptographic math problems. In exchange for solving the problems, miners receive bitcoin. Those math problems grow in difficulty over time, increasing the required computational power required to solve them. This in turn drives up the equipment and especially the electricity cost of producing bitcoins. One needs more and more computers and to make them run at peak speeds, they must be kept cool.”

This whole description is wrong and based on false understandings of the technology.

Bitcoin is mined by computers performing a simple cryptographic mathematical calculation many times over, looking for a specific result that cannot be predetermined and is thus random chance.  When the specific is found, a “block” is generated which contains the result, showing that the necessary work must have been put in to find it.  The specific result being looked for depends on the current network difficulty, which in turn depends on how quickly the most recent blocks were generated.  Thus, the more computing power put in to finding the results, the faster new blocks are generated.  This in turn results in a higher network difficulty, slowing block generation down again.  The network difficulty adjustment is designed to produce an average of 10 minutes per block regardless of how much computing power is added to the network.

If blocks are generated more slowly than 10 minutes, the network difficult reduces, meaning that a constant increase in energy expenditure is not expected (computing power may increase, but primarily through improvement of technology rather than increase in energy expenditure; in theory, this would also eventually cease, but likely not for many people’s lifetimes).

Since miners are rewarded with a known amount of new bitcoin per block (plus variable transaction fees), it is reasonably easy to determine whether it is economically viable to participate in mining.

This means that rather than a constant increase in energy expenditure, an equilibrium is found whereby it is economically valuable to add more computing power to the network based on the energy cost of adding it.

As the entire rest of this section is based on the false assumptions made above, there doesn’t seem to be much need to answer it.  However, it is worth saying that their statements about “the difficulty not dropping” is wrong (it did, it just lagged behind because there were still plenty of profits to be had despite the price drop), and the comparison to physical mining is taken too far since they make the incorrect assumption that the mining difficulty relates to the remaining supply (which it does with physical mining, but not with Bitcoin).

Section 3: Demand Drivers are Not So Transparent

I don’t have a lot to say about this section.  They’re generally right, but I don’t see the issue.  I do take issue with their idea of “transactions” as mentioned in section 1, but when talking about historical data it’s quite acceptable.  It won’t be for the future though.

Section 4: Incentives, Bitcoin Forks and Alternative Cryptocurrencies

“When one thinks of incentives and reward structures, one might want to analyze some parallels with how shareholder value is created.”

One might want to, but one would be wrong to do so…

“Miners and transaction validators receive rewards in bitcoin. One can see a corporation’s shares as an internal currency used to compensate and motivate employees, aligning their interests with those of the organization. To that end, the number of bitcoins in existence is comparable to the “float” of a corporation – the number of shares issued to the public.”

Producers of fiat currencies (central banks) receive rewards in those fiat currencies.  Why not compare to that instead of to shares?  I don’t get how this analogy is supposed to make sense at all.

“A quick diversion back to supply is useful here. The existence of forks in bitcoin serves to modify some of our intuitions on supply. That is, while bitcoin’s supply is fixed, the supply of cryptocurrencies is not.”

Oh dear, they actually said it.  See above in my second answer to section 1…

Section 5: Economic Destiny of Bitcoin

“One possible result of the development of cryptocurrencies is that central banks may one day decide to issue their own distributed ledger currencies as Venezuela is struggling to attempt to do today with the launch of the “petro.””

This is – or at the very least should be and will be in the longer term – completely irrelevant.  Centralised “private blockchains” aren’t even the same kind of thing as Bitcoin no matter how much people try to lump them together.  It doesn’t matter if it’s created by a state actor/government or by a 15-year-old in his mother’s basement: it’s still a shitcoin!

“Blockchain technology has the potential to allow policy makers to issue their own cryptocurrencies that will give them real time information on inflation, nominal and real GDP. It will not allow them to peer through the front windshield into the future but at least they can look into the rearview mirror with much greater clarity and see out the side windows of the monetary policy vehicle. This could allow them to create the amount of money and credit necessary to keep the economy growing at a smooth pace more easily than they do today.”

I consider this very short-sighted and a “waste” of the technology.  Yes, I can see how a private shitcoin would have these advantages over fiat, but as long as the money-creation and so on are still human decisions based on gut-feeling and badly designed analysis techniques, it will still suffer every significant issue that fiat currencies have.  Slightly greater transparency isn’t all that helpful when it’s transparency on a fundamentally broken design.

“Switching off the gold standard vastly reduced economic volatility and improved per capita economic growth.”

To quote Wikipedia: [citation needed]

In other words: I don’t believe this at all.  Economic volatility in purely fiat currencies has been greater and more damaging than on gold-backed currencies (prior to the “cheating” of not really having it backed but saying it was).  Also, per capita economic growth needs to be defined and measured in something other than the fiat currency you’re trying to evaluate.  I don’t believe for a second that real per capita economic growth has happened on average (the rich got richer, the poor got poorer, and the standard middle-class family now have two working-parents instead of just one).

Switching away from the gold standard was practical because gold is hard to physically store and move and has divisibility issues.  Gold has good properties, and poor ones.  Bitcoin has the same good properties, less of the poor ones, and several more good ones that weren’t even in question/consideration before it existed.

“Moving to blockchain-enhanced fiat currencies could further reduce economic volatility and, ironically, enable further leveraging of the already highly indebted global economy as people find ways to use capital more efficiently.”

“could” is a weasel-word.  Sure… it could, but I don’t see any reason to expect it would.  The article doesn’t even try to defend or argue this point of view.

“Investors who are buying bitcoin are presumably hoping to find someone to sell to at a higher price.”

Some might be.  There are however plenty who aren’t: because it’s a currency, not only an investment vehicle.

“As more people bid up the price, the difficulty of solving bitcoin’s cryptographic algorithms increases. This in turn is driving up investment in more powerful and faster computing technology of both a traditional integrated circuit and non-traditional variety. Indeed, solving cryptographic problems may be one of the first tests facing quantum computers.
The problem is that investors in bitcoin and its peers are mainly out to make profits and not to finance or subsidize the development of distributed ledgers nor more powerful computers.”

This is again treating Bitcoin as an investment vehicle, not a currency.  Of course, no one is interested in Bitcoin solely to subsidise the development of distributed ledgers or more powerful computers.  The presentation of this as the only alternative to being interested in Bitcoin for “making profits” is a classic “Black or White” logical fallacy.

Beyond the renaissance: The modern polymath

The term renaissance man embodies an ideal born from a specific set of philosophical thoughts with their roots in the 14th century but coming more to fruition during the mid to late renaissance of the 16th and 17th centuries. The ideal is based on the concept that human knowledge is – at least in practical terms – limitless and that it is inherently valuable to embrace all knowledge and skills as fully as possible.

As this developed, the more nuanced modern concept of the polymath evolved. A polymath embraces the renaissance humanistic ideal regarding knowledge, but places upon it the notion that knowledge and skills both can and should cross interdisciplinary lines and that this crossing is one of the most powerful tools for innovation and extension of a field at our disposal.

From the early 20th century, specialisation has become common. The argument is that fields are advancing to the point that no individual is able to truly become an expert in more than one. If someone has spent ten years studying to become a doctor and then goes on to practice medicine and further hone their skills throughout their career, the argument for specialisation is that the majority of available time and energy is devoted to this and other knowledge is likely to not progress much beyond a hobby level. In some cases, there are those who reject the idea of a single specialisation but still follow the basic principle and will have two or maybe even three specialisations through a long and dedicated process of detailed study.

A modern polymath rejects this process as short sighted and ultimately wasted energy. Instead, the polymath approaches it differently. The fundamental flaw in specialisation is a lack of the realisation that the universe is inherently ordered and rule based (even the strange world quantum mechanics has rules; they’re just rules that have probabilities rather than certainties as outcomes). This means that the specialist concentrates only on the abstraction of their field rather than the underlying reality that would allow them to tie it to other knowledge more easily. The specialist in fact takes a completely reversed approach from the truth by viewing their field as reality and the underlying reality as an abstraction!

Often accused of being a “jack of all trades, master of none”, the polymath rejects this label – not because they believe they are ‘masters’ of many ‘trades’, but rather that the terminology is wrong. A “jack of all trades” is someone who has studied each trade as an individual and discrete thing, where the polymath sees them as all being aspects of the larger and more complex reality.

In 1960, the Hungarian physicist, engineer, and mathematician Eugene Wigner penned a paper titled “The Unreasonable Effectiveness of Mathematics in the Natural Sciences”. This paper describes the astounding fact that mathematics fits the world in ways that make no sense to the natural intuition. When measuring statistics of natural and common things such as population, car ownership, or the relationship between people who like barbecued food and rocket science, it’s quite normal that a social scientist will at some point quite early in the process turn to Gaussian distributions. In doing so, they’ll utilise the number π (pi) in drawing probability densities. π is a number that describes the ratio of the circumference of a circle to its diameter. It is completely unintuitive and ‘strange’ that the relationship between a circle’s circumference and diameter should have any meaning when talking about population statistics, but there it is.

This paper has inspired many people – myself included – to investigate the field of mathematics more deeply and in some cases even serve as the basis for the development of a personal philosophy following polymath ideals (whether or not the person has ever even heard the term).

However, it must also be noted clearly that it is a mistake to only focus on the mathematical relationships between entities and actions in the universe. The study of physics informs us that mathematics is not only the language of the universe we live in but in fact the language of all possible universes, even those that we do not inhabit or exist in nothing but theory and speculation. But mathematics applied in this way is a very low level descriptor. As Randall Munroe of xkcd fame points out in xkcd comic #435 “Purity”: sociology is just applied psychology, which is just applied biology, which is just applied chemistry, which is just applied physics, which is just applied mathematics. But trying to use the language of mathematics to describe the physics of the chemistry of the biology of the psychology of a particular piece of sociology would be maddening and not particularly useful.

https://xkcd.com/435/

Here, the polymath recognises another aspect of the universe that human brains are especially well adapted for: the fact that patterns tend to repeat throughout nature due to the underlying sameness and that using these patterns as the abstraction level instead of the field to which they are applied, higher order objects and actions can not only be understood and modelled effectively but that new patterns learned in one field can be applied and understood intuitively in others. These patterns may also be described mathematically, but it is a fundamentally different level of description to that used when describing the physical universe (although again, some patterns are repeated even at those vast differences of scale, which is a fact both beautiful and exciting itself).

Should this all sound a little abstract, allow me to give a concrete example. Many early advances in the understanding of neuronal communication – that is, the way that electrical impulses in a neuron cause follow-on electrical impulses in another (either directly or via chemical messaging) – were made not through direct observation or modelling of the system, but instead by examining social communication controlling the collective movement of flocks of birds, colonies of ants, and swarms of bees. The ‘activation’ and ‘inhibition’ of certain large scale actions in all members of the group can be followed back to the actions of a single individual and the complex interplay of interactions of other members as they react both to this initial action and the other reactions of the members around them. Birds, ants, and bees number in the tens or hundreds. Neurons number in the tens of billions. But fundamentally, the same patterns of interaction can be seen in both.

This may leave you wondering what makes someone a polymath. Do they have to be a genius to intuitively see these patterns? No. Not at all. For most people, becoming a polymath isn’t something that happens naturally but is in fact a choice. It has very little to do with natural intelligence. While it’s true that most polymaths who are famous for great works they have done are geniuses, it’s equally true that most people who are not polymaths who are famous for great works they have done are also geniuses. They’re famous not for whether or not they’re polymaths, but for whether or not they’re geniuses who have produced great works. Just as the vast majority of non-polymaths are never famous for anything, the vast majority of polymaths are equally unknown.

If you wish to become a polymath, it’s simply a matter of choosing to do so and then adopting the right mind set. One of the best ways to begin adopting such a mindset is to identify other writings where cross-disciplinary thought is employed. This could be anything from the personal notebooks of Leonardo da Vinci through to the self-improvement and business writings of Srinivas Rao. Once you’ve identified them, read them not with the idea to learn the subjects that they’re discussing, but instead to learn the author’s thought processes that let them tie together the seemingly unrelated topics. You should quickly find yourself seeing the relationship that you previously missed and have taken your first step towards being a polymath yourself.

Bitcoin: What you need to know

You’ve probably heard something about Bitcoin. What you’ve heard depends greatly on who you are and what circles you’re in.

Most people have probably heard the name but don’t really know what it is beyond that it’s some kind of internet thing that either people seem to be making a lot of money with or alternatively losing a lot of money with. Oh, and maybe that it’s that currency that you can use to buy drugs from the internet and one guy got arrested running some site like that a couple of years ago.

Those of you who spend more time around financial discussions are likely to think of it like a stock or bond, but somehow with no company or tangible asset such as a precious metal to give it any ‘real’ value.

And those of you who are classic computer geeks and crypto nerds have probably recognised it as a really fascinating practical implementation of proof of work and creation of uniqueness in the digital world where things are otherwise so easily copied, and maybe even support the idea of a digital currency, but don’t really understand where the value aspect comes in to play or how.

In a way, each of these understandings is correct in its own way but none of them are a full picture and therefore each of them will work on false assumptions about what bitcoin is, what bitcoin is not, and what expectations should be held.

Therefore, this article attempts to explain both what bitcoin truly is and clear up some misconceptions around this technology.

Bitcoin is a digital currency, specifically a cryptocurrency. It has properties that resemble cash, other properties that resemble precious metals such as gold, and yet other properties that are unique to cryptocurrencies.

It is typically written as BTC however the standard from ISO – the International Standards Organisation – is XBT (‘X’ implying a currency or store of value that is not bound to a specific country, just as Gold is written as XAU when dealt with as a commodity).

Once upon a time – in the far reaches of history (actually, just over 8 years ago) – there were no bitcoins. A mysterious figure (or perhaps group of people claiming to be an individual) going by the name of Satoshi Nakamoto devised the initial concept of bitcoin and began creating virtual coins. He shared this idea with others over the internet and they too began creating more coins. As more coins got created and more people began to share the idea – and importantly trade coins with one another –Nakamoto quietly disappeared and has not been heard of since. Nobody knows who he was, but we know that the many coins he created (around 1 million) have not been moved out of his virtual wallet. In fact, no one can even say for sure if he’s still alive or if he has access to those coins or not. Since then however, bitcoins value has changed from a fraction of a cent per coin to hundreds of dollars per coin, making anyone with access to those coins a multimillionaire.

Looking at this paragraph, someone with no knowledge of how bitcoin works must be incredulous at this stage. How can coins be worth so much if someone can create millions of them so quickly out of nothing? Well, the answer is that coin creation gets harder as time goes on. Creating new bitcoins is done with a process called mining. This process is a series of mathematical hashing algorithms applied to transactions that have happened on the network. That is, when I send you some bitcoin, it isn’t confirmed until someone has applied the necessary algorithms and written it to the public ledger. Of course, not only one transaction is confirmed at a time, but rather many transactions at once in a block.

This public ledger is called the blockchain (because it’s a chain of blocks). It is shared across the entire network and anyone can examine it to see what it contains.

The algorithms that are used for mining are not actually complex, but they are computationally expensive (require a lot of processor time). The difficulty of the algorithm can also be changed as needed and the bitcoin protocol defines how difficult new blocks are to mine. This results in a new block being processed approximately once every ten minutes regardless of how many new miners join and how much computing power increases over time.

The public and distributed nature of the blockchain is a critical aspect of bitcoin. If it were centralised instead, there would be no way to know that someone hadn’t cheated and altered the ledger incorrectly. As it is, anyone attempting to change the ledger will simply now have a different version of it to everyone else and will be rejected by the network as being incorrect.

This means that in order to ‘fake’ bitcoin, you would need to get the vast majority of miners in the world to all agree to do it simultaneously, and somehow re-compute all of the previous transactions with your changes intact in the space of time it takes before new blocks are added (again, around 10 minutes). The first half is practically impossible and the second half is provably impossible mathematically regardless of how much computing power you throw at it.

Not only does mining get more difficult, it also produces less coins over time. At the beginning of bitcoin, mining a block would reward you with 50 bitcoins. Every four years, an event called the “bitcoin reward halving” or more colloquially, “the halvening” takes place. There have been two halvenings since bitcoin started, so a block reward is now 12.5 bitcoins.

As time goes on, there obviously becomes less direct incentive to mine for bitcoin. This is solved in two ways. The first is a direct manner – bitcoin transfers have an optional fee. They are theoretically optional, but without including one your transaction will never be confirmed and so for all practical senses, it must be included. Miners will choose to mine those blocks with the highest fees attached first, so the higher the fee, the faster you’ll get confirmed. In reality, this value is very small however and doesn’t scale with the size of the bitcoin transfer, so whether I’m sending you five dollars worth or five million dollars worth of bitcoin, the fee will be the same. It does scale slightly with some other technical factors, but these aren’t relevant for a typical user so I won’t go in to detail here.

If you’re paying attention, you’ll realise that over time, there will also be less and less new bitcoin available, since the only way for bitcoin to be created is mining, the time-span it takes to mine is relatively fixed, and the amount of coin created gets reduced. This is a deliberate feature of bitcoin. In fact, one day there will be no new bitcoin created by mining at all – miners will get all of their money from fees. The maximum bitcoin that can ever exist is 21000000 (twenty-one million).

This leads to the second way that miners are incentivised to continue. Something that has increasing or steady demand but decreasing supply is by its very nature a deflationary system. Unlike traditional currencies where the value of the currency is inflationary, bitcoins naturally increase in value over time.

Here is where the economists and financial analysts jump in and start screaming about how this can never possibly work. It’s common wisdom in the financial world that a small amount inflation is necessary to spur economic growth. If you don’t have at least some inflation (or especially if you have deflation), people just hold on to their money instead of spending it and therefore the economy stagnates.

This isn’t wrong, but it makes the false assumption that bitcoin is a traditional currency playing by traditional rules. Until bitcoin grows significantly, it is naturally very volatile. Single large traders can swing the value of bitcoin (compared to local fiat currencies) up and down much more than more heavily traded commodities and currencies. Because of this, no one currently denominates values of things in bitcoin directly, but always as a bitcoin value of a local fiat currency. That is, right now, I’d never expect a car sales person to offer a new car for 60BTC, but instead €50000, which I could choose to pay in bitcoin by giving him 58.578BTC (at today’s exchange rates – tomorrow it could be 40, 50, 60, 70, or something else entirely).

It’s worth noting here in case it wasn’t already obvious though that bitcoin is divisible. 58.578BTC is a perfectly valid number. In fact, bitcoin is technically infinitely divisible. Right now, the smallest agreed unit (the “satoshi”, named for the creator) is 0.00000001 BTC – that is, a hundred millionth of a bitcoin – but if necessary, it can be divided further. There is a growing trend in fact to talk about bitcoin values in mBTC (milli-bitcoins or 0.001 bitcoins) rather than bitcoins directly, since one mBTC is hovering around the value of a US dollar (actually around 90 US cents as I write this) and therefore a much more ‘approachable’ number in terms of what people are comfortable with.

As bitcoin is not used as a direct value in trade yet (due to the volatility), the deflationary nature does not impact its use. Many people do choose to hold a value of bitcoin, but they are also happy to spend it and then (optionally, but typically) replenish their values from fiat as doing so has no negatives over using the fiat and can have many significant positives.

The less sophisticated financial analysts and economists may at this point of the discussion choose to argue that this volatility is inherent in a system like bitcoin not because of the low usage, but in fact because it has no intrinsic value; that is, unlike gold which can be used for industrial purposes, jewellery, and so on, bitcoins are purely virtual and therefore are only worth what people think they’re worth.

I bring this argument up not because it has great merit, but because it’s depressingly common. It’s wrong on many levels. The first is that fiat currency also typically has no intrinsic value either. Once upon a time many currencies were backed by gold or silver, but every major currency is now floated and is unbacked. The intrinsic value of the paper or metals in the coins is so low as to be meaningless really. Fiat currencies work fine without intrinsic value, so bitcoin could as well. The second and more glaring point is that bitcoin does in fact have intrinsic value! That value is in the blockchain technology I mentioned earlier. What is the value of being able to – without a doubt – prove that a certain event occurred at a certain time? That’s exactly what the blockchain does. Messages can be written in to the blockchain along with transactions and thus the intrinsic value of a bitcoin transaction is the value of an immutable, permanent, and trustworthy (without requiring trust in any individual or group) record of an event. What this is in monetary terms is also arguable, but it’s certainly significantly more than the value of a piece of printed paper or a few grams of a reasonably common metal.

That said, I don’t actually consider this to have much bearing on the value of bitcoin over time, simply something that can set a lower bound on the value. This is identical in concept to fiat in that the lower bound of the value of a euro or dollar coin is what you get when you melt it down as metal, but if it ever actually drops to that level you have a lot more to worry about than selling scrap metal.

So far I’ve described how bitcoins are created, how the blockchain records their existence and transactions, and some points about their value; but how do you actually get them, store them, and spend them?

The first thing you need is a wallet. This isn’t actually anything like the fake-leather billfold you have in your pocket or purse, but has the same purpose conceptually; that is, storing your money. Wallets on the technical level aren’t quite what most users expect. It’s common usage for someone to say that they have a certain amount of bitcoins in their wallet, but the truth is that bitcoin wallets don’t actually store any bitcoin at all!

Bitcoins aren’t like specific files that are stored somewhere at all. They only exist as a description of their creation and transactions within the blockchain. Therefore – from one perspective – all bitcoins exist on all computers that are holding a copy of the blockchain. That doesn’t actually matter though, since – as mentioned earlier – you can’t cheat and manipulate the blockchain because your copy would no longer match everyone else’s and would be rejected.

So, if the coins are in the blockchain and not in the wallet, what is the wallet? The wallet is an implementation of a public key infrastructure (PKI) key store. That might sound complicated, but it’s actually beautifully simple and is the same technology used for thousands of other tasks such as ensuring secure connections to websites like LinkedIn, encrypting email communication, and authenticating yourself with smart cards or your mobile phone. You have two pieces of digital data called your public key and your private key. Really, they’re just numbers that can be used in equations. The public key can be determined from the private key, but not vice versa. Encrypting something with the public key can only be decrypted by the private key. Also, something can be signed with the private key and the public key can be used to prove that it was indeed signed by that key. This means you keep your private key to yourself and give your public key out to anyone at all.

The easiest way to consider this is the case of email. If I want to send you an email that only you can read, I get your public key (which you make as publicly available as you can, such as putting it on a website or an open database of public keys) and encrypt the message using it. Now that encrypted message can pass through a hundred computer systems and no one can read it because they don’t have the private key that decrypts the message. Once you get it, you decrypt it with your private key, and can read the message. You can then reply using my public key to encrypt, ensuring that only I can read your reply no matter how many people it passes through.

Because your public key is – by definition – public though, you might also want to ensure that you know it really is me that is sending you the email and not someone pretending to be me. Therefore, aside from only encrypting the message with your public key, I also sign it with my private key. Once you receive it and decrypt it with your private key, you can also use my public key to verify the signature is valid. Now you know that not only has no one else read the message, but also that it definitely came from me (or at least, someone who has my private key – you still need to trust that I kept that secret).

Getting back to bitcoin now: In terms of a bitcoin wallet, this exact same concept is used. Your wallet holds the keys and therefore proves you are the owner of the coins mentioned in the blockchain as well as ensuring that you are the only person who can send them to someone else. This also means that your wallet can be an unchanging entity. Since the wallet itself doesn’t get updated each time a transaction takes place – there is no data being written to the wallet file – you can store it in a variety of different ways.

The most common wallets are desktop computer and mobile phone wallets. The bitcoin core software is the reference implementation and the first wallet to exist. By design, it keeps a full copy of the blockchain however and is therefore quite large (and slow to synchronise the first time you start it), so is not recommended for beginners. The Electrum wallet would be my recommendation for a popular and simple desktop wallet, and I personally like BreadWallet for my iPhone. There are several others, but always be sure to do a little checking with Google first to ensure that it’s a known trustworthy wallet. It’s not technically hard to write a piece of software that acts like a wallet until one day it just steals all your bitcoin and sends it to someone else.

Another way that people store bitcoin is online. I can not advise against this strongly enough. There are many exchanges online where you can purchase bitcoins and these will also store your coins for you, making it easy to buy and sell at leisure; however, this is essentially trusting an unregulated bank to hold your money for you. There have been several high-profile hacks of online bitcoin exchanges (often incorrectly reported as bitcoin itself being hacked; but – as explained earlier – that is mathematically impossible) where people have lost huge amounts of bitcoins. If you don’t hold the keys to your coins, you don’t own your coins.

Here is where I know some of you are feeling a bit nervous. You want to get bitcoins, and I just told you not to trust online systems, but you also don’t really trust your computer. You’ve had viruses before and sometimes you make mistakes and delete things that you didn’t mean to. What if you’ve got hundreds of dollars in bitcoin and you accidentally delete your wallet so you can no longer access them? Or what if a piece of malware steals your wallet?

This is where the beauty of the simplicity of wallets comes in to play. They don’t have to even be on a computer! Digital currency doesn’t mean you have to store everything on a computer. There are two options for non-computer wallets: Paper Wallets and Hardware Wallets.

Hardware Wallets feel a bit more computer-like and are easy to work with, but they will cost some money (I own a Ledger Nano S, which retails for around €70, however I paid in BTC of course). They are physical devices that you connect to your computer to make transfers on and off the wallet, but the key itself can not be read from the device, nor can a new one be written to the device, and transactions must be confirmed on the device’s own screen, so even if a piece of malware faked what is shown on the computer, it can’t steal anything since you would deny the confirmation prompt on the hardware wallet when it tried.

Paper Wallets are yet another step removed in that it really is just a piece of paper with the cryptographic data written (or encoded in something like a QR code) on it. Using it can be more cumbersome since you need to either enter the data on your computer to make transactions and then destroy the old paper wallet (since it’s no longer truly secure after you’ve done that) and create a new one each time which you transfer your balance to; or conduct all of your transactions offline (either a completely offline computer, or if you’re feeling up to it, pen, paper, and optional calculator) and then only transmit the transaction itself to the internet from a computer. They do however make excellent long term storage of your coins.

For typical daily or ad-hoc use, neither of these are completely practical. Of course, there is nothing stopping you having more than one wallet. Personally, I keep the bulk of my bitcoin on my hardware wallet and a small amount on BreadWallet on my iPhone. If I ever need to (but I haven’t yet), I can transfer from my hardware wallet to my phone easily enough when I’ve got both with me and am in front of my computer.

Modern desktop and mobile wallets also do have back-up functionality in case of data loss. It won’t prevent malware from stealing money out of the wallet (so always keep your virus checker up to date and your wallet balance not too high) but it at least protects against accidental deletion or other such issues. Because the private key can be represented in many ways, the most common way that these programs allow you to keep a backup is by writing a series of words down on a piece of paper and storing it somewhere secure. These words are a recovery phrase that allows the software to regenerate your key should you ever need to. Note that hardware wallets also typically have this functionality, so should my Ledger Nano S ever get lost, stolen, or destroyed, I can buy a new one and get access to my coins again by entering the secret passphrase (which I’ve of course stored securely separately to the device).

Given that only twenty-one million bitcoin can ever possibly exist, there are really only two possibilities for the value of bitcoin in the long term. Dropping to near zero as everyone decides it is a pointless experiment and has no value, or increasing to the point that one bitcoin is worth one twenty-one-millionth of the economy that it covers. Assuming that it does not drop to near zero, we should then try to determine what kind of economy bitcoin could cover in the future.

Hopefully it should be clear from the description thus far that there are currently two main obvious ‘uses’ of bitcoin. Speculative trading – trying to predict the volatility to buy when it’s low and sell when it’s high – and as a long term investment due to the continuous upward trend despite the volatility.

There is one view however that – while less common – is important from a philosophical standpoint. That is that the true value of one bitcoin is: one bitcoin. That is to say, when bitcoin is finally ‘mature’, it will no longer be necessary to consider it in terms of its value in euro, dollars, yuan, or any other national/multinational currency but instead as a value in and of itself. Once there are sufficient users, the volatility should drop to a similar level or lower than other currencies and you will no more consider the value of it in a fiat currency in the same way that no one in Germany really cares about how much their groceries cost them in terms of US dollars and no one in the US really cares about how much their groceries cost them in terms of the euro. The exchange rates do still exist and have meaning, but the other currency is not a meaningful factor in daily life.

Aside from the obvious uses, bitcoin is seeing significant use for two other purposes. The first – and perhaps smallest, but growing use – is direct purchasing of goods and services. Aside from the somewhat well-known illegal dark net markets, there are surprisingly many places that bitcoin can now be used directly to purchase goods and services online. In Hannover, Germany (where I live), the local power/utilities company accepts bitcoin. You can purchase meal replacements with it. You can use a shopping proxy to get discounts from Amazon (not all regions of the world). And many many more. If you really want to, you can even get bitcoin backed debit cards and use them anywhere you’d use a card normally; however, the practical point of this is still limited at the moment.

The other use is perhaps one of the most interesting: international money transfer. Transferring money internationally is an expensive and slow proposition. Most banks and other institutions will give poor exchange rates on top of the fees in order to maximise their profits even further. Further complicating things is that in many parts of the developing world, there are significant people that do not have bank accounts (but do have mobile phones – especially in Africa), and in many other parts there are strict controls on the transfer of money in and out of the country. Yet more complications arise in tax codes when paying contractors or suppliers internationally. By using bitcoin as a medium of international money transfer, virtually any amount of money can be sent anywhere in a matter of minutes with only a few cents of transfer fees and generally well under 1% in exchange fees (depending on location).

This itself has many sub-uses, such as: avoiding the hyperinflation when dealing with Venezuela; paying suppliers in other countries quickly and efficiently; sending money to family members overseas; and much more.

Am I suggesting you buy some bitcoin? To be honest, yes, yes I am. As any rational person would tell you, never put in more than you are comfortable losing completely. If the loss of $50 would mean you’re in trouble, don’t buy $50 worth of bitcoin. But maybe you can afford $5? $1?

Or maybe you could buy more. Maybe you often go out on weekends and hand out $100 on taxis, drinks and door fees throughout the night. Perhaps skipping one weekend and putting that $100 in to bitcoin is something worth considering. A common myth is that because bitcoin is “expensive”, it’s now too late and all the big gains are gone. Something to remember is that people were saying this when bitcoin reached parity with the US dollar, that is when 1BTC equalled $1. If you’d put $5 in then, you’d be able to sell it for around $4500 right now (but I’d advise against it).

Remember the number of bitcoins that can exist, and the potential value question that I didn’t answer above? If bitcoins economy reaches even 1% the economy of the gold market (and hopefully I’ve argued enough that bitcoin is significantly more useful and valuable than gold), it would have a total market value of $90 thousand million USD, implying a value for each complete bitcoin of around $7.7 million USD. If you were to put $5 in right now, you’d get 0.0055BTC which would be worth $42350 then. My personal expectation for the long term (10 to 20 year) value of bitcoin however is far higher even than that. If I’m right, that could be the best $5 you ever made. If I’m wrong, you’ve lost $5.

My only strong advice would be to avoid the temptation to play it like a stock. You could make a lot of money that way, but you also could not only lose it all, but also lose any potential for the future. With the current volatility of bitcoin, it’s not uncommon for people to see it rising rapidly, expect that it’s on a meteoric rise, buy as much as they can, only to watch it crash down again. In their fear of losing it all, they sell for less than they bought to try to cut their losses, only to then see it rise up again some time later. If you’re going to try to play the trading game, buy after you’ve seen it crash, and sell once it’s risen well above where you bought it. It’s still really just gambling though, like any high volatility stock and the risks are too high to be something I’d ever seriously suggest.

In the price of bitcoin over the years, there have been a few small ‘bubbles’ and one very large one. The large one was caused mostly by market manipulation. In 2013, there was really only one popular bitcoin exchange online (there are now dozens) – MtGox. MtGox used automated systems (bots) to manipulate the market as well as flatly faking information on their site and lying to customers. With no competition, it was not obvious as it would be now and once bitcoin had reached an all-time high over well over $1200 USD per coin, they ceased trading, made various claims about the coins being ‘stolen’ by hackers and similar and then later filed for bankruptcy. The price of bitcoin plummeted to the low $100s. Legal proceedings took place, but the market took a long time to recover.

At the end of 2016, another small bubble hit. The crash at the start of 2017 is fresh in the memory of everyone following bitcoin and could even be said to be still underway, but any comparison to the events of 2013 only show how strong bitcoin has become since then. In mid-December 2016, 1BTC was around $770. By the new year, the price was around $1150. Only a few days later, it had fallen to $800 but now (2017-01-08) has risen again to around $900 and appears to be becoming moderately stable again.

The news media loves reporting ‘scary’ news though and the amount of “bitcoin crashes!” and “huge losses!” statements have scared many people away from bitcoin that haven’t had a more detailed and clear view of the value over time.

In fact, when looking at the value of bitcoin over time on a logarithmic scale (the only sensible way to view this kind of chart) rather than a linear scale, the bubbles are clearly visible, but so is the general upwards trend. This is the only logical view of the value of bitcoin if you’re treating it as a long-term investment rather than a day-trader’s stock.

So what does the future for bitcoin hold? No one can say for sure, but there are some interesting events and trends expected in 2017 that may have some influence.

  • The US Securities and Exchange Commission will decide in March whether to approve an ETF (Exchange Traded Fund) for Bitcoins set up by the Winklevoss Twins.
  • Also in March, an update to the Bitcoin Core software adding some minor features that will improve usability.
  • Sometime this coming year, it is likely that “SegWit” (Segregated Witness) will activate on the network. This protocol is added as a ‘soft fork’ and so requires consensus from the miners to activate. When it does, the bitcoin network will be able to handle a much larger volume of transactions without getting ‘clogged’.
  • Continuing instability or other problems in several major financial markets (e.g. Chinese Yuan, Euro, possibly UK Pound) as well as extreme problems in some minor ones (e.g. Venezuelan Bolivar, Mexican peso, many more).

At a bit over 5000 words, this article is long enough already, despite that I have much more that I could say on the topic. I would appreciate questions, comments and ideas from any and all.

What is Consciousness?

The study of consciousness is fascinating in that there are so many different places you can start and so many different disciplines you can employ: neuroscience, informatics, philosophy, and many more.

The most obvious and basic question is the one that is hardest to answer. It may in fact be unanswerable by its nature, but that doesn’t mean there can’t be tangible results from the investigation itself. That question is, “What is consciousness?” and forms the most fundamental aspect of what is referred to as the hard problem of consciousness.

It may on the surface seem like a trivial question and one more suited to someone writing a dictionary than any serious research, but stop to think about it for a while and you’ll likely start to see where the problem is.

To pick a clear and straightforward starting point for the analysis of the difficulties, we can make the statement that other than your own consciousness, you have no evidence of anyone else’s. You (quite likely) naturally assume that others are conscious in a similar manner to yourself, but there is no test that you can perform to show this. There is no way to determine the difference between an automaton that is programmed to behave by complex rules (that you may not understand) versus a being that ‘experiences’ phenomena. This automaton is often referred to in this kind of research as a “philosophical zombie”.

In trying to solve this issue, the clearest roadblock is that a definition of ‘experience’ is required. If I hook up a digital camera to a computer system and write a piece of software that passes all pixel data with an RGB value where blue is a certain threshold higher than red or green to a processing system, can I state that the computer is ‘experiencing’ the colour blue? If not, then what makes this different to the photoreceptors in our eyes sending the appropriate signals to our visual cortex and then on to our higher cognitive functions?

A trivial understanding of neuroscience is sufficient to argue that the first steps of these processes are similar, but the difference lies in the final step, wherein the data is passed to a processing system in the computer and the higher cognitive functions in the brain. The processing system is not conscious, but our higher cognitive functions are.

This is where the concept of qualia need to be introduced. Qualia are the internal, subjective interpretations of sensory data. The camera and the eye fulfil the same role in capturing the data. The visual cortex and my blue-detection-software fulfil the same role in processing that data. But – as far as most people are concerned – the computer does not experience ‘blueness’, where people do. The computer must be told what the data means, whereas a human will experience what it is for a thing to be blue without ever having experienced it before nor needing a name to be assigned.

Unfortunately, while all of this sounds reasonably explanatory, it has a gaping hole in that it is simply begging the question. On re-examination, we’ve really only stated that human minds are conscious and computers are not without ever actually giving a reason to either. Furthermore – and perhaps even more shockingly – since qualia are by definition ineffable, it is not even possible to determine that your qualia are the same as anyone else’s (maybe your experience of red is the same as my green), nor even whether they have qualia at all!

Perhaps at this point, we realise the philosophical approach isn’t working and turn to neurobiology to give us some answers. There have been great strides in the last decades on understanding which parts of the brain are responsible for the sense of self and even to some extent how it is built. The default mode network is a network of brain regions that can be seen to be active in specific patterns during specific tasks that correlate highly with the types of thoughts you have where you are more aware of your own self or perhaps stated in a more relevant manner for this thought experiment, more conscious. When you are acting ‘on autopilot’ without daydreaming, or concentrating on externalities, it’s easy to realise in later reflection that your sense of self was significantly limited during these times. Functional magnetic resonance imaging (fMRI) studies show that these are the times that the default mode network is at its least integrated.

Are qualia therefore something that can be explained within patterns of the default mode network? Perhaps so, but ultimately it doesn’t give us any clearer answers about what consciousness is, only a slightly more precise measure of where it is found (given that we already accept it is ‘somewhere in the brain’). And further still, there is no specific reason from the arguments thus far to believe that a philosophical zombie would have any difference in these brain areas to a conscious being. A computer simulation of these areas of the brain is theoretically possible (although far beyond our current technological capabilities) and again the question would arise as to whether the computer running the simulation has gained consciousness or if it is merely emulating it.

There is another area of neuroscience that can perhaps shed light on the question in another way. Some computational neuroscientists are beginning to lean more towards a theory that at first sounds like the kind of woo you’ll hear from hippies that have taken too many psychedelics in their lives but becomes more and more attractive the more you examine it. The theory is called Integrated Information Theory. The basic overview is that consciousness is a fundamental property of the universe and is produced by complex physical systems in the same manner that gravity is produced by mass. Put another way, consciousness is an emergent property of the complexity of the brain rather than being a function of the brain.

Would this mean that any complex system is conscious? Not necessarily. The movement of particles in a star like our sun is vastly complex, but what’s lacking is complex recurrency or feedback systems. That is, a system’s consciousness is determined by the level of feedback and integration within the system itself. In integrated information theory, the Greek letter Φ (phi) is used to quantify the level of consciousness of any system, as consciousness is – by this concept – a measurable and variable thing. Systems are not simply ‘conscious’ or ‘not conscious’ but in fact have a defined (if not immediately measurable) degree of consciousness.

Imagine a small circuit containing a pH receptor that when activated releases a small amount of acid or base to the environment in which it is in. This circuit can be defined as conscious under this theory due to the simply feedback mechanism, however has the minimum level of consciousness that can exist. Meanwhile, the human brain with its hundred thousand million neurons, each hosting on average seven thousand synaptic connections to other neurons is by far the most complex integrated system that we know of and under this theory is hardly surprising that it is conscious.

This all seems to fit nicely and is very elegant, however is there any evidence for this in experimental data? To a degree, yes, but it’s far from conclusive yet. There have yet to be predictions from integrated information theory that later turn out to be the case; however, predictions of known results can be made from the theory that bear out in reality even when they were not used in building the theory to begin with.

For example, it is predicted from the theory that despite the fact that the cerebellum has a huge density of neurons and synaptic connections, it should not be involved heavily in consciousness, because the structure of these neurons and synapses is extremely ordered without feedback loops and integration. That makes the cerebellum a greatly powerful calculator, but not capable of significant levels of consciousness on its own. Removal of the cerebellum causes significant motor function issues, speech difficulties, and other problems associated with a lack of ‘fine tuning’ in the individual but does not affect reported consciousness in any way at all.

Another excellent example is that the theory would predict that severing the corpus callosum and effectively splitting the brain’s hemispheres apart should produce two distinct consciousnesses within the individual rather than only one. In cases where this operation has been performed (for example, against intractable frequent epileptic seizures), all signs point to there now being two consciousnesses inhabiting the one body.

This has only been the most simple of overviews of this vast and complex topic and is not intended as an in depth analysis of the nuances of the research in any way. If I have sparked your interest, I am happy to talk more at length about any aspect of these topics and I also invite you to read the links I have peppered throughout this article and any of the amazing articles at the Association for the Scientific Study of Consciousness.

Lost in Translation: The meaning of what we say

The purpose of words is to convey meaning, and therefore it stands that all words have meanings that are commonly agreed upon by those who speak the language and know/use those words.

Knowledge of any language – even your native tongue – is never truly complete. There are for example many cases where domain specific words exist that aren’t more generally known and used.  Just as one illustration, even if you’re a native English speaker, you’re unlikely to be immediately familiar with the word karyokinesis unless you’ve studied cellular biology at some point.  Even beyond domain specification, education and environment may also result in different subsets of more general words being used. Some may find the word esoteric to be esoteric itself whereas others may give no further thought to its use than the word cat.

Those situations aside though, if you’re able to read this article, you can likely agree that you know the meanings of the words strongskip, and house (to pick an adjective, verb, and noun somewhat randomly) and that if you use these words with other people that speak English you will have a mostly common understanding of the terms. You would not expect that when you talk about your house, your conversation partner answers with anecdotes about how their house sleeps on the end of their bed at night and has a very loud meow.

If I were to ask anyone that speaks both German and English for translations of these three words, they’d probably give me starkspringen, and Haus. And in many cases where these English words appear in text or speech, these German translations as given will be perfectly appropriate. However, not all cases. Go to any online translation dictionary website and you’ll find that strong could be starkkräftigfesthartderb, and many more.

So, what’s going on here? Some people may look at this list of possible translations and think that German contains a lot of unnecessary words. Why have so many words that all mean the same thing? Others may look at it and think that English is very imprecise, since it has one general word instead of multiple more precise words.

Both of these thoughts are of course incorrect, but both do hint at the real truth going on. That truth being that the underlying meaning of words is different in different languages. There is in fact no word in German that means exactly the same as the English word strong, but equally so there is no word in the English language that means the exactly the same as the German word stark.

Thinking about it briefly, you might expect that while this holds true for adjectives like strong which are reasonably loose and broad in scope, it can’t possibly be the case for more concrete concepts like nouns.  Surely house and Haus must mean the same thing after all. Actually, no!  The German word Haus is far more generic than the English house and encompasses many types of buildings that would not typically be referred to as houses in English, including apartment complexes and office blocks.  Technically it does not include large halls and industrial buildings such as factories which are more correctly referred to by the even more generic Gebäude (building), but in common speech it isn’t uncommon to even hear those called Haus as well.

This concept is called semantics. A semantic value is the underlying meaning of something whether that thing be a word, phrase, or anything else. Formally in the study of linguistics, semantics can be further divided in to different branches and ideas such as formal semantics, lexical semantics, conceptual semantics, and compositional semantics just to name a few; but those details are for another article another day.

It is worth a final note that semantics is only one aspect of meaning. Aside from semantics, a perhaps more important concept for understanding meaning is that of pragmatics: the meaning conveyed by context. If I’m sitting down at dinner and my son spills an entire cup of apple juice on me, I may exclaim something like, “well isn’t that great” and/or, “how lovely”. I am using the words ironically, as in reality I mean that it most certainly is neither great nor lovely to have apple juice spilled on me. The semantic meaning is not the same as the intended meaning. I may then further employ a metaphor and call my son a “mucky pup”. Again, the semantic meaning alone doesn’t help here as my son is not literally a dog, just a messy child. Both irony and metaphor are components of pragmatics rather than semantics.

As a side note, I do find it humorous that just as stutter has too many ‘t’s and lisp has a very cruel ‘s’, pragmatics is essential for determining that pragmatics in this context is talking about the linguistic concept and not a group of pragmatists.

In the field of translation, some pragmatics are critical such as common metaphors that may exist in one language but not others; whereas others such as irony may present fewer difficulties. Regardless, both semantics and pragmatics are key to dealing with translation in general, and in the broader concept of linguistics and meaning are both interesting and useful to fields as diverse as neuroscience, computer science, sociology, and big data analytics.

The False Dichotomy: Technical Requirements versus Business Requirements

Something I hear far too often – and most recently just this Friday past from a member of senior management that should know better – is talking about all requirements as either being “technical requirements” or “business requirements”, where business requirements are those that are important to the business aspect such as increasing profit or improving customer satisfaction, and technical requirements are those that are grounded in a technical base such as the need to support a particular platform or a demand for a specific interface to other systems.

The specific case on Friday was when I was talking about a part of my role being “maintaining a coherent and comprehensive understanding of the requirements of the users of our solution platform APIs”, to which the question was asked whether I am talking about business requirements or technical requirements.

This distinction is not only wrong and unhelpful, but in fact dangerous and negative to the operation of the business as a whole.  It pushes a separation that does not exist, assuming that ‘technical’ people and ‘business’ people have differing goals and that the business people keep the business running, while the technical people make sure everything keeps working.  This non-existent separation leads to technical people being ignored or otherwise not listened to when commenting on business matters; and further to business people assuming that technical implementation isn’t business critical and can safely be left to ‘the techies’ without consideration at a business level.

The last time I checked, “making sure that everything keeps working” is a pretty important facet of the business.  Aside from this though, the simple fact is that every business decision in a technical organisation is a technical decision, and every technical decision carried out in a business is a business decision.

An example of the lack of consideration for technical implementation that shocked (and to be honest, frightened) me not so long ago was in a meeting at the end of an ideation project, where a member of senior management (a different one to the one mentioned at the start of this post!) claimed – quite offhandedly – that since a great idea had been created, we were already most of the way to having the product.  This manager assumed that without having even drawn a single wireframe, sketched a single rough workflow, or written a single user story, that we could hand the idea – with a pretty mock-up video – over to a development group who would, with no further input, create the product he now envisioned in his head based on what he’d been shown.

I’m a creator.  A software developer who has worn many hats from 3rd level IT systems support (with quick ad-hoc code to solve issues) through developer support, classic developer role, architecture and design for small projects, product management, team/department management, and finally now in to solutions architecture on a large and complex project.  So, when I talk about ‘requirements’, I naturally talk about it from the perspective that I have from this background, but the fact is that that background gives a different perspective than many seem to assume.

Developers and other creators are business people.  Technical people are business people.  Attempting to make a distinction between the two is artificial.

When I design a piece of software, I do it to meet the business needs.  The requirements given to me may be functional requirements – “what the product should do” – or non-functional requirements – “how the product should behave” – but either way, they are both technical requirements in that they must be implemented in technology as well as being business requirements in that they are being required because of business needs.

Throughout this piece, I’m not trying to say that the term “business requirement” has no use.  It most certainly does.  I’m actually more arguing the point that the term “technical requirement” has no use, as business requirements can be broken down to the functional and non-functional requirements as a more detailed (and perhaps ‘technical’) view of the larger business requirements.  The point is that they’re not distinct and separate entities, but rather different views of the exact same thing.

There are some things that seem on their face to be more purely technical requirements.  For example, if a particular system library that will help perform the operation needed is currently only available on 64bit Linux systems, it might be easy to say that there is a technical requirement for 64bit Linux on the product.  It was never specifically requested by the customer, but is nevertheless required.

Note though that this requirement is still based on the fact that a particular operation is needed.  This operation being requested is a requirement for the business.  We could fulfil it either by sticking to a 64bit Linux platform or recreating the functionality of the needed library on another platform by perhaps porting it or even rewriting it in part or full.  The former gives us a technological constraint (again, not a requirement), the latter increases time, effort, and therefore cost.  Which we ultimately choose is a business decision.

Going back to the question I was asked on Friday, we start to see more clearly how the question itself doesn’t make sense.  If we were talking about technological constraints, this isn’t something we need to continually update – our APIs (like any APIs) do have some specific constraints, but they don’t change with time or need significant management and maintenance.  Clearly, I was talking about the functional and non-functional requirements that people who use our APIs have in order to deliver the products that they are trying to deliver.  As the APIs are our products, their requirements become our requirements.  Trying to call them “technical requirements” or “business requirements” is missing the point.

Another type of requirement that often gets misunderstood in this false dichotomy are internal requirements – especially those that are non-functional in nature.  A good example of this is the requirement for maintainable source code.  Our customer never requested this, and a short-sighted management is unlikely to know or care about how maintainable our code is, so it seems like only the technical people really push for this.  Surely this can’t be a business requirement as well?

Of course it is!  If the code is hard to maintain then the next time we want to do an update, it will take much longer and cost much more than it otherwise should.  Developer morale will be lower having to work on fixing and patching bad code instead of new and interesting features and in the worst case, it can even lead to higher employee turnover, increasing costs and time even further due to retraining and other costs associated with hiring new employees.  It may be an internal business requirement rather than an external one, but it’s still very much a business requirement.

As mentioned earlier, requirements are more properly and usually broken in to “functional requirements” and “non-functional requirements”.  It can be tempting for those that like the false dichotomy to use these as an easy split for technical vs business.  However, this more accepted division is actually also somewhat ‘faked’ and arbitrary at a deeper level.

Non-functional requirements talk about things like meeting a certain level of uptime, having particular security models, meeting certain user experience standards, and so on.  Actually implementing any of these things comes down to choices about functional behaviour in the code.  We make the distinction not because it has meaning at a deep level, but rather because it has distinction at the level of what the requirement is and what the customer ultimately cares about.  The customer asks for and cares about 99.8% or better uptime, they don’t really care so much how that is achieved as long as it doesn’t conflict with other requirements such as cost (redundant servers with good failover code help ensure high uptime, but at a much higher cost).  But in the end, it’s still specific functionality (such as the failover code) that will actually achieve this.

The exact same thing can be said of all requirements of the product, regardless of which area it comes from.  Different licensing options?  Sure, it’s a business decision which will be implemented, but it’s still down to the code to make sure it goes in.  Different mobile device platforms for a new game you’re building?  It may be easier to choose one or another, or even an abstraction layer, but ultimately it’s a business decision based on what end-users your customer wants to reach balanced against differing effort levels (read: “time/cost” as always) to provide it.

I am regularly involved in discussions about needs for a new function to be added to the products produced by our parent company.  A good example of where this incorrect understanding can cause problems is from many years ago during one such discussion.  The request was for the possibility for a user to enter additional metadata during a process based on previously entered data but before the process runs in full.  That is, an optional ‘second step’ of data entry before processing takes place.  Use cases were written and after agreement it was submitted to the development team.  Unfortunately, the developers themselves had not been involved in the discussion and only saw the use cases.  These had been written by people that believe that implementation details are not relevant to business and so were written to a very high level only.  The result was that what we got from the developers was a second data entry stage as requested, but one that had to be predefined in advance and could not be dynamically generated based on the first round of data entry.  It fulfilled the use cases as written, but didn’t actually meet the needs of our customers that had been requesting this functionality.

Hiring software developers. What exactly do you want and what should you expect?

Having worked many years as a software developer myself and having interviewed many other people for software developer positions, I often find that there’s a dearth of understanding outside of the field about what it is that a software developer really is.

Before you even start hiring, be sure you’re getting what you want.  There are generally recognised differences (even if not formalised anywhere) between software developers, programmers, software engineers, and computer scientists.  If you want one, but advertise for another, don’t be surprised when the majority of the candidates applying for the job don’t fit at all.

Programmers write code.  They specialise in this.  They’re very very good at it.  But don’t ask for creativity.  Don’t ask them to turn vague specs in to a working product.  They will take a specification and give you exactly what that spec says.  If the spec wasn’t right, you won’t get what you wanted.  As a great man once joked: A programmer is a device for turning caffeine in to lines of code.

Computer Scientists are all about the algorithms.  These are mathematic and logic experts that devise an algorithm for anything.  Their code may often be slower than that of a programmer though, with user interfaces that are from some kind of 1980s console nightmare – they care about the beauty of the mathematics in the code and doing things that seem like magic to those that don’t understand it, not ‘unimportant’ (to them) things like user experience.  It is said that computer science is as much about computers as astronomy is about telescopes.

Software Engineers are usually specialists in one or more particular fields.  They will help you generate working code.  Perhaps again not quite to the level of a programmer, and perhaps not with as much ‘depth and magic’ as a computer scientist, but with an overall well rounded level.  The focus is on the big picture and the architecture of the system being created.  Software engineers are engineers just like bridge-builders are.  If you build a bridge wrong, it will collapse and software engineers view their code with the same level of concern.  It’s all about the correctness of the implementation and making sure it’s robust and long lasting.

And lastly are the Software Developers.  Software developers are the most generalist and have “a bit of everything” from the above.  They may not be superstar programmers, so they’ll code a little slower.  They may not be mathematical geniuses, so will struggle a little more than the computer scientists at complex algorithms.  And they may not always be as thorough as the software engineers.  But they will (or perhaps ‘should’) be able to do all of these things are more.  Most experienced software developers also have significant skills in project management, specification translation, design principles, and more.  If you have a mix of the above types, a senior software developer is absolutely the right person to lead and direct the team.

Once you’ve decided what kind of employee you want, and written the appropriate job advertisement, there are still further things to consider.

One of the biggest problems is that development itself is such a wide field.  If you’re looking for someone to integrate a custom application’s data output in to your SAP system, someone that’s spent their career writing image processing algorithms isn’t going to help you much more than asking your cleaner to do it – and vice-versa.

There are of course cross-overs in skill-sets.  A web developer who has focused her career on a mix of user interface and server/client connections can probably pick up mobile application development reasonably quickly, and someone who has been doing print drivers for a long time will transition quite easily to data format conversion work.  But if you’re in charge of hiring a software developer and you’re not from the field yourself, how do you know what skills can transfer, what skills can’t, and even what it is that you really need?

The most important thing here is communication.

First and foremost internal communication, get your existing developers involved in the hiring process.  Have them look over candidate CVs with you, get to know their own backgrounds and skills beyond the day to day work that they do, and then look for people similar to them.  Ask them what skills and knowledge they use in their daily work – it may surprise you, as often it will be things that you never even asked for when you hired them to begin with.

But don’t forget communication with the candidate as well.  In the interview, don’t focus as much on their background – they’ve told you that in the CV, which you’ve already read.  Instead tell them what it is that you need them to do.  Ask them if they think they can do it.  If you’re in charge of hiring, you already know how to spot the difference between someone saying “yes” because they just really want the job vs someone saying “yes” because they really mean it.  Focus on that.  If they say they can do the job and you believe them, then they’re probably a good candidate.

Regardless of whether you’re getting a programmer, a computer scientist, a software engineer, or a software developer; you also need to be aware that – as with any employee – they are people, with a wide range of backgrounds, interests, and personal situations outside of work.  Often, the mistake is made of thinking of them as all being “classic nerds”, and while there probably are quite a few more nerdy types in these fields than elsewhere, it’s dangerous and unhelpful to stereotype your employees in that way.  Some people will work best huddled away in a small back-office kept away from human interaction, but others may be the talkative types that everyone chats to and laughs with around the coffee machine/water cooler.  Some may like playing Dungeons & Dragons on the weekends, and others may go snowboarding (and some might do both).  If you have false expectations in advance, you may find yourself losing some excellent talent by having a work environment that isn’t suitable for the person you’ve hired.

One thing you can be reasonably certain of is a level of creativity and free-thinking.  Even programmers – who, as mentioned, focus mainly on implementing a specification as written – require creativity in translating specifications to code, and the other types even more so.  Creativity is something that every good software creator will have as they can’t be effective in their job without it.  Creativity generally goes hand-in-hand with free-thinking and as such, you should generally expect your software development team to be a little more chaotic and a little less cookie-cutter than some other teams in your organisation might be.

There’s a general view that software types don’t stay in one company for long.  Looking at the statistics, this also usually looks to be true, with developers moving jobs every few years on average.  It is my opinion however that this is not inherent in the mentality of developers, but rather that most employers don’t do enough to keep the talent that they’ve hired.

The biggest reasons that developers move on is waning interest.  Creative people want new things to do, new tasks to occupy their minds.  That’s not to say they want to be constantly bombarded with different kinds of work and having to learn a new skill every week – they’ll get burned out just as fast as any other employee thrown in to that impossible situation; but rather that they simply don’t want to be stuck doing the same kind of work day in and day out for years on end with no obvious reward or goal.

Giving developers the chance to be involved throughout the life of a product – even after development has finished – gives them the chance to feel more involved in the products they’ve created.  Let them build a bond with their creation, and when your organisation is doing well because of it – whether it be that you’re selling a lot of the application they built, or the internal website has dramatically improved some processes – give praise (and bonuses if you can) to the developer or developers that worked on it.  Show them that what they did has real value.

If you pay attention throughout the process of hiring, and during the working life and further personal development of the employee, you will not only hire the right people at the start, but be able to retain that talent for many many years beyond.

Design a site like this with WordPress.com
Get started