What really is Bitcoin …. Bullshit-free !

In the wake of the current BTC/$ price surge, economist Mark Reiser — and others — has said Bitcoin future price is likely to reach 100,000$ or even higher levels. According to Mark Reiser again, the current rush on Bitcoin means that the market decided Bitcoin was a better store of value and mean of payment than the $ or other fiat-currencies and indeed there are lots of advantages to use Blockchain systems as accounting systems instead of fiat-currencies :

  • Blockchain is decentralized and allow to set up preprogrammed issuance schemes whereas central banks can issue and inject sovereign currency where and when they want in the economic system.
  • Blockchain is a cheaper, surer, safer and more transparent accounting system than any other in human history.
  • Finanacial rules of Blockchain systems can democratically be decided at consensus level and inforced in Smart-Contracts to adapt financial regulations when needed to.

For those reasons, it is very sane to prefer crypto-currency than fiat currency as money. On that I cannot agree more with Mr Reiser. But I strongly disagree on the fact that crypto-currency is currency, or on the fact that Bitcoin in particular, is, or will be some day, a currency. It is worrying for the health of the economy that a world famous economist say publicly that Bitcoin is a currency or that it is a good thing to have a 100,000$ Bitcoin, because such a thing would have very undesirable consequences. Indeed the current euphoria characterizing the “crypto-asset” market is driven by people dreaming of Bitcoin becoming the first currency in the world by capitalization value, but few current “crypto-enthusiasts” properly understand the consequences of Bitcoin success. However, when one really understand how Bitcoin works or what a currency is, one have solid reasons not to hope that Bitcoin will continue to earn traction. So, let’s really understand what Bitcoin is and what it is not :

(if you already know precisely how Bitcoin network works and what a Blockchain is you can skip this part an go to the next head-title)

Blockchain Technology

