Modelling the Bitcoin blockchain: what can probability and statistics teach us?
In 2009 the pseudononymous Satoshi Nakamoto published a short paper on the Internet, together with accompanying software, that proposed an `electronic equivalent of cash’ called Bitcoin. At its most basic level, Bitcoin is a payment system where transactions are verified and stored in a distributed data structure called the blockchain. The Bitcoin system allows electronic transfer of funds without the presence of a trusted third party. It achieves this by making it `very hard work’ to create the payment record, so that it is not computationally-feasible for a malicious player to repudiate a transaction and create a forward history with the transaction deleted.
The Nakamoto paper contained a simple model used to show that the above-mentioned malicious player would be very unlikely to succeed. Unfortunately, this calculation contained an error, which I shall quickly discuss and show how to correct.
As its name suggests, the blockchain is comprised of discrete blocks. Blocks are added to the blockchain by “miners” working across a distributed peer-to-peer network to solve a computationally difficult problem. With reference to historical data, I shall describe some models for the block mining process. I shall finish with some brief comments about how stochastic modelling can be used to address the current concerns that the transaction processing rate of the Bitcoin system is not high enough.