I. Introduction
Bitcoin blockchain [1] was an ingenious way for distributed systems to reach consensus with high probability. The basic idea is that in each time period (about 10 minutes), it is most likely to have one node who solved a puzzle in the ideal situation, although forks might arise temporarily mainly due to network delay. The puzzle is based on a one-way function and requires the output to have an adjustable length of leading 0’s. This process resembles random sampling from the population. The chances of being selected as the next leader are proportional to the computational power possessed. Therefore, as long as the population of good nodes has more than of the total computational power, over the long term, the valid hash chain will outpace invalid chains with high probability.