Bitcoin was the first decentralized ledger powered by Blockchain technology. As any other Blockchain network, Bitcoin consists in several “bricks”, which combined, give us a robust, persistant and decentralized accounting system. Those parts are:

  • First, a ledger, called the blockchain, recording all the transactions ever occured between peers of the network. This ledger is replicated on every “mining” node ans thus it can’t be fudge. This ledger is called a “Blockchain” because it is made of block of transactions chained one to another. If you think of this ledger as a notebook, a block would be a page of transactions.
  • Second, some cryptographic tools. In most Blockchain networks, cryptographic methods allow users to prove ownership of a coin without communicating their identity to a central authority, such as a bank. Such Blockchain networks are said “pseudonymous” because every account (called wallet) is represented as an hexadecimal string (ex: 0x76ef876da8a9e45…) on the Blockchain and thus is not linked to any person’s identity. Those systems are said pseudonymous rather than anonymous because it is possible to link a person to a specific blockchain account by using Data analytics. Cryptographic functions also intervene in the Blockchain state transition (i.e. the processus of adding a “correct” block to the chain, which can be understood as adding a page of transaction on the ledger along with some proof that the transactions written on this page are exactly as they occurred in the network).
  • Third, a Consensus algorithm. A consensus algorithm, or a consensus engine, is an algorithm responsible for enforcing new blocks on the chain on the base of a consensus amongst the miners. There are different categories of consensus engines, such as Proof-of-Work or Proof-of-Stake, and different algorithms in each of those categories (for example Litecoin PoW algorithm isn’t the same one than Bitcoin's).

Any public Blockchain have this fundamental bricks, but most Blockchain are very different from one to another especially because they don’t have the same initial parameters/features such as cryptographic methods, consensus engine, total coin supply, coin issuance scheme, incentive mecanism for block validation, block validation frequencies, etc.

Let’s describe how this works through the Bitcoin example :

Bitcoin’s Blockchain:

Public wallet adresses are stored on a shared database — the Blockchain, in an hexadecimal format (i.e. 0x7683Fea56…). Those adresses have the same role than IBAN in a banking network, i.e. identifying the different end-point of the Bank-wire network, at the exception that each IBAN is associated with a Bank and a client identity whereas a Blockchain public adress isn’t. In fact, each user can have multiple wallets.

For each wallet, there is an associated private key, which is needed for identification purposes. When ordering a transaction, the user doesn’t authenticate itself to a central trusted party — such as a Bank — but to the network itself. A public adress and it’s private key are linked with a special mathematical relationship, and thus each node of the network can verify that the transaction has been signed with the proper private key. Such a private/public key authentification system is considered perfectly secured because it is proven that recovering a private key when only knowing the public adress is unfeasible from a computational standpoint.

After being signed with the proper private key, those transactions propagate through the network and are collected by miners. All the transactions received in a given period are then aggregated in a block of transaction and miners compete with each other to propose their own blocks. In Proof-of-work systems they do so, by running a large amount of computational operations called hash’s. As an input of the hash function they use the hash of the precedent Block and as a result they obtain another hash that they will include in their block— this way all the blocks form a “chain” of hash’s. This hashing operation is looped until the function return an hash verifying specific conditions. Those conditions are so, that a correct hash can only be obtained by running a given amount of hash operation ; so by proposing a block headed with a hash respecting the aforementioned conditions — which can be verified almost instantanouesly by other miners — a miner proves that a minimum amount of energy has been spent to obtain this result. As a consequence, if a malicious user want to propose false transactions or incomplete blocks, he has to spent more ressources than the other miners in hashing operations. In fact, to insert a “false” block onto the Blockchain, a user or a coalition of users has to control more than 51% of the total hashing power of the network. Furthermore, if a malicious agent want to temper with data recorded in an ancient Block, he has to recalculate all the hash’s of the Blocks placed between the one he tries to change and the last Block mined. This means that the older a Block is, the more persistant it will be.

In essence, this “Proof-of-Computation” given by the hash-chaining insures the integrity of the Blockchain : since it’s impossible to find a correct hash without running a certain amount of computation first, tempering with the Blockchain costs more than it benefits. With other kind of consensus engines, the “voting power” given to each validator is determine from other criterion, but in each case, those algorithms are so that, from a game theory standpoint no rational agent would succesfully temper with the Blockchain, and hence, they are critical in any Blockchain network.

For the network to maintain correct accounting state, it also needs a “common clock”. Indeed, since miners are anonymous and untrusted parties, one cannot rely on the specific clock of a node, and when it comes to accounting, the chronological ordering of transactions is of the essence : Suppose that I have 10 BTC on my wallet and that I make a transaction of 10 BTC to Alice and just after I make a transaction to Bob with the same amount. I obviously don’t have enough fund to realize both transactions and the rightful owner of my 10 BTC should be Alice, but without a trusted common clock it is impossible for the miners to know which one of the two transaction occurred first !

The system of block itself solve this “common clock issue” in a very elegant fashion:

At the beginning of the Blockchain, we have a genesis block, in which, one can find specific information about the Blockchain, such as the total amount of coin in the network. However, the total coin supply is not necessarily issued yet. In most Blockchain there is a pre-programmed issuance scheme. And the idea is, that for each block mined there will be a given amount of new coin created. This amount of coin newly issued, called Block_Reward, will belong to the miner responsible for mining the block, and thus, this Block_Reward mecanism incentives miners to spend ressources to mine blocks. When the total amount of HashPower across the network rise — which basically is the number of hash operations that all the miners combined can do in a second — it changes the value of a parameter called the Block_Difficulty (or mining difficulty). This variable represent the number of hash operations needed to mine the next block. And, since the last Block has been timestamped when committed onto the Blockchain, it is possible to determine the total amount of HashPower employed by the miners for the last period — by dividing the Difficulty by this duration. Now, supposing that the HashPower will remain constant in the next period, the duration between this block and the next one will be excatly the same than for the precedent period only if the Difficulty don’t change. The “common clock” of the network is build on this relationship between the HashPower, the Difficulty and the duration between two consecutive blocks. Indeed, the Block_Difficulty is automatically adjusted by the Blockchain protocol for that the period between two consecutive blocks remain always the same: the variation of the HashPower is compensated by the variation of the Difficulty in order that the period between two consecutive Block remain constant. And because the duration between two block is fixed, any new Block on the chain plays the role of a time-checkpoint allowing miners to re-synchronize their own clock with each other !

In the Bitcoin network, this how the use of block system, PoW block validation and asymmetrical cryptography allow any user to trust this decentralized ledger of transaction called the Blockchain.

Now we all understand how Bitcoin works, let’s understand why we should not want a 100,000$ BTC.

Energy consumption of Bitcoin network is driven by Bitcoin value

The HashPower directly represents the amount of energy that is spent by the miners. And because the Block_Difficulty is dynamically adjusted to the HashPower, one must understand that Block_Difficulty is a linear function of the amount of energy spent by the network to validate block — this means that both quantities evolves at the same pace. Most hill informed individuals think that the number of transactions determines the amount of energy spent by the network, which is understandable because this is the case in traditonal networks such as VISA or PayPal, but in Bitcoin network this is compltely wrong : the network energy consumption depend on the XBT/$ price !

There is indeed a close link between the energy consumed and XBT/$ price because mining costs (electricity and processors) are paid in $, whereas mining revenues (Block_Reward) are received in XBT. As a consequence, the rise in BTC value enhance the total revenue stream associated to mining, but the costs stay still, i.e. the profit margin of mining activity increase ! This asymmetrical growth between cost and revenues incentivize miners to invest more in mining facilities when the XBT/$ price rise – or attract new miners. Those investments drive the HashRate up, and thereafter the mining difficulty rise too. This is shown in the following diagramm :

Because I know that this won’t convince everybody (especially the ones financially motivated to ignore this…) I have calculated both the correlations between the XBT/$ price and the network Hash-rate, and between XBT/$ and Block_Difficulty. To do so, I used data on the period begining the 8th December 2016 and ending the first December 2017. My results are based on 358 daily-value. For the first correlation I have found 0,9143 and 0,9458 for the second one, which is close enough to 1 to prove my point ! I used data from https://blockchain.info/fr/charts and anyone can check those results with a simple CSV export and an Excel spreadsheet — Though the likeness of the curves is noticeable by eye.

So, When Mark Reiser & co advocate for a 100,000$ Bitcoin, we have reason to believe that they are either completely mad or totally incompetent to give analysis on such subjects. As most crypto-investors and anlaysts aren’t computer scientist it is understandable that they missed some points. However, financial analysts often said that XBT/$ price is under or over evaluated by the markets, and some economists defend the idea that Bitcoin is a better form of currency than fiat-money : this is not as forgivable than their misunderstanding of computer science concepts since it’s their area of expertise !

Crypto …. currency ?

First, we must understand that money is currently created by credit :

When a physical or moral person is given a credit by a private bank, the bank asks the central bank to create money that will be loaned to the private bank at a given interest rate, called the reference rate. Then the bank give this money to the credit seeker and apply his interest rate. Since this rate is higher than the reference rate, the bank earn money through his lending activity. As time goes by, the lender reimburse the bank and the bank reimburse the central bank. So, money is created as a debt in our system. This issuance scheme is sound from an economic standpoint, because for the money to have a stable value, i.e. no inflation, money supply has to evolve proportionally to the evolution of the global economic activity, which can be represented by the variation of credit. Those mecanism are more complex in reality but this is the basic idea of what we call “Monetarian Model Theory” or MMT for short.

The good thing with MMT is that it make the money supply evolving as the same pace than credit in the economy, and since credit is supposed to reflect economic growth, governements can thus control inflation. The bad thing with MMT is that it is only adapted to an economic environment in which credit is given to support “the real economy”, which is hardly the case in our economic system. Indeed, our banking system has the bad habit to create debt to support speculative activities. As a consequence, money is flowing to the markets, it creates asset-bubbles and when those bubbles burst we have an economic downturn because nobody is able to reimburse what he owes. This manly for that that modern capitalism is highly unstable.

I want to emphasis the fact that the main goal of this mecanism is to control inflation. Controlling inflation is of the foremost importance because when there is to much volatility on currencies price, people are averse to consume and prefer to speculate, and without consumption all the economic system fails. To put it simply : the more an asset is stable in price the more it is useful as mean of payment, the more its price varies the more it is useful as speculative object. In essence there is no “natural” assets acting as good mean of payment. Gold for example was used for many years as mean of payment because we lacked currency. Gold is better mean of payment than most things because it easy to store it, it doesn’t oxyde, and it is limited in supply. Indeed, the gold-mining pace can be estimated very precisely so everyone can know precisely what will be the total gold supply in the world at any moment. Now that we have quite stable fiat currencies, gold is mostly used as a store of value for the aforementioned reasons. But what is important here, is that fiat-currency is better mean of payment than gold because fiat-currency supply evolves along with the economic growth, meaning that money’s inflation could be controlled whereas inflation on gold can’t be. In consequence, currency has higher usage value as mean of payment and gold as higher usage value as store of value — because most of the time money supply grows faster than gold supply, gold price inflates — or as speculative object.

As Bitcoin is issued at a predefined issuance scheme, totally disconnected of the economic growth, it has more in common with gold than with currency. This is totally normal because Bitcoin’s design was profoundly inspired by the idea of “digital gold”. For the same reasons, Bitcoin has more usage value as store of value/speculative object than mean of payment. This means that Bitcoin and other similar “crypto-currencies” are nothing like a currency. They do not serve the first purpose of payment. In fact “digital gold” may be the better description of Bitcoin. A real crypto-currency would be issued at a pace poportional to the economic growth. And because PoW relies on stable predefined Block_Rewards, no PoW-powered-Blockchain should be associated with the concept of “currency” !

At last, we will analyse the question of the “over/under evaluated Bitcoin” :

Finance Theory give different tools to evaluate the price of an asset. Amongst those tools, one called “Capital Asset Pricing Model” or CAPM is very common and useful for financial analysis. Basically this pricing model fix the value of an asset to the current value of the sum of all the cash-flow it will produce in the future. Obligations and stocks are assessed with this model most of the time. When applied to Bitcoin, CAPM seems to indicate that Bitcoin market price is way to high : the future cash-flow of Bitcoin equal zero — mining revenues are often presented as Bitcoin future cash-flow but those are costs for Bitcoin holders, nothing else — whereas its current value per unit is about 12200$ and its market capitalisation amount to 212 $ billions. But CAPM should not serve as pricing method for Bitcoin because it has more in common with commodities than stocks or obligations. Would you assess coal, gold, copper or euros with CAPM ?

In fine, Bitcoin isn’t really a currency, nor a commodity, nor a classical financial asset such as a debt or a share of equity, but is a “mix” of all those things and thus, Bitcoin should not be analyzed as such. The purpose of Bitcoin technology was to serve as decentralized digital cash. In this it succeeded before Bitcoin’s usage value as speculative object explode — just think of the “silk road” — but now we must acknowledge the fact that Bitcoin is more like a “digital casino” than anything else. Event though, Blockchain Technology is likely to serve as accounting system for many organizations in the future. However, we haven’t seen a real “crypto-currency” yet, especially because “crypto-assets” weren’t design as currencies in the first place. Though, since many would agree that reframing the economical institutions of our world is of great importance for our future, given the current climate urgency or level of inequalities, a real “crypto-currency” could be worth to build. But, such a transformation of our economical institutions could not happen until we first change our understanding of what “money” is : money is a system design to account for everyone’s debts. To faithfully serve this purpose money has to be designed as a public service equally accessible for anyone, which is hardly the case with fiat-money and with Bitcoin-like systems — Miners and founders have a privileged access to money supply. From this understanding, building a robust, decentralized, responsible, comprehensive and healthy accounting system should be feasible. I am convinced that such a global and fair accounting system to serve economic activities is really “the Blockchain killing app”.