An algorithm that rewards the first person that solves a computational problem (i.e. mining) to achieve distributed consensus. Miners compete to solve difficult cryptographic puzzles in order to add the next block on the blockchain. It prevents spam and cyber attacks such as DDoS as it requires work (i.e. processing time) from the service requester.