Bitcoin is a electronic payment system where payment transactions are verified and stored in a data structure called the blockchain. Bitcoin miners work individually to solve a computationally intensive problem, and with each solution a Bitcoin block is generated, resulting in a new arrival to the blockchain. The difficulty of the computational problem is updated every 2,016 blocks in order to control the rate at which blocks are generated. In the original Bitcoin paper, it was suggested that the blockchain arrivals occur according to a homogeneous Poisson process. Based on blockchain block arrival data and stochastic analysis of the block arrival process, we demonstrate that this is not the case. We present a refined mathematical model for block arrivals, focusing on both the block arrivals during a period of constant difficulty and how the difficulty level evolves over time.
A Poisson process assumption for the block arrival process has been used in other work. For example, Solat and Potop-Butucaru @cite_4 assumed a (homogeneous) Poisson process for the block arrivals in their paper, where they developed a timestamp-free method for combating attacks such as selfish-mine, although this method does not crucially rely upon the Poisson assumption. Decker and Wattenhofer assumed a (homogeneous) Poisson process over periods where the difficulty is constant in their analysis of the propagation of transactions and blocks through the Bitcoin network @cite_5 . Miller and LaViola @cite_2 also assumed a Poisson process when modelling the Bitcoin system as a means of reaching fault-tolerant consensus.
@cite_5 @cite_4 @cite_2
2057248704 2553353335
Bitcoin is a digital currency that unlike traditional currencies does not rely on a centralized authority. Instead Bitcoin relies on a network of volunteers that collectively implement a replicated ledger and verify transactions. In this paper we analyze how Bitcoin uses a multi-hop broadcast to propagate transactions and blocks through the network to update the ledger replicas. We then use the gathered information to verify the conjecture that the propagation delay in the network is the primary cause for blockchain forks. Blockchain forks should be avoided as they are symptomatic for inconsistencies among the replicas in the network. We then show what can be achieved by pushing the current protocol to its limit with unilateral changes to the client's behavior. Bitcoin was recently introduced as a peer-to-peer electronic currency in order to facilitate transactions outside the traditional financial system. The core of Bitcoin, the Blockchain, is the history of the transactions in the system maintained by all miners as a distributed shared register. New blocks in the Blockchain contain the last transactions in the system and are added by miners after a block mining process that consists in solving a resource consuming proof-of-work (cryptographic puzzle). The reward is a motivation for mining process but also could be an incentive for attacks such as selfish mining. In this paper we propose a solution for one of the major problems in Bitcoin : selfish mining or block-withholding attack. This attack is conducted by adversarial or selfish miners in order to either earn undue rewards or waste the computational power of honest miners. Contrary to recent solutions, our solution, ZeroBlock, prevents block-withholding using a technique free of timestamp that can be forged. Moreover, we show that our solution is compliant with nodes churn.