I. Introduction
The Bitcoin mining network is designed as a peer-to-peer (P2P) overlay [1], [2], where nodes, named as miners, are randomly connected. Blocks are transmitted over this network using a multi-hop broadcast scheme. That is, a block creator broadcasts his newly mined block to all of his neighbors first. Peers receiving such a new (unseen) block will relay it in the same manner until all nodes receive this block. Given a topology in Fig. 1(a), Fig. 1(b) shows the process how node broadcasts his block (which is found at time 0) in the network. Suppose that the transmission delay is one time step for each node, then ’s block is known by all nodes at time 3. Obviously, this distributed model brings inconsistencies to the Bitcoin system. Since each propagation hop induces a delay, a block reaches different peers at different times. Thus, peers may have different local views of the blockchain during the block propagation process. As a result, some miners are mining on top of the newest block while others are still extending a stale blockchain. It is unfair since uninformed miners may waste their mining power as well as electricity.
Block propagation in the Bitcoin network.