The Bitcoin blockchain consists of multiple blocks, where each contains a timestamp and a list of transactions among other information. The transactions of the blockchain form a temporal graph, where the addresses are the vertices and the transactions are the edges. We have captured some statistics about the structure evolution for each individual year and month from 2009 until March of 2017. Below we represent the outcome of our research by creating some interactive visualizations with Chart.js. Clicking on the boxes above each chart will allow you to filter out the results and make comparisons. For each metric we report on the left side the annual results, while on the right side you can observe the distribution through the months of each year. For more information related to our work please refer to the report.
The size of a graph is defined as the total number of edges. The charts below represent the size of the bitcoin transactions graph. The pie chart shows the percentage of the contributed size of each year, to the whole size. Through these charts we are able to understand the evolution of the number of transactions on certain time periods.
Triangle participation ratio is the fraction of vertices in a graph that belong in a triangle. TPR among other metrics is used to provide us an insight of the internal structure of the communities and quantify how well and with which structure are the members of the communities interconnected.
A bridge is defined as an edge whose deletion disconnects the graph and hence is increases the number of connected components. The bridge ratio, is the fraction of the bridges to the total number of the edges and shows the vulnerabilities of a graph. The results on the charts below are incomplete. As we discuss in our report, finding the bridges of a graph is a very heavy computation that needs many hours to complete and a lot of cluster resources.
Clustering coefficient is a measure of the degree to which vertices in a graph tend to cluster together and we can separate it into three versions. The global, is the fraction of the number of the closed triplets to the number of all triplets and it provides us with an overall indication of the clustering. The local refers to a single vertex and shows how close its neighbours are to being a complete graph and finally, the average which is the mean of the local clustering coefficient of all the vertices.
The conductance is the product of minimum conductane of each cut. The graph needs to be divided into K non-overlapping cuts. For each cut, is the fraction of edges going out of the cut to the minimum total edges. Low conductance means that the graph is "well-knit", while high conductance means that there is a bottleneck. To compute conductance we use the 'Label Propagation' algorithm to split the graph into communities. As we discuss in our report, computing the conductance of each community is a very heavy operation. In order to be able to obtain the results we select the top 10 communities in edges and we report the minimum conductance of those communities. Except from the results and the graph visualization below, we also include charts that represent the percentage of the number of edges of the selected communities proportional to the total number of edges of the graph. The graph visualization is related to the community which has the minimum conductance. However, we manage to visualize the communities until 2011 where the file size for the edges is 7.5MBs and the exported .gexf from Gephi is approximately 35MBs.
The chart below demonstrates the combination of all metrics for each year. The purpose of this chart is to make comparisons between the metrics of the bitcoin blockchain transactions graph. We have normalized the values of each metric in order to be able to combine them in a single chart, as they were in a different scale. However, hovering on each bar will reveal the real value.