In this post, we will learn to build a very simple miner in Python. Of course this miner will be comparatively slow and limited and only be useful in our test network, but it will hopefully help to explain the principles behind mining. When we want to mine a block, we first need some information … Continue reading Mining bitcoins with Python

# The Metropolis-Hastings algorithm

In this post, we will investigate the Metropolis-Hastings algorithm, which is still one of the most popular algorithms in the field of Markov chain Monte Carlo methods, even though its first appearence (see [1]) happened in 1953, more than 60 years in the past. It does for instance appear on the CiSe top ten list … Continue reading The Metropolis-Hastings algorithm

# The difficulty in the bitcoin protocol

Mining is a challenge - a miner has to solve a mathematical puzzle to create a valid block and is rewarded with a certain bitcoin amount (12.5 at the time of writing) for investing electricity and computing power. But technology evolves, and the whole mining process would be pointless if the challenge could not be … Continue reading The difficulty in the bitcoin protocol

# Recurrent and ergodic Markov chains

Today, we will look in more detail into convergence of Markov chains - what does it actually mean and how can we tell, given the transition matrix of a Markov chain on a finite state space, whether it actually converges. So suppose that we are given a Markov chain on a finite state space, with … Continue reading Recurrent and ergodic Markov chains

# Merkle trees

Suppose you are given a long file and wanted to use hashing to verify the integrity of the file. How would you do this in the most efficient way? Of course, the first thing that might come to your mind is to simply take a hash of the entire file. This is very easy, but … Continue reading Merkle trees

# Finite Markov chains

In this post, we will look in more detail into an important class of Markov chains - Markov chains on finite state spaces. Many of the subtleties that are present when studying Markov chains in general state spaces do not appear in the finite case, while most of the key ideas and features of Markov … Continue reading Finite Markov chains

# Understanding bitcoin blocks

In order to analyse a block, obviously the first thing that we need is - a block. Fortunately, this is not difficult. We can either use the block explorer hosted by blockchain.info to get the second block in the blockchain in raw or JSON or use curl to retrieve the block from the command line, … Continue reading Understanding bitcoin blocks