Proof-of-work is a consensus algorithm developed to protect decentralized networks from any malicious activities. The initial concept of PoW was first described in 1993. The two steps of a proof-of-work algorithm are to solve difficult and time consuming tasks and to check the results. Despite the fact those tasks can be solved, they required a large amount of computer power. The difficulty of the tasks varies in order to control the frequency of discovery of the new blocks, which can be found approximately one block in 10 minutes because of the need to synchronize all discovered blocks among the users holding the blockchain. Due to the fact that the process is energy consuming and random, it is impossible to say for sure which Bitcoin-miner will solve the task and discover the block.