  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.
